From cfff2cc73dfa7da3690c707dc8c5cf5e5d011c0d Mon Sep 17 00:00:00 2001
From: cwchen <1048842385@qq.com>
Date: Mon, 1 Sep 2025 09:30:36 +0800
Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86=E3=80=81?=
=?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/system/role/index.vue | 10 ++-
src/views/system/user/prop/userForm.vue | 84 +++++++++++++++++--------
2 files changed, 66 insertions(+), 28 deletions(-)
diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index 5a9cd30..624a1da 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -278,7 +278,9 @@ export default {
status: undefined
},
// 表单参数
- form: {},
+ form: {
+ roleLevelObj:null
+ },
defaultProps: {
children: 'children',
label: 'label'
@@ -396,7 +398,8 @@ export default {
deptIds: [],
menuCheckStrictly: true,
deptCheckStrictly: true,
- remark: undefined
+ remark: undefined,
+ roleLevelObj:null
}
this.resetForm('form')
},
@@ -530,10 +533,11 @@ export default {
submitForm: function () {
this.$refs['form'].validate(valid => {
if (valid) {
+ console.log(this.form.roleLevelObj);
+
this.form.roleLevel = this.form.roleLevelObj.value;
this.form.roleLevelName = this.form.roleLevelObj.label;
this.form.roleLevelTips = this.roleLevelTips;
- delete this.form.roleLevelObj;
if (this.form.roleId != undefined) {
this.form.menuIds = this.getMenuAllCheckedKeys()
updateRole(this.form).then(response => {
diff --git a/src/views/system/user/prop/userForm.vue b/src/views/system/user/prop/userForm.vue
index f228c9b..a31661f 100644
--- a/src/views/system/user/prop/userForm.vue
+++ b/src/views/system/user/prop/userForm.vue
@@ -15,7 +15,7 @@
item.label }}
-
+
{{ item.name }}
@@ -26,27 +26,27 @@
{{ selectedLevel }}
-
-
+
+
-
-
+
-
-
+
+
-
-
+
+
@@ -94,6 +94,10 @@ export default {
status: '0',
role: null,
bandObj: null,
+ bandObj2: null,
+ bandObj3: null,
+ bandObj4: null,
+ bandObj5: null,
},
rules: {
userName: [
@@ -108,10 +112,19 @@ export default {
{ required: true, message: '姓名不能为空', trigger: 'blur' }
],
role: [
- { required: true, message: '角色不能为空', trigger: 'blur' }
+ { required: true, message: '角色不能为空', trigger: 'change' }
],
- bandObj: [
- { required: true, message: '不能为空', trigger: 'blur' }
+ bandObj2: [
+ { required: true, message: '分公司不能为空', trigger: 'change' }
+ ],
+ bandObj3: [
+ { required: true, message: '项目部不能为空', trigger: 'change' }
+ ],
+ bandObj4: [
+ { required: true, message: '分包商不能为空', trigger: 'change' }
+ ],
+ bandObj5: [
+ { required: true, message: '工程不能为空', trigger: 'change' }
]
},
};
@@ -135,9 +148,12 @@ export default {
const selectedRole = this.roleArr.find(item => item.value === selectedValue.value);
this.selectedLevel = selectedRole ? selectedRole.level : "";
this.permissionType = selectedRole ? selectedRole.levelType : "";
- delete this.form.bandObj;
if(selectedValue.levelType === '1'){
this.form.bandObj = {name:'公司',value:'0'};
+ }else{
+ for (let index = 2; index <= 5; index++) {
+ this.$set(this.form, 'bandObj' + index, null);
+ }
}
},
findItemById(tree, id) {
@@ -226,27 +242,27 @@ export default {
nickName: obj.nickName,
sex: obj.sex,
status: obj.status,
+ bandObj: null,
+ bandObj2: null,
+ bandObj3: null,
+ bandObj4: null,
+ bandObj5: null,
}
const permissionType = obj.permissionType;
this.selectedLevel = obj.roleLevel;
const selectedRole = this.roleArr.find(item => item.value === obj.roleId);
this.form.role = selectedRole;
- let selectObj = null;
if (permissionType === '2') {
- selectObj = this.compamyArr.find(item => item.value === obj.bandId);
+ this.form.bandObj2 = this.compamyArr.find(item => item.value === obj.bandId);
} else if (permissionType === '3') {
- selectObj = this.findItemById(this.departArr, obj.bandId)
+ this.form.bandObj3 = this.findItemById(this.departArr, obj.bandId)
} else if (permissionType === '4') {
- selectObj = this.subArr.find(item => item.value === obj.bandId);
+ this.form.bandObj4 = this.subArr.find(item => item.value === obj.bandId);
} else if (permissionType === '5') {
- selectObj = this.proArr.find(item => item.value === obj.bandId);
+ this.form.bandObj5 = this.proArr.find(item => item.value === obj.bandId);
}else{
- selectObj = {name:'公司',value:'0'}
+ this.form.bandObj = {name:'公司',value:'0'}
}
- if(selectObj){
- this.form.bandObj = selectObj;
- }
-
this.permissionType = permissionType;
}).catch(error => {
@@ -297,13 +313,31 @@ export default {
target: this.$el.querySelector('.el-dialog') || document.body
})
let params = _.cloneDeep(this.form);
- params.bandId = params.bandObj.id || params.bandObj.value;
- params.permissionRange = params.bandObj.name || params.bandObj.label;
+ if(this.permissionType === '1'){
+ params.bandId = params.bandObj.id || params.bandObj.value;
+ params.permissionRange = params.bandObj.name || params.bandObj.label;
+ }else if(this.permissionType === '2'){
+ params.bandId = params.bandObj2.id || params.bandObj2.value;
+ params.permissionRange = params.bandObj2.name || params.bandObj2.label;
+ }else if(this.permissionType === '3'){
+ params.bandId = params.bandObj3.id || params.bandObj3.value;
+ params.permissionRange = params.bandObj3.name || params.bandObj3.label;
+ }else if(this.permissionType === '4'){
+ params.bandId = params.bandObj4.id || params.bandObj4.value;
+ params.permissionRange = params.bandObj4.name || params.bandObj4.label;
+ }else if(this.permissionType === '5'){
+ params.bandId = params.bandObj5.id || params.bandObj5.value;
+ params.permissionRange = params.bandObj5.name || params.bandObj5.label;
+ }
params.roleId = params.role.value || '';
params.roleName = params.role.name || '';
params.roleLevel = this.selectedLevel || '';
params.permissionType = this.permissionType || '';
delete params.bandObj;
+ delete params.bandObj2;
+ delete params.bandObj3;
+ delete params.bandObj4;
+ delete params.bandObj5;
delete params.role;
if (this.isAdd === 'add') {
addUser(params).then(res => {