From 1ea0d85b0fe2e7e4427fd484a9342d964c831b3d Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期三, 06 八月 2025 15:15:00 +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