From 7df5ffa1db94e3225bd16ef2d0d8ef0e02084951 Mon Sep 17 00:00:00 2001 From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com> Date: 星期四, 26 六月 2025 13:30:08 +0800 Subject: [PATCH] 新增页面 --- src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue | 85 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 76 insertions(+), 9 deletions(-) diff --git a/src/views/build/conpanyFunctionConsult/peopleManage/user/components/userDialog.vue b/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue similarity index 85% rename from src/views/build/conpanyFunctionConsult/peopleManage/user/components/userDialog.vue rename to src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue index c759cf7..fdef075 100644 --- a/src/views/build/conpanyFunctionConsult/peopleManage/user/components/userDialog.vue +++ b/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue @@ -21,6 +21,17 @@ <el-radio :label="1">女</el-radio> </el-radio-group> </el-form-item> + <el-form-item label="身份证号:" prop="idCard" v-if="state.title !== '修改密码'"> + <el-input v-model.trim="state.form.idCard" :maxlength="18" :disabled="disabled" placeholder="请输入身份证号"></el-input> + </el-form-item> + <el-form-item label="入职时间:" prop="entryTime" v-if="state.title !== '修改密码'" > + <el-date-picker + v-model="state.form.entryTime" + type="date" + value-format="YYYY-MM-DD" + placeholder="请选择入职时间" + /> + </el-form-item> <el-form-item label="密码:" prop="password" v-if="state.title == '新增' || state.title == '修改密码'"> <el-input v-model.trim="state.form.password" type="password" show-password placeholder="请输入密码"></el-input> </el-form-item> @@ -92,6 +103,29 @@ </el-form-item> + <el-form-item label="部门:" prop="deptId" v-if="state.title !== '修改密码'"> + <el-select + clearable + v-model="state.form.deptId" + filterable + :disabled="disabled" + placeholder="请选择部门" + style="width: 100%" + > + <el-option + v-for="item in state.deptList" + :key="item.deptId" + :label="item.deptName" + :value="item.deptId" + /> + </el-select> + </el-form-item> + <el-form-item label="职务:" prop="duty" v-if="state.title !== '修改密码'" > + <el-input v-model.trim="state.form.duty" :disabled="disabled" placeholder="请输入职务"></el-input> + </el-form-item> + <el-form-item label="专业:" prop="post" v-if="state.title !== '修改密码'" > + <el-input v-model.trim="state.form.post" :disabled="disabled" placeholder="请输入专业"></el-input> + </el-form-item> <el-form-item label="所属上级账号:" prop="companyName" v-if="showChild"> <scorllSelect :disabled="disabled || state.title =='编辑'" @@ -133,7 +167,7 @@ import {getUser} from "@/api/onlineEducation/user"; import {debounce} from "@/utils"; import Cookies from "js-cookie"; - +import {getDepart} from "@/api/orgStructure/depart"; const emit = defineEmits(["getList"]); const dialogVisible = ref(false) const superRef = ref(null) @@ -216,23 +250,33 @@ userType: null, sex: 0, companyId: null, - parentId: null + companyName: '', + parentId: null, + entryTime: '', + idCard: '', + deptId: null, + duty: '', + post: '' }, formRules:{ name: [{ required: true, message: '请输入公司、部门或者车间岗位名称', trigger: 'blur' }], - companyName: [{ required: true, message: '请选择上级企业', trigger: 'blur' }], + companyName: [{ required: true, message: '请选择所在企业', trigger: 'blur' }], + deptId: [{ required: true, message: '请选择部门', trigger: 'blur' }], username: [{ required: true, trigger: "blur", validator: validateUsername }], password: [{ required: true, validator: validatePwd, trigger: 'blur' }], confirmPassword: [{ required: true, validator: equalToPassword, trigger: 'blur' }], phone: [{ required: true, validator: validateUserPhone, trigger: 'blur' }], userType: [{ required: true, message: '请选择用户类型', trigger: 'blur' }], + idCard: [{ required: true, message: '请输入身份证号', trigger: 'blur' }], + entryTime: [{ required: true, message: '请选择入职时间', trigger: 'blur' }], + duty: [{ required: true, message: '请输入职务', trigger: 'blur' }], + post: [{ required: true, message: '请输入专业', trigger: 'blur' }], }, companyList: [], userList: [ ], keyword:'', - pageNum: 1, pageSize: 10, cloading:false, @@ -251,17 +295,18 @@ const showChild = ref(false) const disabled = ref(false); const userInfo = ref() -const openDialog = async (type, value) => { +const openDialog = async (type, value, companyId) => { userInfo.value = JSON.parse(Cookies.get('userInfo')) - console.log("userInfo",userInfo.value) state.currentUserType = userInfo.value.userType if(state.currentUserType === 0){ state.isAdmin = true; + state.form.companyId = companyId; }else { state.isAdmin = false; state.form.companyId = userInfo.value.companyId; state.form.companyName = userInfo.value.companyName; } + await getdeptList(userInfo.value.companyId) if(type !== 'view' && type !== 'pwd'){ // if(state.isAdmin){ @@ -272,7 +317,9 @@ if(type === 'edit' || type === 'view') { startUsername.value = value.username if( type === 'view'){ - disabled.value = true; + disabled.value = true + }else{ + disabled.value = false } const res = await getUserById(value.id); if(res.code === 200){ @@ -361,6 +408,21 @@ // console.log("state.companyList",state.companyList) // } } + +const getdeptList = async (companyId)=> { + const params = { + pageNum: 1, + pageSize: 999, + companyId: companyId + } + const res = await getDepart(params) + if(res.code == 200){ + state.deptList = res.data + }else{ + ElMessage.warning(res.message) + } +} + const onSubmit = async () => { const valid = await superRef.value.validate(); if(valid){ @@ -389,11 +451,15 @@ phone: data.phone, id:data.id, companyId: data.companyId, + deptId: data.deptId, userType:data.userType, username:data.username, password: data.password, - parentId: data.parentId - + parentId: data.parentId, + idCard: data.idCard, + entryTime: data.entryTime, + duty: data.duty, + post: data.post } const res = await editUser(param) @@ -532,6 +598,7 @@ state.form.companyId = item.id } }) + getdeptList(state.form.companyId) } const getSelectUser = (val) => { console.log("valllllllll",val) -- Gitblit v1.9.2