tanyanfei 5 lat temu
rodzic
commit
bfdb9b38c5
2 zmienionych plików z 46 dodań i 34 usunięć
  1. 41 33
      src/views/Home.vue
  2. 5 1
      src/views/system/AddAccount.vue

+ 41 - 33
src/views/Home.vue

@@ -23,41 +23,41 @@
 		</el-header>
 		<el-container class="main">
 			<!-- 左侧菜单 -->
-			<el-aside class="left-aside" width="210px">
-           <el-menu :unique-opened='true'  :default-active="$route.path" router class="left-menue" active-text-color="#ffffff">
-            <template v-for="(item, index) in $router.options.routes">
-            	<template v-if="index != 3">
-					<el-menu-item v-if='item.show&&item.isLeaf' :index="item.path"  :key='index'>
-						<i :class="item.icon"></i>
-						<span slot="title">{{item.name}}</span>
-					</el-menu-item>
-					<el-submenu v-if='item.show&&!item.isLeaf' :index="'index_'+index"  :key='index'>
-						<template slot="title">
-						<i :class="item.icon"></i>
-						<span>{{item.name}}</span>
-						</template>
-						<el-menu-item-group>
-							<el-menu-item class="child" v-for="(child,idx) in item.children" :key="index+'_'+idx" :index="child.path" v-show='!child.hide'>
-							{{child.name}}
+			<el-aside class="left-aside" width="210px" v-if='info.id'>
+				<el-menu :unique-opened='true'  :default-active="$route.path" router class="left-menue" active-text-color="#ffffff">
+					<template v-for="(item, index) in $router.options.routes">
+						<template v-if="index != 3">
+							<el-menu-item v-if='item.show&&item.isLeaf' :index="item.path"  :key='index' v-show="permission(item.name)">
+								<i :class="item.icon"></i>
+								<span slot="title">{{item.name}}</span>
 							</el-menu-item>
-						</el-menu-item-group>
-					</el-submenu>
-			  	</template>
-				<template v-else>
-					<el-submenu v-for="(sub,id) in menu" :index="'index_'+index+'_'+id"  :key='index+"_"+id'>
-						<template slot="title">
-						<i :class="sub.icon"></i>
-						<span>{{sub.name}}</span>
+							<el-submenu v-if='item.show&&!item.isLeaf' v-show="permission(item.name)" :index="'index_'+index"  :key='index'>
+								<template slot="title">
+								<i :class="item.icon"></i>
+								<span>{{item.name}}</span>
+								</template>
+								<el-menu-item-group>
+									<el-menu-item class="child" v-for="(child,idx) in item.children" :key="index+'_'+idx" :index="child.path" v-show='!child.hide'>
+									{{child.name}}
+									</el-menu-item>
+								</el-menu-item-group>
+							</el-submenu>
 						</template>
-						<el-menu-item-group>
-							<el-menu-item class="child" v-for="(child,idx) in sub.children" :key="index+'_'+idx" :index="child.path">
-							{{child.name}}
-							</el-menu-item>
-						</el-menu-item-group>
-					</el-submenu>
-				</template>
-            </template>
-          </el-menu>
+						<template v-else>
+							<el-submenu v-for="(sub,id) in menu" v-show="permission(sub.name)" :index="'index_'+index+'_'+id"  :key='index+"_"+id'>
+								<template slot="title">
+								<i :class="sub.icon"></i>
+								<span>{{sub.name}}</span>
+								</template>
+								<el-menu-item-group>
+									<el-menu-item class="child" v-for="(child,idx) in sub.children" :key="index+'_'+idx" :index="child.path">
+									{{child.name}}
+									</el-menu-item>
+								</el-menu-item-group>
+							</el-submenu>
+						</template>
+					</template>
+				</el-menu>
 			</el-aside>
 			<!-- 右侧内容 -->
 			<el-container>
@@ -89,6 +89,14 @@ export default {
 				this.$router.push({path:'/login'})
 			})
 		},
+		permission(name){
+			let permissions=this.info.permissions||''
+			if(permissions.indexOf(name)<0){
+				return false;
+			}else{
+				return true;
+			}	
+		},
 		getData(){
 			this.$api.getInfo().then(res=>{
 				this.info=res.data.data

+ 5 - 1
src/views/system/AddAccount.vue

@@ -27,7 +27,7 @@
           <el-input placeholder="手机" v-model="form.phone"></el-input>
         </el-form-item>
         <el-form-item label="权限">
-          <el-select v-model="form.permissions" multiple placeholder="请选择">
+          <el-select v-model="form.permission" multiple placeholder="请选择">
             <el-option
               v-for="(item,index) in permissions"
               :key="index"
@@ -61,11 +61,15 @@ export default {
     getData() {
       this.$api.getAccountById({ id: this.form.id }).then(res => {
         this.form = res.data.data;
+        if(res.data.data.permissions){
+          this.form.permission=res.data.data.permissions.split(',')
+        }
       });
 
     },
     save() {
       var parm = this.form;
+      parm.permissions=this.form.permission.join(',')
       if (parm.id) {
         // debugger;
         this.$api.editAccount(parm).then(res => {