ly 1 an în urmă
părinte
comite
9842f5a2cb

+ 12 - 0
src/api/business/production/socialSecurityDeclare.js

@@ -123,4 +123,16 @@ export function getTableDetail(data) {
     method: 'post',
     data: data
   })
+}
+
+
+export function exportDetail(data) {
+  request.defaults.baseURL = '/ezhizao-yzbh-production'
+  download(
+    "business/socialSecurityDeclare/exportDetail",
+    {
+      ...data,
+    },
+    `社保明细导出_${new Date().getTime()}.xls`
+  )
 }

+ 3 - 4
src/views/business/housingFund/declare/form.vue

@@ -268,14 +268,11 @@
       //   proxy.$modal.msgError("该信息已提交待审核");
       //   close();
       // }
-      amountChangeHandlerIndividual();
-      amountChangeHandlerUnit();
+    
       let query = { "companyId": companyId, "year": form.value.year, "month": form.value.month }
       getMembersNoDelete(query)
         .then((res) => {
           housingFundPersonList.value = res.data
-          console.log("form.value", form.value.unitAmount);
-
           if (form.value.unitAmount === undefined || form.value.unitAmount == 0) {
             let amount = 0
             housingFundPersonList.value.map(item => {
@@ -291,6 +288,8 @@
             })
             form.value.individualAmount = amount
           }
+          amountChangeHandlerIndividual();
+          amountChangeHandlerUnit();
         })
         .catch((err) => {
           console.log(err);

+ 289 - 27
src/views/business/socialSecurity/declare/form.vue

@@ -59,7 +59,7 @@
                 <div>{{ form.socialSecurityPassword }}</div>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
+            <el-col :span="24">
               <el-form-item label="用工密码" required class="edit-label">
                 <template #label>
                   <div>用工密码</div>
@@ -67,34 +67,116 @@
                 <div>{{ form.employeePassword }}</div>
               </el-form-item>
             </el-col>
-
-            <el-table :data="tableData" style="width: 100%">
-              <el-table-column label="" width = "100">
+            <el-col :span="12">
+              <el-form-item label="单位工伤险比例:">
+                <div v-if="form.status !== 3">
+                  <el-input-number v-model="form.injuryRadio" size="small" placeholder="单位医疗险" :precision="2"
+                    :controls="false" style="width: 80%;" @change="changeUnitInjuryRadio" />
+                  <span style="margin-left: 5px;">%</span>
+                </div>
+                <div v-else>{{ rowNum(form.injuryRadio) }}</div>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <div style="display: flex; justify-content: flex-end;margin-bottom: 10px;">
+                <el-button type="primary" @click="exportExcel">导出明细表</el-button>
+              </div>
+            </el-col>
+            <el-table :data="tableData" style="width: 100%" show-summary :summary-method="getSummaries">
+              <el-table-column label="" width="100">
                 <el-table-column label="序号" align="center" type="index" />
-                <el-table-column prop="name" label="职工姓名"   align="center" width="70" />
-                <el-table-column prop="basePayment" label="养老、工伤、失业缴费基数" align="center"  />
-                <el-table-column prop="mmBasePayment" label="医疗、生育缴费基数" align="center"  />
-                <el-table-column prop="heatingPayment" label="采暖基数" align="center" width="70" />
+                <el-table-column prop="name" label="职工姓名" align="center" width="70" />
+                <el-table-column prop="basePayment" label="养老、工伤、失业缴费基数" align="center">
+                  <template #default="scope">
+                    <div> {{ scope.row.basePayment == 0? "0.00":rowNum(scope.row.basePayment) }} </div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="mmBasePayment" label="医疗、生育缴费基数" align="center">
+                  <template #default="scope">
+                    <div> {{ scope.row.mmBasePayment == 0? "0.00":rowNum(scope.row.mmBasePayment) }} </div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="heatingPayment" label="采暖基数" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.heatingPayment == 0? "0.00":rowNum(scope.row.heatingPayment) }}</div>
+                  </template>
+                </el-table-column>
               </el-table-column>
               <el-table-column label="公司承担" align="center">
