From 7e6de5f6c65f4268cb33d172a0d46b34efc65334 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期一, 08 六月 2026 17:36:30 +0800
Subject: [PATCH] 工资管理添加社保补缴字段

---
 src/views/personnelManagement/monthlyStatistics/components/Show.vue    |  200 ++++++++++++++++++++++++++++++++------------------
 src/views/personnelManagement/monthlyStatistics/components/formDia.vue |   14 +-
 2 files changed, 135 insertions(+), 79 deletions(-)

diff --git a/src/views/personnelManagement/monthlyStatistics/components/Show.vue b/src/views/personnelManagement/monthlyStatistics/components/Show.vue
index 9124ef3..1dcf396 100644
--- a/src/views/personnelManagement/monthlyStatistics/components/Show.vue
+++ b/src/views/personnelManagement/monthlyStatistics/components/Show.vue
@@ -5,7 +5,9 @@
              append-to-body>
     <div class="detail-container">
       <!-- 涓昏〃淇℃伅 -->
-      <el-descriptions title="鍩虹淇℃伅" :column="4" border>
+      <el-descriptions title="鍩虹淇℃伅"
+                       :column="4"
+                       border>
         <el-descriptions-item label="宸ヨ祫涓婚">{{ mainInfo.salaryTitle }}</el-descriptions-item>
         <el-descriptions-item label="宸ヨ祫鏈堜唤">{{ mainInfo.salaryMonth }}</el-descriptions-item>
         <el-descriptions-item label="宸ヨ祫鎬婚">
@@ -19,41 +21,95 @@
         <el-descriptions-item label="鍒涘缓鏃堕棿">{{ mainInfo.createTime }}</el-descriptions-item>
         <el-descriptions-item label="澶囨敞">{{ mainInfo.remark || '-' }}</el-descriptions-item>
       </el-descriptions>
-
       <!-- 鏄庣粏鍒楄〃 -->
       <div class="detail-table-wrap">
         <div class="table-title">宸ヨ祫鏄庣粏</div>
