Parcourir la source

修改角色选择框及角色管理bug

zhuliu il y a 3 ans
Parent
commit
427dd22f97

+ 9 - 1
src/views/department/index.vue

@@ -73,7 +73,7 @@
         <el-form-item label="部门名称" prop="name">
           <el-input v-model="ruleForm.name" placeholder="请输入部门名称"></el-input>
         </el-form-item>
-            <el-form-item label="角色" prop="role">
+            <el-form-item label="角色" prop="role" class="role">
             <el-select v-model="ruleForm.role" 
             filterable
             multiple
@@ -234,6 +234,14 @@ export default {
     getRoleList(){
         this.$api.getRoleList().then(response => {
         this.roleList = response.data
+        var a = this.userinfo.rList.findIndex((item) => {
+							return item.roleId == 1;
+							});
+							if(a == -1){
+								this.roleList[0].disabled=true
+							}else{
+								this.roleList[0].disabled=false
+							}
       })
     },
     submit() {

+ 14 - 1
src/views/group/index.vue

@@ -68,7 +68,7 @@
           </el-select>
           <!-- <el-input v-model="ruleForm.users" placeholder="请输入组员"></el-input> -->
         </el-form-item>
-         <el-form-item label="角色" prop="role">
+         <el-form-item label="角色" prop="role" class="role">
           <el-select v-model="ruleForm.role" multiple collapse-tags placeholder="请选择角色" style="width:100%">
             <el-option
               v-for="item in roleList"
@@ -125,6 +125,11 @@ export default {
     this.getUserList()
     this.getRoleList()
   },
+  computed: {
+    userinfo() {
+      return this.$store.state.admin.userinfo
+    }
+  },
   methods: {
     normalizer(node) {
       return {
@@ -160,6 +165,14 @@ export default {
     getRoleList(){
       this.$api.getRoleList().then(response => {
         this.roleList = response.data 
+        var a = this.userinfo.rList.findIndex((item) => {
+							return item.roleId == 1;
+							});
+							if(a == -1){
+								this.roleList[0].disabled=true
+							}else{
+								this.roleList[0].disabled=false
+							}
       })
     },
     getList() {

+ 3 - 0
src/views/layout/index.vue

@@ -163,6 +163,9 @@ export default {
 }
 </script>
 <style lang="scss">
+  .role .el-icon-close{
+		display: none;
+	}
 .el-button-group .el-button--primary:first-child{
   padding: 0;
   p{

+ 9 - 1
src/views/position/index.vue

@@ -69,7 +69,7 @@
         <el-form-item label="职位名称" prop="position">
           <el-input v-model="ruleForm.position" placeholder="请输入职位名称"></el-input>
         </el-form-item>
-             <el-form-item label="角色" prop="role">
+             <el-form-item label="角色" prop="role" class="role">
             <el-select v-model="ruleForm.role" 
             filterable
             multiple
@@ -194,6 +194,14 @@ export default {
     getRoleList(){
       this.$api.getRoleList().then(response => {
         this.roleList = response.data
+        var a = this.userinfo.rList.findIndex((item) => {
+							return item.roleId == 1;
+							});
+							if(a == -1){
+								this.roleList[0].disabled=true
+							}else{
+								this.roleList[0].disabled=false
+							}
       })
     },
     submit() {

+ 9 - 4
src/views/role/index.vue

@@ -208,14 +208,17 @@ export default {
     },
     premissSubmit() {
       if(this.permissionData.filter(item=>item.functionId == this.pdata.functionId)[0]){
+        // console.log(this.pdata.data)
         if(this.pdata.data){
           this.permissionData.filter(item=>item.functionId == this.pdata.functionId)[0].data = this.pdata.data
         }else{
           //  console.log(this.permissionData)
-          var index = this.permissionData.findIndex((item) => {
-              return item.functionId == this.pdata.functionId;
-            });
-        this.permissionData.splice(index,1)
+        //   var index = this.permissionData.findIndex((item) => {
+        //       return item.functionId == this.pdata.functionId;
+        //     });
+        //     // console.log(index)
+        // this.permissionData.splice(index,1)
+        this.permissionData.filter(item=>item.functionId == this.pdata.functionId)[0].data = {}
         }
         
       }else{
@@ -324,6 +327,7 @@ export default {
       }
     },
     handleEdit(row) {
+      // console.log(row)
       this.title = '编辑角色'
       this.visible = true
       this.ruleForm = { ...row }
@@ -347,6 +351,7 @@ export default {
       this.visible = false
       this.permissionData = []
       this.checkList = []
+      this.getList()
     },
   
     premissClose() {

+ 18 - 3
src/views/user/index.vue

@@ -425,11 +425,11 @@
 						</el-form-item>
 					</el-col>
 					<el-col :span="12">
-						<el-form-item label="所属角色" prop="role">
+						<el-form-item label="所属角色" prop="role" class="role">
 							<el-select
 								v-model="ruleForm.role"
 								multiple
-								collapse-tags
+								collapse-tags	
 								placeholder="请选择所属角色"
 							>
 								<el-option
@@ -437,6 +437,7 @@
 									:key="item.id"
 									:label="item.name"
 									:value="item.id"
+									:disabled="item.disabled"
 								>
 								</el-option>
 							</el-select>
@@ -557,6 +558,7 @@
 <script>
 	import Treeselect from "@riophae/vue-treeselect"
 	import "@riophae/vue-treeselect/dist/vue-treeselect.css"
+import ret from "bluebird/js/release/util";
 	export default {
 		components: {
 			Treeselect
@@ -765,6 +767,16 @@
 			getRoleList() {
 				this.$api.getRoleList().then((response) => {
 					this.roleList = response.data;
+					var a = this.userinfo.rList.findIndex((item) => {
+							return item.roleId == 1;
+							});
+							if(a == -1){
+								this.roleList[0].disabled=true
+							}else{
+								this.roleList[0].disabled=false
+							}
+					
+				
 				});
 			},
 			showInputLabel() {
@@ -901,7 +913,9 @@
 		},
 	};
 </script>
-
+<style>
+	
+</style>
 <style lang="scss" scoped>
 	.el-tag + .el-tag {
 		margin-left: 10px;
@@ -911,4 +925,5 @@
 	.marginB {
 		margin-bottom: 0;
 	}
+	
 </style>