-                <el-table-column prop="companyBirth" label="生育保险公司" align="center"  />
-                <el-table-column prop="companyLargeMedical" label="大额医疗" align="center" width="70" />
-                <el-table-column prop="companyMedical" label="医疗" align="center" width="70"/>
-                <el-table-column prop="companyElderly" label="养老" align="center" width="70" />
-                <el-table-column prop="companyUnemployment" label="失业保险" align="center" width="70" />
-                <el-table-column prop="companyInjury" label="工伤" align="center" width="70" />
-                <el-table-column prop="companyHeat" label="采暖" align="center" width="70" />
-                <el-table-column prop="companyCount" label="小计" align="center" />
+                <el-table-column prop="companyBirth" label="生育保险公司" align="center">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyBirth == 0? "0.00":rowNum(scope.row.companyBirth) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyLargeMedical" label="大额医疗" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyLargeMedical == 0? "0.00":rowNum(scope.row.companyLargeMedical) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyMedical" label="医疗" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyMedical == 0? "0.00":rowNum(scope.row.companyMedical) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyElderly" label="养老" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyElderly == 0? "0.00":rowNum(scope.row.companyElderly) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyUnemployment" label="失业保险" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyUnemployment == 0? "0.00":rowNum(scope.row.companyUnemployment) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyInjury" label="工伤" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyInjury == 0? "0.00":rowNum(scope.row.companyInjury) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyHeat" label="采暖" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyHeat == 0? "0.00":rowNum(scope.row.companyHeat) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyCount" label="小计" align="center">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyCount == 0? "0.00":rowNum(scope.row.companyCount) }}</div>
+                  </template>
+                </el-table-column>
               </el-table-column>
               <el-table-column label="个人承担" align="center">
-                <el-table-column prop="oneSelfLargeMedical" label="大病" align="center" width="70"/>
-                <el-table-column prop="oneSelfElderly" label="养老保险" align="center" width="70" />
-                <el-table-column prop="oneSelfUnemployment" label="失业保险" align="center" width="70"/>
-                <el-table-column prop="oneSelfEMedical" label="医疗保险" align="center" width="70" />
-                <el-table-column prop="oneSelfCount" label="小计" align="center"  />
+                <el-table-column prop="oneSelfLargeMedical" label="大病" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.oneSelfLargeMedical == 0? "0.00":rowNum(scope.row.oneSelfLargeMedical) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="oneSelfElderly" label="养老保险" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.oneSelfElderly == 0? "0.00":rowNum(scope.row.oneSelfElderly) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="oneSelfUnemployment" label="失业保险" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.oneSelfUnemployment == 0? "0.00":rowNum(scope.row.oneSelfUnemployment) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="oneSelfEMedical" label="医疗保险" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.oneSelfEMedical == 0? "0.00":rowNum(scope.row.oneSelfEMedical) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="oneSelfCount" label="小计" align="center">
+                  <template #default="scope">
+                    <div>{{ scope.row.oneSelfCount == 0? "0.00":rowNum(scope.row.oneSelfCount) }}</div>
+                  </template>
+                </el-table-column>
               </el-table-column>
               <el-table-column label="">
-                <el-table-column prop="totalAmount" label="缴费金额" align="center"  />
+                <el-table-column prop="totalAmount" label="缴费金额" align="center">
+                  <template #default="scope">
+                    <div>{{ scope.row.totalAmount == 0? "0.00":rowNum(scope.row.totalAmount) }}</div>
+                  </template>
+                </el-table-column>
               </el-table-column>
             </el-table>
 
@@ -295,9 +377,9 @@
   import {
     getDetail,
     saveDetail, turnBackDetail,
-    getTableDetail
+    getTableDetail, exportDetail
   } from "@/api/business/production/socialSecurityDeclare";
-
+  import match from "@/utils/match";
   import { uploadFile } from "@/api/tool/file";
   import { rowNum } from "@/utils/index";
   import dragUpload from "@/components/dragUpload"
