From c63958466b4eaef3c9314c41020a3337bdb928f5 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期四, 21 五月 2026 15:35:16 +0800
Subject: [PATCH] 1

---
 src/views/personnelManagement/dimission/components/formDia.vue |   36 +++++++++++++++++++++++++++++++++++-
 1 files changed, 35 insertions(+), 1 deletions(-)

diff --git a/src/views/personnelManagement/dimission/components/formDia.vue b/src/views/personnelManagement/dimission/components/formDia.vue
index 2b8a7fd..86c59ce 100644
--- a/src/views/personnelManagement/dimission/components/formDia.vue
+++ b/src/views/personnelManagement/dimission/components/formDia.vue
@@ -97,6 +97,20 @@
           </el-row>
           <el-row :gutter="30">
             <el-col :span="12">
+              <el-form-item label="绂昏亴鏃ユ湡锛�" prop="leaveDate">
+                <el-date-picker
+                    v-model="form.leaveDate"
+                    type="date"
+                    :disabled="operationType === 'edit'"
+                    :disabled-date="disabledFutureDate"
+                    placeholder="璇烽�夋嫨绂昏亴鏃ユ湡"
+                    value-format="YYYY-MM-DD"
+                    format="YYYY-MM-DD"
+                    style="width: 100%"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
               <el-form-item label="绂昏亴鍘熷洜锛�" prop="reason">
                 <el-select v-model="form.reason" placeholder="璇烽�夋嫨绂昏亴鍘熷洜" style="width: 100%" @change="handleSelectDimissionReason">
                   <el-option
@@ -108,6 +122,8 @@
                 </el-select>
               </el-form-item>
             </el-col>
+          </el-row>
+          <el-row :gutter="30">
             <el-col :span="12">
               <el-form-item label="澶囨敞锛�" prop="remark" v-if="form.reason === 'other'">
                 <el-input
@@ -165,14 +181,29 @@
 
 const dialogFormVisible = ref(false);
 const operationType = ref('')
+const getTodayDate = () => {
+  const now = new Date();
+  const year = now.getFullYear();
+  const month = `${now.getMonth() + 1}`.padStart(2, '0');
+  const day = `${now.getDate()}`.padStart(2, '0');
+  return `${year}-${month}-${day}`;
+};
+
+const disabledFutureDate = (time) => {
+  const todayEnd = new Date();
+  todayEnd.setHours(23, 59, 59, 999);
+  return time.getTime() > todayEnd.getTime();
+};
 const data = reactive({
   form: {
     staffOnJobId: undefined,
+    leaveDate: "",
     reason: "",
     remark: "",
   },
   rules: {
     staffName: [{ required: true, message: "璇烽�夋嫨浜哄憳" }],
+    leaveDate: [{ required: true, message: "璇烽�夋嫨绂昏亴鏃ユ湡", trigger: "change" }],
     reason: [{ required: true, message: "璇烽�夋嫨绂昏亴鍘熷洜"}],
   },
   dimissionReasonOptions: [
@@ -193,6 +224,7 @@
   if (operationType.value === 'edit') {
     currentStaffRecord.value = row
     form.value.staffOnJobId = row.staffOnJobId
+    form.value.leaveDate = row.leaveDate
     form.value.reason = row.reason
     form.value.remark = row.remark
     personList.value = [
@@ -202,6 +234,7 @@
       }
     ]
   } else {
+    form.value.leaveDate = getTodayDate()
     getList()
   }
 }
@@ -239,6 +272,7 @@
   // 琛ㄥ崟宸叉敞閲婏紝鎵嬪姩閲嶇疆琛ㄥ崟鏁版嵁
   form.value = {
     staffOnJobId: undefined,
+    leaveDate: "",
     reason: "",
     remark: "",
   };
@@ -310,4 +344,4 @@
   color: #303133;
   font-size: 14px;
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3