From 04d6024553ac73e67148ce578cb01b541eebd02a Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期一, 18 五月 2026 16:37:56 +0800
Subject: [PATCH] Merge branch 'dev_NEW_pro' into dev-new_pro_OA

---
 src/views/personnelManagement/employeeRecord/index.vue |   59 +++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 33 insertions(+), 26 deletions(-)

diff --git a/src/views/personnelManagement/employeeRecord/index.vue b/src/views/personnelManagement/employeeRecord/index.vue
index cd4ecf5..5dda8c7 100644
--- a/src/views/personnelManagement/employeeRecord/index.vue
+++ b/src/views/personnelManagement/employeeRecord/index.vue
@@ -52,16 +52,14 @@
           :tableLoading="tableLoading"
           @pagination="pagination"
           :total="page.total"
-      ></PIMTable>
+      >
+        <template #positiveDate="{ row }">
+          <span :class="getPositiveDateClass(row.positiveDate)">{{ row.positiveDate }}</span>
+        </template>
+      </PIMTable>
     </div>
     <show-form-dia ref="formDia" @close="handleQuery"></show-form-dia>
     <new-or-edit-form-dia ref="formDiaNewOrEditFormDia" @close="handleQuery"></new-or-edit-form-dia>
-    <renew-contract
-        v-if="isShowRenewContractModal"
-        v-model:visible="isShowRenewContractModal"
-        :id="id"
-        @completed="handleQuery"
-    />
     
     <!-- 瀵煎叆瀵硅瘽妗� -->
     <el-dialog :title="upload.title" v-model="upload.open" width="400px" append-to-body>
@@ -107,7 +105,6 @@
 
 const NewOrEditFormDia = defineAsyncComponent(() => import("@/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue"));
 const ShowFormDia = defineAsyncComponent(() => import( "@/views/personnelManagement/employeeRecord/components/Show.vue"));
-const RenewContract = defineAsyncComponent(() => import( "@/views/personnelManagement/employeeRecord/components/RenewContract.vue"));
 
 const data = reactive({
   searchForm: {
@@ -119,8 +116,6 @@
   deptOptions: [],
 });
 const { searchForm, deptOptions } = toRefs(data);
-const isShowRenewContractModal = ref(false);
-const id = ref(0);
 const tableColumn = ref([
   {
     label: "鐘舵��",
@@ -177,6 +172,13 @@
     width: 120,
   },
   {
+    label: "杞鏃ユ湡",
+    prop: "positiveDate",
+    width: 120,
+    dataType: "slot",
+    slot: "positiveDate",
+  },
+  {
     label: "骞撮緞",
     prop: "age",
   },
@@ -208,22 +210,6 @@
           openFormNewOrEditFormDia("edit", row);
         },
       },
-      {
-        name: "缁鍚堝悓",
-        type: "text",
-        showHide: row => row.staffState === 1,
-        clickFun: (row) => {
-          isShowRenewContractModal.value = true;
-          id.value = row.id;
-        },
-      },
-      // {
-      //   name: "璇︽儏",
-      //   type: "text",
-      //   clickFun: (row) => {
-      //     openForm("edit", row);
-      //   },
-      // },
     ],
   },
 ]);
@@ -253,6 +239,22 @@
   // 涓婁紶鐨勫湴鍧�
   url: import.meta.env.VITE_APP_BASE_API + "/staff/staffOnJob/import"
 })
+
+// 鍒ゆ柇杞鏃ユ湡鏄惁鍦�7澶╁唴
+const getPositiveDateClass = (positiveDate) => {
+  if (!positiveDate) return '';
+  const today = new Date();
+  today.setHours(0, 0, 0, 0);
+  const positive = new Date(positiveDate);
+  positive.setHours(0, 0, 0, 0);
+  const diffTime = positive - today;
+  const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
+  // 7澶╁唴杞锛堝寘鎷粖澶╋級鏄剧ず璀﹀憡鑹�
+  if (diffDays >= 0 && diffDays <= 7) {
+    return 'positive-date-warning';
+  }
+  return '';
+};
 
 const fetchDeptOptions = () => {
     deptTreeSelect().then(response => {
@@ -402,4 +404,9 @@
 .search_title2 {
   margin-left: 10px;
 }
+
+.positive-date-warning {
+  color: #f56c6c;
+  font-weight: bold;
+}
 </style>

--
Gitblit v1.9.3