@@ -365,12 +447,114 @@
       //   proxy.$modal.msgError("该信息已提交待审核");
       //   close();
       // }
-      amountChangeHandler();
-      clearForm.injuryRadio =4 
+
       getTableDetail(clearForm).then((res) => {
         tableData.value = res.data;
+        if (form.value.unitPension === undefined || form.value.unitPension == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyElderly
+
+          })
+          form.value.unitPension = amount
+
+        }
+
+        if (form.value.unitMedical === undefined || form.value.unitMedical == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyMedical
+
+          })
+          form.value.unitMedical = amount
+        }
+
+        if (form.value.unitInjury === undefined || form.value.unitInjury == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyInjury
+
+          })
+          form.value.unitInjury = amount
+        }
+
+        if (form.value.unitUnemployment === undefined || form.value.unitUnemployment == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyUnemployment
+
+          })
+          form.value.unitUnemployment = amount
+        }
+
+        if (form.value.unitProcreate === undefined || form.value.unitProcreate == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyBirth
+
+          })
+          form.value.unitProcreate = amount
+        }
+
+        if (form.value.unitSeriousIllness === undefined || form.value.unitSeriousIllness == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyLargeMedical
+
+          })
+          form.value.unitSeriousIllness = amount
+        }
+
+        if (form.value.unitHeatingFee === undefined || form.value.unitHeatingFee == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyHeat
+
+          })
+          form.value.unitHeatingFee = amount
+        }
+
+        if (form.value.individualPension === undefined || form.value.individualPension == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.oneSelfElderly
+
+          })
+          form.value.individualPension = amount
+        }
+
+
+        if (form.value.individualMedical === undefined || form.value.individualMedical == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.oneSelfEMedical
+
+          })
+          form.value.individualMedical = amount
+        }
+
+
+        if (form.value.individualUnemployment === undefined || form.value.individualUnemployment == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.oneSelfUnemployment
+
+          })
+          form.value.individualUnemployment = amount
+        }
+
+        if (form.value.individualSeriousIllness === undefined || form.value.individualSeriousIllness == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.oneSelfLargeMedical
+
+          })
+          form.value.individualSeriousIllness = amount
+        }
+        amountChangeHandler();
       });
     }).finally(() => {
+
       loading.value = false;
     });
   }
@@ -395,12 +579,62 @@
     visible.value = false;
     reset();
   }
-
+  function exportExcel() {
+    let data = {
+      "companyId": form.value.companyId,
+      "year": form.value.year,
+      "month": form.value.month
+    }
+    exportDetail(data)
+  }
   function reset() {
     form.value = proxy.deepClone(emptyForm);
     canSave.value = false;
   }
+  const getSummaries = (param) => {
 
+    const { columns, data } = param;
+    const sums = [];
+    columns.forEach((column, index) => {
+      if (index === 0) {
+        sums[index] = '合计';
+        return;
+      }
+      if (index === 1) {
+        return;
+      }
+
+      const values = data.map(item => Number(item[column.property]));
+      // if (column.property === 'companyAmount') {
+      //   if (form.value.unitAmount) {
+      //     sums[index] = form.value.unitAmount
+      //     return
+      //   }
+      // } else if (column.property === 'oneSelfAmount') {
+      //   if (form.value.unitAmount) {
+      //     sums[index] = form.value.individualAmount
+      //     return
+      //   }
+      // }
+      // else if (column.property === 'totalAmount') {
+      //   if (form.value.unitAmount && form.value.individualAmount) {
+      //     sums[index] = form.value.individualAmount + form.value.unitAmount
+      //     return
+      //   }
+      // }
+
+      sums[index] = values.reduce((prev, curr) => {
+        const value = Number(curr);
+        if (!isNaN(value)) {
+          return prev + curr;
+        } else {
+          return prev;
+        }
+      }, 0).toFixed(2);
+    });
+
+    return sums
+  }
   function handleCurrentChange(row) {
     currentSource.value = row;
   }
