From af08dae54f74aa9a94f82f298410165fa9b7b614 Mon Sep 17 00:00:00 2001 From: yinbangzhong <zhongbangyin@126.com> Date: 星期三, 04 九月 2024 13:56:02 +0800 Subject: [PATCH] 单文档 --- src/views/authority/users/index.vue | 99 +++++++++++++++++++++++++++++++++++-------------- 1 files changed, 70 insertions(+), 29 deletions(-) diff --git a/src/views/authority/users/index.vue b/src/views/authority/users/index.vue index 55d397e..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,8 +336,8 @@ let checkStrictlyKnowledge = ref([]); let checkStrictlyDialog = ref([]); let checkStrictlyAgent = ref([]); + let checkStrictlyDeptRole = ref([]); let formRef = ref(); - let menuTips = ref(['鏉冮檺绠$悊', '璐﹀彿']); type SizeProps = 'mini' | 'small' | 'medium' | 'large'; @@ -355,7 +365,7 @@ loginName: '', userName: '', psw: '', - role: '', + role: [], }); let size = ref<SizeProps>('medium'); @@ -377,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; } }); @@ -448,13 +468,12 @@ const statusChange = async (value, record) => { if (record?.dept) { - await Userstatus(record.userId, value).then((res) => { - }); + await Userstatus(record.userId, value).then((res) => {}); } else { - record.status = "0"; + record.status = '0'; Modal.warning({ title: '鎻愮ず', - content: '濡傛兂鍚敤鐢ㄦ埛锛岄渶杩涜閮ㄩ棬閰嶇疆.' + content: '濡傛兂鍚敤鐢ㄦ埛锛岄渶杩涜閮ㄩ棬閰嶇疆.', }); } }; @@ -490,21 +509,23 @@ ...editform.value, } as unknown as User).then((res) => { fetchData(); - uuu=res.data; + uuu = res.data; }); } else { await UserAdd({ ...editform.value, } as unknown as User).then((res) => { fetchData(); - uuu=res.data; + 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 = () => { @@ -542,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; @@ -549,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); + }) } } //鍒犻櫎 @@ -627,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