diff --git a/src/views/system/user.vue b/src/views/system/user.vue
index 20fcb3b..53f3997 100644
--- a/src/views/system/user.vue
+++ b/src/views/system/user.vue
@@ -172,6 +172,21 @@
/>
+
+
+
+
+
@@ -592,6 +607,26 @@ export default {
this.$refs.userFormRef?.validateField('deptId');
},
},
+ // 数据管理权限多选级联:form.dataScopeDeptIds 为 id 数组
+ dataScopeCascaderValue: {
+ get() {
+ const ids = Array.isArray(this.form.dataScopeDeptIds)
+ ? this.form.dataScopeDeptIds
+ : this.form.dataScopeDeptIds
+ ? String(this.form.dataScopeDeptIds).split(',').filter(Boolean)
+ : [];
+ return ids
+ .filter(item => item !== undefined && item !== null && item !== '')
+ .map(item => (typeof item === 'number' ? item : String(item)));
+ },
+ set(value) {
+ this.form.dataScopeDeptIds = Array.isArray(value)
+ ? value.filter(item => item !== undefined && item !== null && item !== '')
+ : value
+ ? [value]
+ : [];
+ },
+ },
isUserViewMode() {
return this.userDialogMode === 'view';
},
@@ -1034,6 +1069,7 @@ export default {
sex: undefined,
postId: '',
deptId: [],
+ dataScopeDeptIds: [],
code: '',
personCategory: 1,
remark: '',
@@ -1046,9 +1082,13 @@ export default {
getUser(row.id).then(res => {
const user = res.data.data;
const deptIds = func.split(user.deptId || '');
+ const dataScopeDeptIds = Array.isArray(user.dataScopeDeptIds)
+ ? user.dataScopeDeptIds.map(item => String(item))
+ : [];
this.form = {
...user,
deptId: Array.isArray(deptIds) ? deptIds : [],
+ dataScopeDeptIds,
postId: func.split(user.postId || '')[0] || '',
roleId: func.join(user.roleId || ''),
personCategory: user.personCategory || 1,
@@ -1064,9 +1104,13 @@ export default {
submitUserForm() {
this.$refs.userFormRef.validate(valid => {
if (!valid) return;
+ const dataScopeDeptIds = Array.isArray(this.form.dataScopeDeptIds)
+ ? this.form.dataScopeDeptIds.filter(item => item !== undefined && item !== null && item !== '')
+ : [];
const row = {
...this.form,
deptId: func.join(this.form.deptId),
+ dataScopeDeptIds,
postId: func.join(this.form.postId),
roleId: func.join(this.form.roleId),
leaderId: func.join(this.form.leaderId),