@@ -421,7 +655,33 @@
         visible.value = false;
       });
   }
+  function changeUnitInjuryRadio(e) {
+    console.log(form.value.injuryRadio);
+    tableData.value.forEach((item) => {
+      let radio = match.divide(form.value.injuryRadio, 100);
+      let tempInjury = item.companyInjury
+      item.companyInjury = Number(match.multiply(item.basePayment, radio).toFixed(2));
+      let tempcompanyCount = match.subtract(item.companyCount, tempInjury);
+      item.companyCount = match.add(tempcompanyCount, item.companyInjury);
+      item.totalAmount = match.add(item.companyCount, item.oneSelfCount);
+    });
+    let amount = 0
+    tableData.value.map(item => {
+      amount += item.companyInjury
+      console.log(item.companyInjury);
+
+    })
+    form.value.unitInjury = amount
+    amountChangeHandler()
+  }
+  function changeUnitMedicalRadio(e) {
+    console.log(form.value.medicalRadio);
+    tableData.value.forEach((item) => {
+      let radio = match.divide(form.value.medicalRadio, 100);
+      let tempMedical = item.companyMedical
+    })
 
+  }
   function handleCheckChange(selection) {
     selections.value = selection.map((item) => item);
   }
@@ -576,6 +836,8 @@
         ? 0
         : form.value.individualUnemployment;
     amount += form.value.unitHeatingFee == null ? 0 : form.value.unitHeatingFee;
+   
+    
     form.value.amount = amount;
     canSave.value =
       form.value.unitInjury !== undefined &&

+ 276 - 7
src/views/business/socialSecurity/declare/view.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-dialog title="社保申报信息" v-model="visible" :width="width" append-to-body draggable @close="close"
+  <el-dialog title="社保申报信息" v-model="visible" width="100%" append-to-body draggable @close="close"
     :close-on-click-modal="false">
     <div v-loading="loading">
       <!-- <div slot="title" class="dialog-title-container">
@@ -54,7 +54,7 @@
                 <div>{{ form.socialSecurityPassword }}</div>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
+            <el-col :span="24">
               <el-form-item label="用工密码" required class="edit-label">
                 <template #label>
                   <div>用工密码</div>
@@ -62,6 +62,119 @@
                 <div>{{ form.employeePassword }}</div>
               </el-form-item>
             </el-col>
