From f88d2029c7b2c66fcf0a9dffdc55da75b939c2ea Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Tue, 12 Aug 2025 10:55:54 +0800
Subject: [PATCH] 修改
---
src/views/hazardousChemicals/systemManage/user/components/userDialog.vue | 36 ++++++++++++++++++++++++------------
1 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/src/views/hazardousChemicals/systemManage/user/components/userDialog.vue b/src/views/hazardousChemicals/systemManage/user/components/userDialog.vue
index dc47147..52d9de5 100644
--- a/src/views/hazardousChemicals/systemManage/user/components/userDialog.vue
+++ b/src/views/hazardousChemicals/systemManage/user/components/userDialog.vue
@@ -34,14 +34,15 @@
<el-form-item label="用户类型:" v-if="state.title !== '修改密码'" prop="userType" >
<el-radio-group v-model="state.form.userType" @change="changeType" v-if="state.title == '新增用户'" >
<el-radio :label="0" v-if="state.isAdmin">管理员</el-radio>
+ <el-radio :label="3" v-if="state.isAdmin">监管部门</el-radio>
<el-radio :label="1" v-if="state.isAdmin">企业用户</el-radio>
<el-radio :label="2" v-if="!state.isAdmin">普通用户</el-radio>
</el-radio-group>
- <span v-else>{{state.form.userType ==0 ? '管理员':state.form.userType ==1 ? '企业用户' : '普通用户'}}</span>
+ <span v-else>{{state.form.userType ==0 ? '管理员':state.form.userType ==1 ? '企业用户' : state.form.userType ==2?'普通用户':'监管用户'}}</span>
</el-form-item>
- <el-form-item label="所属企业:" prop="companyName" v-if="state.title !== '修改密码' && state.form.userType !=0">
+ <el-form-item label="所属企业:" prop="companyName" v-if="state.title !== '修改密码' && state.form.userType !=0 && state.form.userType !=3">
<el-select
- v-if="state.isAdmin && state.title != '编辑用户'"
+ v-if="state.isAdmin"
clearable
v-model="state.form.companyName"
filterable
@@ -64,9 +65,9 @@
</el-select>
<el-input v-else disabled style="width: 100%" v-model="state.form.companyName"></el-input>
</el-form-item>
- <el-form-item label="所属部门:" prop="departId" v-if="(state.currentUserType == 1 && state.title != '查看用户') || (state.currentUserType == 0 && state.form.userType == 2 && state.title == '编辑用户') ">
+ <el-form-item label="所属部门:" prop="departId" v-if="state.form.userType !=3 && state.form.userType !=0 && state.title !== '修改密码'" >
<el-cascader
- v-if="state.currentUserType == 1 && (state.title == '新增用户' || state.title == '编辑用户')"
+ v-if="state.title == '新增用户' || state.title == '编辑用户'"
style="width: 100%"
ref="classifyRef"
v-model="state.form.departId"
@@ -189,7 +190,7 @@
phone: [{ required: true, validator: validateUserPhone, trigger: 'blur' }],
userType: [{ required: true, message: '请选择用户类型', trigger: 'blur' }],
sex: [{ required: true, message: '请选择性别', trigger: 'blur' }],
- departId:[{ required: true, message: '请选择部门', trigger: 'blur' }],
+ // departId:[{ required: true, message: '请选择部门', trigger: 'blur' }],
},
companyList: [],
deptList: [],
@@ -218,12 +219,10 @@
const userInfo = ref()
const classifyRef = ref(null)
const openDialog = async (type, value) => {
+
userInfo.value = JSON.parse(Cookies.get('userInfo'))
console.log("userInfo",userInfo.value)
state.currentUserType = userInfo.value.userType
- if(state.currentUserType == 1){
- await getDeptList()
- }
if(userInfo.value.userType === 0){
state.isAdmin = true;
}else {
@@ -232,7 +231,11 @@
state.form.companyName = userInfo.value.companyName;
state.form.userType = 2
}
+
state.title = type === 'add' ? '新增用户' : type ==='edit' ? '编辑用户' : type ==='pwd' ? '修改密码' : '查看用户' ;
+ if(state.title !== '修改密码' && (userInfo.value.userType != 0 || (userInfo.value.userType ==0 && (type =='edit' || state.title =='查看用户')))){
+ await getDeptList()
+ }
if(type === 'edit' || type === 'view') {
startUsername.value = value.username
if( type === 'view'){
@@ -241,7 +244,8 @@
if(type === 'edit' && state.isAdmin){
await getCompanyList("")
}
- state.form = value
+
+ state.form = JSON.parse(JSON.stringify(value));
}
if(type == 'pwd'){
state.form.id = value.id
@@ -283,7 +287,10 @@
const loadingDept = ref(false)
const getDeptList = async (val)=>{
loadingDept.value = true;
- const res = await getDept()
+ const param = {
+ companyId: state.form.companyId
+ }
+ const res = await getDept(param)
if (res.code == 200) {
loading.value = false;
state.deptList = recursion(res.data)
@@ -341,6 +348,8 @@
data.password = Base64.encode(data.password)
const res = await editUser(data)
if(res.code == 200){
+
+ // Cookies.set('userInfo',JSON.stringify(data))
ElMessage.success(res.message)
emit('getList')
handleClose()
@@ -384,12 +393,15 @@
superRef.value.clearValidate();
superRef.value.resetFields()
dialogVisible.value = false;
+ emit('getList')
}
-const selectValue = (val) => {
+const selectValue = (val) => {
+ state.form.departId = null
state.companyList.forEach(item => {
if(item.name === val){
state.form.companyId = item.id
+ getDeptList();
}
})
}
--
Gitblit v1.9.2