-        <el-table :data="detailList" border stripe max-height="500">
-          <el-table-column label="閮ㄩ棬" prop="deptName" minWidth="120" />
-          <el-table-column label="鍛樺伐濮撳悕" prop="staffName" minWidth="100" />
-          <el-table-column label="姘戞棌" prop="nation" width="80" align="center" />
-          <el-table-column label="鍩烘湰宸ヨ祫" prop="basicSalary" minWidth="100" align="right" />
-          <el-table-column label="鐧界彮澶╂暟" prop="dayDays" width="90" align="center" />
-          <el-table-column label="澶滅彮澶╂暟" prop="nightDays" width="90" align="center" />
-          <el-table-column label="椁愯ˉ" prop="mealAmount" minWidth="100" align="right" />
-          <el-table-column label="澶滅彮琛ュ姪" prop="nightAmount" minWidth="100" align="right" />
-          <el-table-column label="鍏朵粬鏀跺叆" prop="otherIncome" minWidth="100" align="right" />
-          <el-table-column label="绀句繚涓汉" prop="socialPersonal" minWidth="100" align="right" />
-          <el-table-column label="鍏Н閲戜釜浜�" prop="fundPersonal" minWidth="110" align="right" />
-          <el-table-column label="鍏朵粬鏀嚭" prop="otherDeduct" minWidth="100" align="right" />
-          <el-table-column label="绀句繚琛ョ即" prop="socialSecurityRetroactive" minWidth="100" align="right" />
-          <el-table-column label="宸ヨ祫涓◣" prop="salaryTax" minWidth="100" align="right" />
-          <el-table-column label="搴斿彂宸ヨ祫" prop="grossSalary" minWidth="110" align="right">
+        <el-table :data="detailList"
+                  border
+                  stripe
+                  max-height="500">
+          <el-table-column label="閮ㄩ棬"
+                           prop="deptName"
+                           minWidth="120" />
+          <el-table-column label="鍛樺伐濮撳悕"
+                           prop="staffName"
+                           minWidth="100" />
+          <el-table-column label="姘戞棌"
+                           prop="nation"
+                           width="80"
+                           align="center" />
+          <el-table-column label="鍩烘湰宸ヨ祫"
+                           prop="basicSalary"
+                           minWidth="100"
+                           align="right" />
+          <el-table-column label="鐧界彮澶╂暟"
+                           prop="dayDays"
+                           width="90"
+                           align="center" />
+          <el-table-column label="澶滅彮澶╂暟"
+                           prop="nightDays"
+                           width="90"
+                           align="center" />
+          <el-table-column label="椁愯ˉ"
+                           prop="mealAmount"
+                           minWidth="100"
+                           align="right" />
+          <el-table-column label="澶滅彮琛ュ姪"
+                           prop="nightAmount"
+                           minWidth="100"
+                           align="right" />
+          <el-table-column label="鍏朵粬鏀跺叆"
+                           prop="otherIncome"
+                           minWidth="100"
+                           align="right" />
+          <el-table-column label="绀句繚涓汉"
+                           prop="socialPersonal"
+                           minWidth="100"
+                           align="right" />
+          <el-table-column label="鍏Н閲戜釜浜�"
+                           prop="fundPersonal"
+                           minWidth="110"
+                           align="right" />
+          <el-table-column label="鍏朵粬鏀嚭"
+                           prop="otherDeduct"
+                           minWidth="100"
+                           align="right" />
+          <el-table-column label="绀句繚琛ョ即"
+                           prop="socialSupplementAmount"
+                           minWidth="100"
+                           align="right" />
+          <el-table-column label="宸ヨ祫涓◣"
+                           prop="salaryTax"
+                           minWidth="100"
+                           align="right" />
+          <el-table-column label="搴斿彂宸ヨ祫"
+                           prop="grossSalary"
+                           minWidth="110"
+                           align="right">
             <template #default="{ row }">
               <span class="text-bold">{{ row.grossSalary }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="搴旀墸宸ヨ祫" prop="deductSalary" minWidth="110" align="right">
+          <el-table-column label="搴旀墸宸ヨ祫"
+                           prop="deductSalary"
+                           minWidth="110"
+                           align="right">
             <template #default="{ row }">
               <span class="text-danger">{{ row.deductSalary }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="瀹炲彂宸ヨ祫" prop="netSalary" minWidth="110" align="right">
+          <el-table-column label="瀹炲彂宸ヨ祫"
+                           prop="netSalary"
+                           minWidth="110"
+                           align="right">
             <template #default="{ row }">
               <span class="text-success text-bold">{{ row.netSalary }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="澶囨敞" prop="remark" minWidth="120" show-overflow-tooltip />
+          <el-table-column label="澶囨敞"
+                           prop="remark"
+                           minWidth="120"
+                           show-overflow-tooltip />
         </el-table>
       </div>
     </div>
@@ -64,64 +120,64 @@
 </template>
 
 <script setup>
-import { ref } from 'vue';
+  import { ref } from "vue";
 
-const visible = ref(false);
-const mainInfo = ref({});
-const detailList = ref([]);
+  const visible = ref(false);
+  const mainInfo = ref({});
+  const detailList = ref([]);
 
-const openDialog = (row) => {
-  mainInfo.value = row || {};
-  detailList.value = row.staffSalaryDetailList || [];
-  visible.value = true;
-};
-
-const getStatusType = (status) => {
-  const map = {
-    1: 'info',    // 鑽夌
-    2: 'warning', // 寰呮敮浠�
-    3: 'primary', // 寰呭鏍�
-    4: 'success', // 宸插彂鏀�
-    5: 'danger'   // 宸查┏鍥�
+  const openDialog = row => {
+    mainInfo.value = row || {};
+    detailList.value = row.staffSalaryDetailList || [];
+    visible.value = true;
   };
-  return map[status] || 'info';
-};
 
-const getStatusLabel = (status) => {
-  const map = {
-    1: '鑽夌',
-    2: '寰呮敮浠�',
-    3: '寰呭鏍�',
-    4: '宸插彂鏀�',
-    5: '宸查┏鍥�'
+  const getStatusType = status => {
+    const map = {
+      1: "info", // 鑽夌
+      2: "warning", // 寰呮敮浠�
+      3: "primary", // 寰呭鏍�
+      4: "success", // 宸插彂鏀�
+      5: "danger", // 宸查┏鍥�
+    };
+    return map[status] || "info";
   };
-  return map[status] || '鏈煡';
-};
 
-defineExpose({ openDialog });
+  const getStatusLabel = status => {
+    const map = {
+      1: "鑽夌",
+      2: "寰呮敮浠�",
+      3: "寰呭鏍�",
+      4: "宸插彂鏀�",
+      5: "宸查┏鍥�",
+    };
+    return map[status] || "鏈煡";
+  };
+
+  defineExpose({ openDialog });
 </script>
 
 <style scoped lang="scss">
-.detail-container {
-  padding: 10px;
-}
-.detail-table-wrap {
-  margin-top: 20px;
-}
-.table-title {
-  font-size: 16px;
-  font-weight: bold;
-  margin-bottom: 15px;
-  padding-left: 10px;
-  border-left: 4px solid #409eff;
-}
-.text-danger {
-  color: #f56c6c;
-}
-.text-success {
-  color: #67c23a;
-}
-.text-bold {
-  font-weight: bold;
-}
+  .detail-container {
+    padding: 10px;
+  }
+  .detail-table-wrap {
+    margin-top: 20px;
+  }
+  .table-title {
+    font-size: 16px;
+    font-weight: bold;
+    margin-bottom: 15px;
+    padding-left: 10px;
+    border-left: 4px solid #409eff;
+  }
+  .text-danger {
+    color: #f56c6c;
+  }
+  .text-success {
+    color: #67c23a;
+  }
+  .text-bold {
+    font-weight: bold;
+  }
 </style>
diff --git a/src/views/personnelManagement/monthlyStatistics/components/formDia.vue b/src/views/personnelManagement/monthlyStatistics/components/formDia.vue
index 6caa386..dcece4a 100644
--- a/src/views/personnelManagement/monthlyStatistics/components/formDia.vue
+++ b/src/views/personnelManagement/monthlyStatistics/components/formDia.vue
@@ -227,7 +227,7 @@
           <el-table-column label="绀句繚琛ョ即"
                            minWidth="110">
             <template #default="{ row }">
-              <el-input v-model.number="row.socialSecurityRetroactive"
+              <el-input v-model.number="row.socialSupplementAmount"
                         type="number"
                         placeholder="0"
                         size="small"
@@ -423,7 +423,7 @@
     row.socialPersonal = parseNum(row.socialPersonal);
     row.fundPersonal = parseNum(row.fundPersonal);
     row.otherDeduct = parseNum(row.otherDeduct);
-    row.socialSecurityRetroactive = parseNum(row.socialSecurityRetroactive);
+    row.socialSupplementAmount = parseNum(row.socialSupplementAmount);
     row.salaryTax = parseNum(row.salaryTax);
 
     // 1. 璁$畻澶滅彮琛ヨ创锛氬鐝ぉ鏁� * 鏍囧噯
@@ -446,7 +446,7 @@
       row.socialPersonal +
       row.fundPersonal +
       row.otherDeduct +
-      row.socialSecurityRetroactive +
+      row.socialSupplementAmount +
       row.salaryTax;
 
     // 5. 璁$畻瀹炲彂宸ヨ祫 = 搴斿彂宸ヨ祫 - 搴旀墸宸ヨ祫
@@ -626,7 +626,7 @@
             socialPersonal: parseNum(e.socialPersonal),
             fundPersonal: parseNum(e.fundPersonal),
             otherDeduct: parseNum(e.otherDeduct),
-            socialSecurityRetroactive: parseNum(e.socialSecurityRetroactive),
+            socialSupplementAmount: parseNum(e.socialSupplementAmount),
             salaryTax: parseNum(e.salaryTax),
             grossSalary: parseNum(e.grossSalary),
             deductSalary: parseNum(e.deductSalary),
@@ -677,7 +677,7 @@
         socialPersonal: 0,
         fundPersonal: 0,
         otherDeduct: 0,
-        socialSecurityRetroactive: 0,
+        socialSupplementAmount: 0,
         salaryTax: 0,
         grossSalary: 0,
         deductSalary: 0,
@@ -744,7 +744,7 @@
         socialPersonal: parseNum(e.socialPersonal),
         fundPersonal: parseNum(e.fundPersonal),
         otherDeduct: parseNum(e.otherDeduct),
-        socialSecurityRetroactive: parseNum(e.socialSecurityRetroactive),
+        socialSupplementAmount: parseNum(e.socialSupplementAmount),
         salaryTax: parseNum(e.salaryTax),
         grossSalary: parseNum(e.grossSalary),
         deductSalary: parseNum(e.deductSalary),
@@ -808,7 +808,7 @@
         socialPersonal: parseNum(e.socialPersonal),
         fundPersonal: parseNum(e.fundPersonal),
         otherDeduct: parseNum(e.otherDeduct),
-        socialSecurityRetroactive: parseNum(e.socialSecurityRetroactive),
+        socialSupplementAmount: parseNum(e.socialSupplementAmount),
         salaryTax: parseNum(e.salaryTax),
         grossSalary: parseNum(e.grossSalary),
         deductSalary: parseNum(e.deductSalary),

--
Gitblit v1.9.3