+            <el-col :span="12">
+              <el-form-item label="单位工伤险比例:">
+                <div v-if="form.status !== 3">
+                  <el-input-number v-model="form.injuryRadio" size="small" placeholder="单位医疗险" :precision="2"
+                    :controls="false" style="width: 80%;" @change="changeUnitInjuryRadio" />
+                  <span style="margin-left: 5px;">%</span>
+                </div>
+                <div v-else>{{ rowNum(form.injuryRadio) + "%"}}</div>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <div style="display: flex; justify-content: flex-end;margin-bottom: 10px;">
+                <el-button type="primary" @click="exportExcel">导出明细表</el-button>
+              </div>
+            </el-col>
+            <el-table :data="tableData" style="width: 100%" show-summary :summary-method="getSummaries">
+              <el-table-column label="" width="100">
+                <el-table-column label="序号" align="center" type="index" />
+                <el-table-column prop="name" label="职工姓名" align="center" width="70" />
+                <el-table-column prop="basePayment" label="养老、工伤、失业缴费基数" align="center">
+                  <template #default="scope">
+                    <div> {{ scope.row.basePayment == 0? "0.00":rowNum(scope.row.basePayment) }} </div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="mmBasePayment" label="医疗、生育缴费基数" align="center">
+                  <template #default="scope">
+                    <div> {{ scope.row.mmBasePayment == 0? "0.00":rowNum(scope.row.mmBasePayment) }} </div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="heatingPayment" label="采暖基数" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.heatingPayment == 0? "0.00":rowNum(scope.row.heatingPayment) }}</div>
+                  </template>
+                </el-table-column>
+              </el-table-column>
+              <el-table-column label="公司承担" align="center">
+                <el-table-column prop="companyBirth" label="生育保险公司" align="center">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyBirth == 0? "0.00":rowNum(scope.row.companyBirth) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyLargeMedical" label="大额医疗" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyLargeMedical == 0? "0.00":rowNum(scope.row.companyLargeMedical) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyMedical" label="医疗" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyMedical == 0? "0.00":rowNum(scope.row.companyMedical) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyElderly" label="养老" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyElderly == 0? "0.00":rowNum(scope.row.companyElderly) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyUnemployment" label="失业保险" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyUnemployment == 0? "0.00":rowNum(scope.row.companyUnemployment) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyInjury" label="工伤" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyInjury == 0? "0.00":rowNum(scope.row.companyInjury) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyHeat" label="采暖" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyHeat == 0? "0.00":rowNum(scope.row.companyHeat) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="companyCount" label="小计" align="center">
+                  <template #default="scope">
+                    <div>{{ scope.row.companyCount == 0? "0.00":rowNum(scope.row.companyCount) }}</div>
+                  </template>
+                </el-table-column>
+              </el-table-column>
+              <el-table-column label="个人承担" align="center">
+                <el-table-column prop="oneSelfLargeMedical" label="大病" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.oneSelfLargeMedical == 0? "0.00":rowNum(scope.row.oneSelfLargeMedical) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="oneSelfElderly" label="养老保险" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.oneSelfElderly == 0? "0.00":rowNum(scope.row.oneSelfElderly) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="oneSelfUnemployment" label="失业保险" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.oneSelfUnemployment == 0? "0.00":rowNum(scope.row.oneSelfUnemployment) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="oneSelfEMedical" label="医疗保险" align="center" width="70">
+                  <template #default="scope">
+                    <div>{{ scope.row.oneSelfEMedical == 0? "0.00":rowNum(scope.row.oneSelfEMedical) }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="oneSelfCount" label="小计" align="center">
+                  <template #default="scope">
+                    <div>{{ scope.row.oneSelfCount == 0? "0.00":rowNum(scope.row.oneSelfCount) }}</div>
+                  </template>
+                </el-table-column>
+              </el-table-column>
+              <el-table-column label="">
+                <el-table-column prop="totalAmount" label="缴费金额" align="center">
+                  <template #default="scope">
+                    <div>{{ scope.row.totalAmount == 0? "0.00":rowNum(scope.row.totalAmount) }}</div>
+                  </template>
+                </el-table-column>
+              </el-table-column>
+            </el-table>
+
             <el-col :span="24">
               <el-divider />
             </el-col>
@@ -244,13 +357,14 @@
 <script setup>
   import {
     getDetail,
-    saveDetail, turnBackDetail
+    saveDetail, turnBackDetail,getTableDetail, exportDetail
   } from "@/api/business/production/socialSecurityDeclare";
   import { uploadFile } from "@/api/tool/file";
   import { ref } from "vue";
   import { rowNum } from "@/utils/index";
   const { proxy } = getCurrentInstance();
   const visible = ref(false);
+  const tableData = ref([]);
   const width = ref(800);
   const stopUseBack = ref(false);
   const selections = ref([]);
@@ -304,12 +418,116 @@
     loading.value = true;
     form.value.year = proxy.moment(currentMonth.value).format("YYYY");
     form.value.month = proxy.moment(currentMonth.value).format("MM");
-    const { year, month, socialSecurityDeclareId, companyId } = form.value
-    const clearForm = { year, month, socialSecurityDeclareId, companyId }
+    const { year, month, socialSecurityDeclareId, companyId,injuryRadio } = form.value
+    const clearForm = { year, month, socialSecurityDeclareId, companyId ,injuryRadio}
     getDetail(clearForm).then((res) => {
       form.value = { ...proxy.deepClone(emptyForm), ...res.data };
       form.value.evidenceFile =  form.value.evidenceFiles[0].fileUrl;
-      amountChangeHandler();
+      getTableDetail(clearForm).then((res) => {
+        tableData.value = res.data;
+        if (form.value.unitPension === undefined || form.value.unitPension == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyElderly
+
+          })
+          form.value.unitPension = amount
+
+        }
+
+        if (form.value.unitMedical === undefined || form.value.unitMedical == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyMedical
+
+          })
+          form.value.unitMedical = amount
+        }
+
+        if (form.value.unitInjury === undefined || form.value.unitInjury == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyInjury
+
+          })
+          form.value.unitInjury = amount
+        }
+
+        if (form.value.unitUnemployment === undefined || form.value.unitUnemployment == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyUnemployment
+
+          })
+          form.value.unitUnemployment = amount
+        }
+
+        if (form.value.unitProcreate === undefined || form.value.unitProcreate == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyBirth
+
+          })
+          form.value.unitProcreate = amount
+        }
+
+        if (form.value.unitSeriousIllness === undefined || form.value.unitSeriousIllness == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyLargeMedical
+
+          })
+          form.value.unitSeriousIllness = amount
+        }
+
+        if (form.value.unitHeatingFee === undefined || form.value.unitHeatingFee == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.companyHeat
+
+          })
+          form.value.unitHeatingFee = amount
+        }
+
+        if (form.value.individualPension === undefined || form.value.individualPension == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.oneSelfElderly
+
+          })
+          form.value.individualPension = amount
+        }
+
+
+        if (form.value.individualMedical === undefined || form.value.individualMedical == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.oneSelfEMedical
+
+          })
+          form.value.individualMedical = amount
+        }
+
+
+        if (form.value.individualUnemployment === undefined || form.value.individualUnemployment == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.oneSelfUnemployment
+
+          })
+          form.value.individualUnemployment = amount
+        }
+
+        if (form.value.individualSeriousIllness === undefined || form.value.individualSeriousIllness == 0) {
+          let amount = 0
+          tableData.value.map(item => {
+            amount += item.oneSelfLargeMedical
+
+          })
+          form.value.individualSeriousIllness = amount
+        }
+        amountChangeHandler();
+      });
     }).finally(() => {
         loading.value = false;
     });
