From ff0ae974a1c561eaf2915988dac63cd066af189f Mon Sep 17 00:00:00 2001 From: yinbangzhong <zhongbangyin@126.com> Date: 星期四, 12 九月 2024 09:23:44 +0800 Subject: [PATCH] bug fix --- src/views/authority/users/index.vue | 87 ++++++++++++++++++++++++++++++++----------- 1 files changed, 65 insertions(+), 22 deletions(-) diff --git a/src/views/authority/users/index.vue b/src/views/authority/users/index.vue index 31be36a..37aeefe 100644 --- a/src/views/authority/users/index.vue +++ b/src/views/authority/users/index.vue @@ -171,12 +171,11 @@ </a-col> <a-col :span="10"> <a-form-item - required field="role" label="瑙掕壊" - :rules="[{ required: true, message: '瑙掕壊蹇呴��' }]" > <a-select + multiple v-model="editform.role" :options="roles" :field-names="fieldNames" @@ -217,17 +216,28 @@ > </a-tree> </a-card> - <a-card class="card-demo" title="鐢ㄦ埛鎵�灞炴満鏋�" hoverable> - <a-space wrap> - <a-tag - v-for="(tag, index) of checkStrictly" - :key="tag.deptId" - @close="handleRemove(tag)" - > - {{ tag.deptName }} - </a-tag> - </a-space> - </a-card> + <div :style="{ 'display': 'flex', 'flex-direction': 'column' }"> + <a-card class="card-demo" title="鐢ㄦ埛鎵�灞為儴闂�" :style="{ 'width': '460px', 'height': '500px', 'overflow-y': 'auto' }"> + <a-space wrap> + <a-tag + v-for="(tag, index) of checkStrictly" + :key="tag.deptId" + > + {{ tag.deptName }} + </a-tag> + </a-space> + <a-divider /> + <a-space wrap> + 閮ㄩ棬瑙掕壊: + <a-tag + v-for="(tag, index) of checkStrictlyDeptRole" + :key="tag.roleId" + > + {{ tag.roleName }} + </a-tag> + </a-space> + </a-card> + </div> </div> </a-modal> <a-modal @@ -326,6 +336,7 @@ let checkStrictlyKnowledge = ref([]); let checkStrictlyDialog = ref([]); let checkStrictlyAgent = ref([]); + let checkStrictlyDeptRole = ref([]); let formRef = ref(); let menuTips = ref(['鏉冮檺绠$悊', '璐﹀彿']); @@ -354,7 +365,7 @@ loginName: '', userName: '', psw: '', - role: '', + role: [], }); let size = ref<SizeProps>('medium'); @@ -376,12 +387,22 @@ const onCheck = (newCheckedKeys, event) => { let o = { deptId: event.node.deptId, deptName: event.node.deptName }; if (event.checked) { + event.node.roles.forEach( + (val) => { + checkStrictlyDeptRole.value.push(val); + } + ); checkStrictly.value.push(o); } else { checkStrictly.value.forEach((val, idx, array) => { // val: 褰撳墠鍊� if (val.deptId == event.node.deptId) { checkStrictly.value.splice(idx, 1); + checkStrictlyDeptRole.value.forEach((val2, idx2, array2) => { + if (val2.deptId == event.node.deptId) { + checkStrictlyDeptRole.value.splice(idx2, 1); + } + }); return true; } }); @@ -498,11 +519,13 @@ uuu = res.data; }); } - deptvisible.value = true; - checkedKeys.value = []; - expandKdys.value = []; - checkStrictly.value = []; - selectUser.value = uuu; + if (uuu.dept?false:true) { + deptvisible.value = true; + checkedKeys.value = []; + expandKdys.value = []; + checkStrictly.value = []; + selectUser.value = uuu; + } } }; const editHandleOk = () => { @@ -540,6 +563,7 @@ if (t == 2) { visible.value = true; formRef.value?.resetFields(); + editform.value.role=[]; save.value = '缂栬緫'; editform.value.userId = record.userId; editform.value.userName = record.userName; @@ -547,7 +571,10 @@ editform.value.email = record.email; editform.value.phoneNumber = record.phoneNumber; if (record.roles?.length > 0) { - editform.value.role = record.roles[0].roleId; + //閬嶅巻record.roles + record.roles.forEach((val) => { + editform.value.role.push(val.roleId); + }) } } //鍒犻櫎 @@ -625,16 +652,32 @@ checkedKeys.value = []; expandKdys.value = []; checkStrictly.value = []; + checkStrictlyDeptRole.value=[]; selectUser.value = record; - expandKdys.value.push('0'); + expandKdys.value.push("0"); if (record?.dept) { record.dept.forEach((val) => { checkStrictly.value.push({ deptId: val.deptId, - deptName: val.deptName, + deptName: val.deptName }); checkedKeys.value.push(val.deptId); expandKdys.value.push(val.deptId); + record.roles.forEach( + (r) => { + if (r.dept) { + r.dept.forEach((d) => { + if (d.deptId == val.deptId) { + checkStrictlyDeptRole.value.push({ + roleId: r.roleId, + roleName: r.roleName, + deptId:d.deptId, + }); + } + }); + } + } + ); }); } } -- Gitblit v1.8.0