From 56accadae8d1ecafe1c8b62a8f024c2aeebcbb7c Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: 星期一, 25 八月 2025 09:24:20 +0800
Subject: [PATCH] 修改新增
---
src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue | 57 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 47 insertions(+), 10 deletions(-)
diff --git a/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue b/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue
index a3a7a50..7bba3b4 100644
--- a/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue
@@ -164,6 +164,24 @@
<el-form-item label="专业:" prop="post" v-if="state.title !== '修改密码' && state.form.userType !== 0">
<el-input v-model.trim="state.form.post" :disabled="disabled" placeholder="请输入专业"></el-input>
</el-form-item>
+ <el-form-item label="角色:" prop="roles" v-if="state.title !== '修改密码'">
+ <el-select
+ clearable
+ v-model="state.form.roles"
+ filterable
+ :disabled="disabled"
+ placeholder="请选择角色"
+ multiple
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in state.roleList"
+ :key="item.roleId"
+ :label="item.roleName"
+ :value="item.roleId"
+ />
+ </el-select>
+ </el-form-item>
</el-form>
<template #footer v-if="state.title !='查看'">
<span class="dialog-footer">
@@ -207,7 +225,7 @@
const validateUserPhone = (rule, value, callback)=>{
if(value === ''){
- callback()
+ callback(new Error('请输入手机号'))
}else{
if(!verifyPhone(value)){
callback(new Error('手机号格式有误'))
@@ -295,7 +313,8 @@
post: '',
age: null,
personType: null,
- positional: ''
+ positional: '',
+ roles: []
},
formRules:{
name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
@@ -304,16 +323,18 @@
username: [{ required: true, message: '请选择用户名', trigger: 'blur' }],
password: [{ required: true, validator: validatePwd, trigger: 'blur' }],
confirmPassword: [{ required: true, validator: equalToPassword, trigger: 'blur' }],
- phone: [{ validator: validateUserPhone, trigger: 'blur' }],
+ phone: [{ validator: validateUserPhone,required: true, trigger: 'blur' }],
userType: [{ required: true, message: '请选择用户类型', trigger: 'blur' }],
// idCard: [{ validator: verifyId, trigger: 'blur' }],
entryTime: [{ required: true, message: '请选择入职时间', trigger: 'blur' }],
age: [{ required: true, message: '请输入年龄', trigger: 'blur' }],
personType: [{ required: true, message: '请选择人员类别', trigger: 'blur' }],
- positional: [{ required: true, message: '请输入职称', trigger: 'blur' }]
+ positional: [{ required: true, message: '请输入职称', trigger: 'blur' }],
+ roles: [{ required: true, message: '请选择角色', trigger: 'blur' }]
},
companyList: [],
userList: [],
+ roleList: [],
keyword:'',
pageNum: 1,
pageSize: 10,
@@ -331,10 +352,11 @@
});
const disabled = ref(false);
const userInfo = ref()
-const openDialog = async (type, value, companyId) => {
+const openDialog = async (type, value, companyId, roleList) => {
userInfo.value = JSON.parse(Cookies.get('userInfo'))
await getCompanyList()
state.currentUserType = userInfo.value.userType
+ state.roleList = roleList
if(state.currentUserType === 0){
state.isAdmin = true;
state.form.companyId = null;
@@ -362,6 +384,7 @@
if(res.code === 200){
state.form = res.data
}
+ state.form.roles = value.roles.map(i=>i.roleId)
}
if(type == 'pwd'){
state.form.id = value.id
@@ -413,8 +436,14 @@
return;
}
if(state.title == '新增'){
- const {confirmPassword,id,...data} = state.form
+ const {confirmPassword,id,...data} = JSON.parse(JSON.stringify(state.form))
data.password = Base64.encode(data.password)
+ data.roles = data.roles.map((item)=>{
+ return {
+ roleId: item,
+ roleName: state.roleList.find(i=>i.roleId == item)?.roleName
+ }
+ })
const res = await addUser(data)
if(res.code == 200){
ElMessage.success(res.message)
@@ -422,11 +451,18 @@
handleClose()
dialogVisible.value = false;
}else{
+
ElMessage.warning(res.message)
}
}else if(state.title == '编辑'){
- const {confirmPassword,...data} = state.form
+ const {confirmPassword,...data} = JSON.parse(JSON.stringify(state.form))
data.password = Base64.encode(data.password)
+ data.roles = data.roles.map((item)=>{
+ return {
+ roleId: item,
+ roleName: state.roleList.find(i=>i.roleId == item)?.roleName
+ }
+ })
const param = {
name: data.name,
sex:data.sex,
@@ -446,7 +482,8 @@
companyName: data.companyName,
age: data.age,
personType: data.personType,
- positional: data.positional
+ positional: data.positional,
+ roles: data.roles
}
const res = await editUser(param)
@@ -551,7 +588,8 @@
post: '',
age: null,
personType: null,
- positional: ''
+ positional: '',
+ roles: []
}
state.userList = [];
state.companyList = [];
@@ -592,7 +630,6 @@
})
}
const getSelectUser = (val) => {
- console.log("valllllllll",val)
state.form.parentId = val;
}
--
Gitblit v1.9.2