From 7df5ffa1db94e3225bd16ef2d0d8ef0e02084951 Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: Thu, 26 Jun 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