From 0b1c1b00217356b721bfd2d17e0a2f73ac359939 Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: 星期二, 09 十二月 2025 16:37:00 +0800
Subject: [PATCH] 修改新增

---
 src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue |  135 +++++++++++++++++++++++++++++---------------
 1 files changed, 89 insertions(+), 46 deletions(-)

diff --git a/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue b/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue
index 7bba3b4..5772f61 100644
--- a/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue
@@ -3,7 +3,7 @@
     <el-dialog
         v-model="dialogVisible"
         :title="state.title"
-        width="700px"
+        width="50%"
         :before-close="handleClose"
         :close-on-press-escape="false"
         :close-on-click-modal="false"
@@ -24,39 +24,64 @@
         <el-form-item label="年龄:" prop="age" v-if="state.title !== '修改密码'">
           <el-input v-model.number.trim="state.form.age" type="number" :disabled="disabled" placeholder="请输入年龄"></el-input>
         </el-form-item>
-        <el-form-item label="职称:" prop="positional" v-if="state.title !== '修改密码'">
-          <el-input v-model.trim="state.form.positional" :disabled="disabled" placeholder="请输入职称"></el-input>
-        </el-form-item>
+<!--        <el-form-item label="学历:" prop="qualification" v-if="state.title !== '修改密码'">-->
+<!--          <el-select-->
+<!--              v-model="state.form.qualification"-->
+<!--              placeholder="请选择学历"-->
+<!--              style="width: 100%"-->
+<!--          >-->
+<!--            <el-option-->
+<!--                v-for="item in state.quaList"-->
+<!--                :key="item.id"-->
+<!--                :label="item.name"-->
+<!--                :value="item.id"-->
+<!--            />-->
+<!--          </el-select>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="职称:" prop="positional" v-if="state.title !== '修改密码'">-->
+<!--          <el-radio-group v-model="state.form.positional"  :disabled="disabled">-->
+<!--            <el-radio label="1">初级</el-radio>-->
+<!--            <el-radio label="2">中级</el-radio>-->
+<!--            <el-radio label="3">高级</el-radio>-->
+<!--          </el-radio-group>-->
+<!--        </el-form-item>-->
         <el-form-item label="人员类别:"  prop="personType" v-if="state.title !== '修改密码'">
           <el-radio-group v-model="state.form.personType"  :disabled="disabled">
             <el-radio :label="1">技术</el-radio>
             <el-radio :label="2">管理</el-radio>
             <el-radio :label="3">行政</el-radio>
+            <el-radio :label="4">特殊作业</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 label="是否公司人员:" prop="internal" v-if="state.title !== '修改密码'">
+          <el-radio-group v-model="state.form.internal"  :disabled="disabled">
+            <el-radio :label="0">是</el-radio>
+            <el-radio :label="1">否</el-radio>
+          </el-radio-group>
         </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="resignTime" v-if="state.title !== '修改密码'" >
-          <el-date-picker
-              v-model="state.form.resignTime"
-              type="date"
-              value-format="YYYY-MM-DD"
-              placeholder="请选择离职时间"
-          />
-        </el-form-item>
-        <el-form-item label="密码:" prop="password" v-if="state.title == '新增' || state.title == '修改密码'">
+<!--        <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="resignTime" v-if="state.title !== '修改密码'" >-->
+<!--          <el-date-picker-->
+<!--              v-model="state.form.resignTime"-->
+<!--              type="date"-->
+<!--              value-format="YYYY-MM-DD"-->
+<!--              placeholder="请选择离职时间"-->
+<!--          />-->
+<!--        </el-form-item>-->
+        <el-form-item label="密码:" prop="password">
           <el-input v-model.trim="state.form.password" type="password" show-password placeholder="请输入密码"></el-input>
         </el-form-item>
-        <el-form-item label="重复密码:" prop="confirmPassword" v-if="state.title == '新增' || state.title == '修改密码'">
+        <el-form-item label="重复密码:" prop="confirmPassword">
           <el-input v-model.trim="state.form.confirmPassword" type="password" show-password placeholder="请输入确认密码"></el-input>
         </el-form-item>
         <el-form-item label="手机号:" prop="phone" v-if="state.title !== '修改密码'" >
@@ -91,7 +116,7 @@
               remote
               @change="selectValue"
               reserve-keyword
-              placeholder="请输入企业名称"
+              placeholder="请输入单位名称"
               remote-show-suffix
               :remote-method="getCompanyList"
               :loading="loading"
