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