@@ -344,7 +562,15 @@
   function handleCurrentChange(row) {
     currentSource.value = row;
   }
-
+  function exportExcel() {
+    let data = {
+      "companyId": form.value.companyId,
+      "year": form.value.year,
+      "month": form.value.month,
+      "radio": form.value.injuryRadio
+    }
+    exportDetail(data)
+  }
   function handleCheckChange(selection) {
     selections.value = selection.map((item) => item);
   }
@@ -437,7 +663,50 @@
       proxy.$modal.msgError("请输入正确密码");
     }
   }
+  const getSummaries = (param) => {
+
+const { columns, data } = param;
+const sums = [];
+columns.forEach((column, index) => {
+  if (index === 0) {
+    sums[index] = '合计';
+    return;
+  }
+  if (index === 1) {
+    return;
+  }
+
+  const values = data.map(item => Number(item[column.property]));
+  // if (column.property === 'companyAmount') {
+  //   if (form.value.unitAmount) {
+  //     sums[index] = form.value.unitAmount
+  //     return
+  //   }
+  // } else if (column.property === 'oneSelfAmount') {
+  //   if (form.value.unitAmount) {
+  //     sums[index] = form.value.individualAmount
+  //     return
+  //   }
+  // }
+  // else if (column.property === 'totalAmount') {
+  //   if (form.value.unitAmount && form.value.individualAmount) {
+  //     sums[index] = form.value.individualAmount + form.value.unitAmount
+  //     return
+  //   }
+  // }
+
+  sums[index] = values.reduce((prev, curr) => {
+    const value = Number(curr);
+    if (!isNaN(value)) {
+      return prev + curr;
+    } else {
+      return prev;
+    }
+  }, 0).toFixed(2);
+});
 
+return sums
+}
   function passwordCheck(value) {
     const pattern = /^[A-Za-z0-9~!@#$%^&*()_+-=]*$/;
     if (!pattern.test(value)) {