From 6a117c8ed08ef6fb9e455822414801804bfdcbaa Mon Sep 17 00:00:00 2001
From: 张诺 <zhang_12370@163.com>
Date: 星期四, 15 一月 2026 17:31:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New

---
 src/views/personnelManagement/dimission/components/formDia.vue  |   17 ++++++--
 src/views/personnelManagement/onboarding/components/formDia.vue |   35 +++++++++++++++--
 src/api/system/post.js                                          |    9 ++++
 src/views/personnelManagement/dimission/index.vue               |    2 
 src/views/personnelManagement/onboarding/index.vue              |    2 
 5 files changed, 54 insertions(+), 11 deletions(-)

diff --git a/src/api/system/post.js b/src/api/system/post.js
index 8faa266..fcb5bba 100644
--- a/src/api/system/post.js
+++ b/src/api/system/post.js
@@ -9,6 +9,15 @@
   })
 }
 
+export function findPostOptions(query) {
+  return request({
+    url: '/system/post/optionselect',
+    method: 'get',
+    params: query
+  })
+}
+
+
 // 鏌ヨ宀椾綅璇︾粏
 export function getPost(postId) {
   return request({
diff --git a/src/views/personnelManagement/dimission/components/formDia.vue b/src/views/personnelManagement/dimission/components/formDia.vue
index f75c22d..9880a67 100644
--- a/src/views/personnelManagement/dimission/components/formDia.vue
+++ b/src/views/personnelManagement/dimission/components/formDia.vue
@@ -44,7 +44,7 @@
           <el-row :gutter="30">
             <el-col :span="12">
               <el-form-item label="宀椾綅锛�">
-                {{ form.postJob || '-' }}
+                {{ form.postName || '-' }}
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -180,7 +180,8 @@
     staffName: "",
     sex: "",
     nativePlace: "",
-    postJob: "",
+    postName: "",
+    sysPostId: 0,
     adress: "",
     firstStudy: "",
     profession: "",
@@ -233,6 +234,9 @@
   if (form.value.dimissionReason !== 'other') {
     form.value.dimissionRemark = ''
   }
+  if (!form.value.sysPostId) {
+    form.value.sysPostId = 0;
+  }
   proxy.$refs["formRef"].validate(valid => {
     if (valid) {
       if (operationType.value === "add") {
@@ -258,7 +262,8 @@
     staffName: "",
     sex: "",
     nativePlace: "",
-    postJob: "",
+    postName: "",
+    sysPostId: 0,
     adress: "",
     firstStudy: "",
     profession: "",
@@ -300,7 +305,8 @@
       phone,
       staffNo,
       nativePlace,
-      postJob,
+      postName,
+      sysPostId,
       adress,
       firstStudy,
       profession,
@@ -319,7 +325,8 @@
       phone,
       staffNo,
       nativePlace,
-      postJob,
+      postName,
+      sysPostId,
       adress,
       firstStudy,
       profession,
diff --git a/src/views/personnelManagement/dimission/index.vue b/src/views/personnelManagement/dimission/index.vue
index ae90d99..27e6766 100644
--- a/src/views/personnelManagement/dimission/index.vue
+++ b/src/views/personnelManagement/dimission/index.vue
@@ -110,7 +110,7 @@
   },
   {
     label: "宀椾綅",
-    prop: "postJob",
+    prop: "postName",
   },
   {
     label: "鐜颁綇鍧�",
diff --git a/src/views/personnelManagement/onboarding/components/formDia.vue b/src/views/personnelManagement/onboarding/components/formDia.vue
index a13d6ba..7cd6ab6 100644
--- a/src/views/personnelManagement/onboarding/components/formDia.vue
+++ b/src/views/personnelManagement/onboarding/components/formDia.vue
@@ -36,8 +36,16 @@
         </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
-            <el-form-item label="宀椾綅锛�" prop="postJob">
-              <el-input v-model="form.postJob" placeholder="璇疯緭鍏�" clearable/>
+            <el-form-item label="宀椾綅锛�" prop="sysPostId">
+              <el-select v-model="form.sysPostId" placeholder="璇烽�夋嫨宀椾綅" clearable>
+                <el-option
+                    v-for="item in postOptions"
+                    :key="item.postId"
+                    :label="item.postName"
+                    :value="item.postId"
+                    :disabled="item.status === '1'"
+                />
+              </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -131,8 +139,9 @@
 </template>
 
 <script setup>
-import {ref} from "vue";
+import {ref, onMounted} from "vue";
 import {getStaffJoinInfo, staffJoinAdd, staffJoinUpdate} from "@/api/personnelManagement/onboarding.js";
+import {findPostOptions} from "@/api/system/post.js";
 const { proxy } = getCurrentInstance()
 const emit = defineEmits(['close'])
 
@@ -156,6 +165,7 @@
     contractStartTime: "",
     contractEndTime: "",
     staffState: "",
+    sysPostId: undefined,
   },
   rules: {
     staffNo: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },],
@@ -174,8 +184,9 @@
     contractStartTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
     contractEndTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
   },
+  postOptions: [], // 宀椾綅閫夐」
 });
-const { form, rules } = toRefs(data);
+const { form, rules, postOptions } = toRefs(data);
 
 // 鎵撳紑寮规
 const openDialog = (type, row) => {
@@ -184,15 +195,31 @@
   if (operationType.value === 'edit') {
     getStaffJoinInfo(row.id).then(res => {
       form.value = {...res.data}
+      if (form.value.sysPostId === 0) {
+        form.value.sysPostId = undefined
+      }
       // 缂栬緫鏃朵篃璁$畻涓�娆″悎鍚屽勾闄�
       calculateContractTerm();
     })
   } else {
 		form.value.id = ''
 	}
+
+}
+onMounted(() => {
+  fetchPostOptions()
+})
+
+const fetchPostOptions = () => {
+  findPostOptions().then(res => {
+    postOptions.value = res.data
+  })
 }
 // 鎻愪氦浜у搧琛ㄥ崟
 const submitForm = () => {
+  if (!form.value.sysPostId) {
+    form.value.sysPostId = 0;
+  }
   proxy.$refs.formRef.validate(valid => {
     if (valid) {
       form.value.staffState = 1
diff --git a/src/views/personnelManagement/onboarding/index.vue b/src/views/personnelManagement/onboarding/index.vue
index 9151a6c..edf4fa3 100644
--- a/src/views/personnelManagement/onboarding/index.vue
+++ b/src/views/personnelManagement/onboarding/index.vue
@@ -111,7 +111,7 @@
   },
   {
     label: "宀椾綅",
-    prop: "postJob",
+    prop: "postName",
   },
   {
     label: "鐜颁綇鍧�",

--
Gitblit v1.9.3