@@ -158,7 +183,7 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="职务:" prop="duty" v-if="state.title !== '修改密码' && state.form.userType !== 0">
+        <el-form-item label="职务:" v-if="state.title !== '修改密码' && state.form.userType !== 0">
           <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 !== '修改密码' && state.form.userType !== 0">
@@ -209,6 +234,7 @@
 import {debounce} from "@/utils";
 import Cookies from "js-cookie";
 import {getDepart} from "@/api/orgStructure/depart";
+import {removeToken} from "@/utils/auth";
 const emit = defineEmits(["getList"]);
 const dialogVisible = ref(false)
 const superRef = ref()
@@ -216,9 +242,13 @@
 
 
 const equalToPassword = (rule, value, callback) => {
-  if (state.form.password !== value) {
-    callback(new Error("两次输入的密码不一致"));
-  } else {
+  if(state.title == '修改密码' || state.form.password !== ''){
+    if (state.form.password !== value) {
+      callback(new Error("两次输入的密码不一致"));
+    } else {
+      callback();
+    }
+  }else{
     callback();
   }
 };
@@ -248,15 +278,20 @@
 }
 
 let validatePwd = (rule, value, callback)=>{
-  if(value === ''){
-    callback(new Error('请输入密码'))
-  }else{
-    if(!verifyPwd(value)){
-      callback(new Error('密码须包含字母、数字、特殊字符,长度在6-16之间'))
+  if(state.title == '修改密码'){
+    if(value === ''){
+      callback(new Error('请输入密码'))
     }else{
-      callback()
+      if(!verifyPwd(value)){
+        callback(new Error('密码须包含字母、数字、特殊字符,长度在6-16之间'))
+      }else{
+        callback()
+      }
     }
+  }else{
+    callback();
   }
+
 }
 const startUsername = ref('');
 const validateUsername = (rule, value, callback)=>{
@@ -313,6 +348,8 @@
     post: '',
     age: null,
     personType: null,
+    internal: null,
+    qualification: null,
     positional: '',
     roles: []
   },
@@ -329,12 +366,22 @@
     entryTime: [{ required: true, message: '请选择入职时间', trigger: 'blur' }],
     age: [{ required: true, message: '请输入年龄', trigger: 'blur' }],
     personType: [{ required: true, message: '请选择人员类别', trigger: 'blur' }],
+    internal: [{ required: true, message: '请选择是否公司人员', trigger: 'blur' }],
+    post: [{ required: true, message: '请输入专业', trigger: 'blur' }],
+    qualification: [{ required: true, message: '请选择学历', trigger: 'blur' }],
     positional: [{ required: true, message: '请输入职称', trigger: 'blur' }],
     roles: [{ required: true, message: '请选择角色', trigger: 'blur' }]
   },
   companyList: [],
   userList: [],
   roleList: [],
+  quaList: [
+    {id: 1, name: '高中及以下'},
+    {id: 2, name: '专科'},
+    {id: 3, name: '本科'},
+    {id: 4, name: '硕士'},
+    {id: 5, name: '博士及以上'}
+  ],
   keyword:'',
   pageNum: 1,
   pageSize: 10,
@@ -373,7 +420,7 @@
     // }
   }
   state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : type ==='pwd' ? '修改密码' : '查看' ;
-  if(type === 'edit' || type === 'view') {
+  if(type === 'edit' || type === 'view' || type === 'pwd') {
     startUsername.value = value.username
     if( type === 'view'){
       disabled.value = true
@@ -386,15 +433,7 @@
     }
     state.form.roles = value.roles.map(i=>i.roleId)
   }
-  if(type == 'pwd'){
-    state.form.id = value.id
-  }
   dialogVisible.value = true
-  if(type === 'edit' && state.form && (state.form.userType === 2||state.form.userType === 3)){
-    await nextTick(() => {
-      // doGetUser()
-    })
-  }
 }
 
 const finshed = ref(false)
@@ -482,6 +521,8 @@
         companyName: data.companyName,
         age: data.age,
         personType: data.personType,
+        internal: data.internal,
+        qualification: data.qualification,
         positional: data.positional,
         roles: data.roles
       }
@@ -501,8 +542,8 @@
       const res = await resetPwd(data)
       if(res.code == 200){
         ElMessage.success(res.message)
-        emit('getList')
-        handleClose()
+        removeToken()
+        location.href = '/homePage';
       }else{
         ElMessage.warning(res.message)
       }
@@ -588,6 +629,8 @@
     post: '',
     age: null,
     personType: null,
+    internal: null,
+    qualification: null,
     positional: '',
     roles: []
   }

--
Gitblit v1.9.2