Browse Source

客户申请解冻\l领取权限选择fix

jwyu 1 year ago
parent
commit
d6cbe6dd86
1 changed files with 23 additions and 5 deletions
  1. 23 5
      src/views/custom_manage/compontents/FreezAuthList.vue

+ 23 - 5
src/views/custom_manage/compontents/FreezAuthList.vue

@@ -4,9 +4,9 @@
 		<h3>请选择需要开通试用的品种:</h3>
 		<ul class="menu_lists">
 			<li v-for="item in autharr" :key="item.ClassifyName" class="menu_item">
-				<el-checkbox :indeterminate="item.isIndeterminate" v-model="item.checkAll" :disabled="item.ClassifyName==='宏观经济'" style="marginRight:30px;fontWeight:bold;minWidth:90px;" @change="handleCheckAll(item)">{{item.ClassifyName+':'}}</el-checkbox>
+				<el-checkbox :indeterminate="item.isIndeterminate" v-model="item.checkAll" :disabled="setSelectPerDisabled(item)" style="marginRight:30px;fontWeight:bold;minWidth:90px;" @change="handleCheckAll(item)">{{item.ClassifyName+':'}}</el-checkbox>
 				<el-checkbox-group v-model="item.CheckList"  @change="handleChecked(item)">
-					<el-checkbox v-for="list in item.Items" :label="list.ChartPermissionId" :key="list.ChartPermissionId" class="list_item" :disabled="list.ChartPermissionId===1" >{{list.PermissionName}}</el-checkbox>
+					<el-checkbox v-for="list in item.Items" :label="list.ChartPermissionId" :key="list.ChartPermissionId" class="list_item" :disabled="list.IsPublic===1" >{{list.PermissionName}}</el-checkbox>
 				</el-checkbox-group>
 			</li>
 		</ul>
@@ -29,12 +29,24 @@ export default {
 	methods: {
 		/* 选择全选或取消全选 */
 		handleCheckAll(item) {
-			// 取到所有的子菜单id
+			// // 取到所有的子菜单id
+			// let ids = item.Items.map(item =>{
+			// 	return item.ChartPermissionId
+			// })
+			// item.CheckList = item.checkAll ? ids : [];
+			// item.isIndeterminate = false;
+			//获取公有的id合集
+			let publicIds=[]
+
+			
 			let ids = item.Items.map(item =>{
+				if(item.IsPublic==1){
+					publicIds.push(item.ChartPermissionId)
+				}
 				return item.ChartPermissionId
 			})
-			item.CheckList = item.checkAll ? ids : [];
-			item.isIndeterminate = false;
+			item.CheckList = item.checkAll ? ids : publicIds;	
+        	item.isIndeterminate = publicIds.length>0&&!item.checkAll?true:false;
 		},
 		/* 复选框組选中时 */
 		handleChecked(item) {
@@ -42,6 +54,12 @@ export default {
 			item.checkAll = len === item.Items.length;
 			item.isIndeterminate = len > 0 && len < item.Items.length;
 		},
+		//控制权限设置是否禁用编辑
+		setSelectPerDisabled(data){
+			if(!data) return true
+			const arr=data.Items?data.Items.filter(_e=>_e.IsPublic==1):[]
+			return arr.length==data.Items.length
+		}
 	},
 	mounted() {},
 }