Browse Source

角色权限

tanyanfei 1 year ago
parent
commit
8eff214d50
1 changed files with 31 additions and 3 deletions
  1. 31 3
      src/views/user/role.vue

+ 31 - 3
src/views/user/role.vue

@@ -86,7 +86,7 @@
 		    placeholder="请选择"
 		    clearable
 		    filterable>
-			<el-option label="系统角色" value="1"></el-option>
+			<el-option label="系统角色" :value="1"></el-option>
 		  </el-select>
 		</el-form-item>
 		<el-form-item label="所属学校" prop="school_id">
@@ -105,6 +105,17 @@
 		    </el-option>
 		  </el-select>
 		</el-form-item>
+		<el-form-item  label="权限" prop="permissions">
+			<el-tree
+			  ref="tree"
+			  :data="permissionList"
+			  show-checkbox
+			  :default-expand-all='true'
+			  node-key="code"
+			  :default-checked-keys="permissions"
+			  :props="defaultProps">
+			</el-tree>
+		</el-form-item>
 	  </el-form>
 	  <div slot="footer" class="dialog-footer">
 	    <el-button type="primary" @click="submitForm">保存</el-button>
@@ -134,8 +145,13 @@ export default {
       open: false,
 	  schoolList:[],
       permissionList: [],
+	  permissions:[],
       rules: {},
-	  ids:''
+	  ids:'',
+	  defaultProps: {
+	        children: 'children',
+	        label: 'name'
+	  }
     };
   },
   methods: {
@@ -185,7 +201,7 @@ export default {
 		  this.schoolList = res.data.data.list;
 		});
 		this.$api.permissionList().then((res) => {
-		  this.permissionList = res.data.data.list;
+		  this.permissionList = res.data.data;
 		});
 	},
     getData() {
@@ -204,10 +220,22 @@ export default {
     edit(item) {
       this.title = "编辑";
       this.form = item;
+	  if(item.permissions){
+		this.permissions=item.permissions.split(',')  
+	  }
       this.open = true;
     },
     /** 提交按钮 */
     submitForm() {
+		// console.log(this.$refs.tree.getCheckedNodes());
+	  let per=this.$refs.tree.getCheckedNodes()
+	  let permissions=[]
+	  if(per.length > 0){
+		  per.forEach(item=>{
+		  		permissions.push(item.code)
+		  })
+		  this.form.permissions=permissions.join(',')
+	  }
       this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.id != null) {