From 4243f25a01f4e79b3f83218dfcbe94d9befee43d Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期一, 20 十月 2025 09:59:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_7004' into dev_7004

---
 src/views/personnelManagement/onboarding/components/formDia.vue |   23 +++++++++++
 src/views/salesManagement/salesLedger/index.vue                 |    4 ++
 src/views/personnelManagement/onboarding/index.vue              |   66 ++++++++++++++++++++++++++++++++
 3 files changed, 91 insertions(+), 2 deletions(-)

diff --git a/src/views/personnelManagement/onboarding/components/formDia.vue b/src/views/personnelManagement/onboarding/components/formDia.vue
index d0e76cc..7244ab0 100644
--- a/src/views/personnelManagement/onboarding/components/formDia.vue
+++ b/src/views/personnelManagement/onboarding/components/formDia.vue
@@ -124,6 +124,26 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row :gutter="30">
+          <el-col :span="12">
+            <el-form-item label="璇曠敤鏈燂紙鏈堬級锛�" prop="probationPeriod">
+              <el-input-number v-model="form.probationPeriod" :precision="0" :step="1" min="0" style="width: 100%"/>
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :span="12">
+            <el-form-item label="鍏ヨ亴鏃ユ湡锛�" prop="entryDate">
+              <el-date-picker
+                  v-model="form.entryDate"
+                  type="date"
+                  placeholder="璇烽�夋嫨鏃ユ湡"
+                  value-format="YYYY-MM-DD"
+                  format="YYYY-MM-DD"
+                  clearable
+                  style="width: 100%"
+              />
+            </el-form-item>
+          </el-col> -->
+        </el-row>
       </el-form>
       <template #footer>
         <div class="dialog-footer">
@@ -136,7 +156,7 @@
 </template>
 
 <script setup>
-import {ref} from "vue";
+import {ref, reactive, toRefs} from "vue";
 import {getStaffJoinInfo, staffJoinAdd, staffJoinUpdate} from "@/api/personnelManagement/onboarding.js";
 const { proxy } = getCurrentInstance()
 const emit = defineEmits(['close'])
@@ -162,6 +182,7 @@
     contractStartTime: "",
     contractEndTime: "",
     staffState: "",
+    probationPeriod: 3, // 榛樿璇曠敤鏈�3涓湀
   },
   rules: {
     staffNo: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },],
diff --git a/src/views/personnelManagement/onboarding/index.vue b/src/views/personnelManagement/onboarding/index.vue
index d36f2e5..d993ee6 100644
--- a/src/views/personnelManagement/onboarding/index.vue
+++ b/src/views/personnelManagement/onboarding/index.vue
@@ -151,8 +151,39 @@
     width:150
   },
   {
-    label: "鍚堝悓骞撮檺",
+    label: "璇曠敤鏈燂紙鏈堬級",
+    prop: "probationPeriod",
+    width: 120,
+  },
+  // {
+  //   label: "杞鏃ユ湡",
+  //   prop: "probationEndDate",
+  //   width: 120,
+  //   formatData: (row) => {
+  //     // 淇敼涓轰娇鐢ㄥ悎鍚屽紑濮嬫棩鏈熻绠楄浆姝f棩鏈�
+  //     if (row.contractStartTime && row.probationPeriod) {
+  //       // 璁$畻杞鏃ユ湡锛堝悎鍚屽紑濮嬫棩鏈熷姞涓婅瘯鐢ㄦ湡鏈堟暟锛�
+  //       return dayjs(row.contractStartTime).add(row.probationPeriod, 'month').format('YYYY-MM-DD');
+  //     }
+  //     return '';
+  //   },
+  //   formatType: (row) => {
+  //     // 淇敼涓轰娇鐢ㄥ悎鍚屽紑濮嬫棩鏈熸鏌ユ槸鍚︿复杩戣浆姝o紙7澶╁唴锛�
+  //     if (row.contractStartTime && row.probationPeriod) {
+  //       const probationEndDate = dayjs(row.contractStartTime).add(row.probationPeriod, 'month');
+  //       const daysUntilProbationEnd = probationEndDate.diff(dayjs(), 'day');
+        
+  //       if (daysUntilProbationEnd >= 0 && daysUntilProbationEnd <= 7) {
+  //         return 'warning'; // 浣跨敤璀﹀憡鏍峰紡鏍囪涓磋繎杞鐨勫憳宸�
+  //       }
+  //     }
+  //     return '';
+  //   }
+  // },
+  {
+    label: "鍚堝悓骞撮檺锛堝勾锛�",
     prop: "contractTerm",
+    width: 120,
   },
   {
     label: "鍚堝悓寮�濮嬫棩鏈�",
@@ -222,10 +253,43 @@
     tableLoading.value = false;
     tableData.value = res.data.records
     page.total = res.data.total;
+
+    // 妫�鏌ユ槸鍚︽湁涓磋繎杞鐨勫憳宸ュ苟鎻愰啋
+    checkProbationEnding(tableData.value);
   }).catch(err => {
     tableLoading.value = false;
   })
 };
+// 妫�鏌ヤ复杩戣浆姝g殑鍛樺伐骞舵彁閱�
+const checkProbationEnding = (data) => {
+  const probationEndingSoon = [];
+  
+  data.forEach(item => {
+    // 淇敼涓轰娇鐢ㄥ悎鍚屽紑濮嬫棩鏈熸鏌�
+    if (item.contractStartTime && item.probationPeriod) {
+      const probationEndDate = dayjs(item.contractStartTime).add(item.probationPeriod, 'month');
+      const daysUntilProbationEnd = probationEndDate.diff(dayjs(), 'day');
+      
+      if (daysUntilProbationEnd >= 0 && daysUntilProbationEnd <= 7) {
+        probationEndingSoon.push({
+          staffName: item.staffName,
+          probationEndDate: probationEndDate.format('YYYY-MM-DD'),
+          daysLeft: daysUntilProbationEnd
+        });
+      }
+    }
+  });
+  
+  if (probationEndingSoon.length > 0) {
+    let message = '浠ヤ笅鍛樺伐灏嗗湪7澶╁唴杞锛歕n';
+    probationEndingSoon.forEach(item => {
+      message += `${item.staffName}锛�${item.probationEndDate}锛岃繕鏈�${item.daysLeft}澶╋級\n`;
+    });
+    
+    // 鏄剧ず鎻愰啋娑堟伅
+    proxy.$modal.msgInfo(message);
+  }
+};
 // 琛ㄦ牸閫夋嫨鏁版嵁
 const handleSelectionChange = (selection) => {
   selectedRows.value = selection;
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 51b0772..5059922 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -564,6 +564,10 @@
     "contractAmount",
     "taxInclusiveTotalPrice",
     "taxExclusiveTotalPrice",
+		'invoiceTotal',
+		'noInvoiceAmountTotal',
+		'receiptPaymentAmountTotal',
+		'noReceiptAmount',
   ]);
 };
 // 瀛愯〃鍚堣鏂规硶

--
Gitblit v1.9.3