|
@@ -55,20 +55,61 @@
|
|
<div>{{ form.housingFundDeductionPassword }}</div>
|
|
<div>{{ form.housingFundDeductionPassword }}</div>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</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="housingFundPersonList" border style="width: 100%" show-summary
|
|
|
|
+ :summary-method="getSummaries">
|
|
|
|
+ <el-table-column label="序号" align="center" type="index" />
|
|
|
|
+ <el-table-column prop="employeeName" label="人员" />
|
|
|
|
+ <el-table-column prop="cardinalNumber" label="基数">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ {{rowNum(scope.row.cardinalNumber)}}
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="ratio" label="比例">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ {{rowNum(scope.row.ratio/100)}}
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="公司" prop="companyAmount">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ {{rowNum(scope.row.companyAmount)}}
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="个人" prop="oneSelfAmount">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ {{rowNum(scope.row.oneSelfAmount)}}
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="缴费金额" prop="totalAmount">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ {{rowNum(scope.row.totalAmount)}}
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
<el-col :span="24">
|
|
<el-col :span="24">
|
|
<el-divider />
|
|
<el-divider />
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="单位缴纳:">
|
|
<el-form-item label="单位缴纳:">
|
|
<el-input-number v-model="form.unitAmount" size="small" v-if="form.status !==3" placeholder="单位缴纳"
|
|
<el-input-number v-model="form.unitAmount" size="small" v-if="form.status !==3" placeholder="单位缴纳"
|
|
- :precision="2" :controls="false" style="width: 100%" @change="amountChangeHandler" />
|
|
|
|
|
|
+ :precision="2" :controls="false" style="width: 100%" @change="amountChangeHandlerUnit" />
|
|
<div v-else>{{ rowNum(form.unitAmount) }}</div>
|
|
<div v-else>{{ rowNum(form.unitAmount) }}</div>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="个人缴纳:">
|
|
<el-form-item label="个人缴纳:">
|
|
<el-input-number v-model="form.individualAmount" v-if="form.status !==3" size="small" placeholder="个人缴纳"
|
|
<el-input-number v-model="form.individualAmount" v-if="form.status !==3" size="small" placeholder="个人缴纳"
|
|
- :precision="2" :controls="false" style="width: 100%" @change="amountChangeHandler" />
|
|
|
|
|
|
+ :precision="2" :controls="false" style="width: 100%" @change="amountChangeHandlerIndividual" />
|
|
<div v-else>{{ rowNum(form.individualAmount) }}</div>
|
|
<div v-else>{{ rowNum(form.individualAmount) }}</div>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -144,8 +185,10 @@
|
|
<script setup>
|
|
<script setup>
|
|
import {
|
|
import {
|
|
getDetail,
|
|
getDetail,
|
|
- saveDetail, turnBackDetail,
|
|
|
|
|
|
+ saveDetail, turnBackDetail, exportDetail
|
|
} from "@/api/business/production/housingFundDeclare";
|
|
} from "@/api/business/production/housingFundDeclare";
|
|
|
|
+
|
|
|
|
+ import { getMembers, getMembersNoDelete } from "@/api/business/production/housingFundDeclare";
|
|
import { uploadFile } from "@/api/tool/file";
|
|
import { uploadFile } from "@/api/tool/file";
|
|
import dragUpload from "@/components/dragUpload"
|
|
import dragUpload from "@/components/dragUpload"
|
|
import { rowNum } from "@/utils/index";
|
|
import { rowNum } from "@/utils/index";
|
|
@@ -166,10 +209,10 @@
|
|
default: () => { },
|
|
default: () => { },
|
|
},
|
|
},
|
|
});
|
|
});
|
|
-
|
|
|
|
|
|
+ const housingFundPersonList = ref([])
|
|
const { getList } = toRefs(props);
|
|
const { getList } = toRefs(props);
|
|
const total = ref(0);
|
|
const total = ref(0);
|
|
-
|
|
|
|
|
|
+ const changSums = ref([])
|
|
const employeeEmptyData = {
|
|
const employeeEmptyData = {
|
|
id: null,
|
|
id: null,
|
|
title: "",
|
|
title: "",
|
|
@@ -213,7 +256,6 @@
|
|
form.value = detail;
|
|
form.value = detail;
|
|
loadData();
|
|
loadData();
|
|
}
|
|
}
|
|
-
|
|
|
|
function loadData() {
|
|
function loadData() {
|
|
loading.value = true;
|
|
loading.value = true;
|
|
form.value.year = proxy.moment(currentMonth.value).format("YYYY");
|
|
form.value.year = proxy.moment(currentMonth.value).format("YYYY");
|
|
@@ -226,16 +268,95 @@
|
|
// proxy.$modal.msgError("该信息已提交待审核");
|
|
// proxy.$modal.msgError("该信息已提交待审核");
|
|
// close();
|
|
// close();
|
|
// }
|
|
// }
|
|
- amountChangeHandler();
|
|
|
|
|
|
+ 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 => {
|
|
|
|
+ amount += item.companyAmount
|
|
|
|
+
|
|
|
|
+ })
|
|
|
|
+ form.value.unitAmount = amount
|
|
|
|
+ }
|
|
|
|
+ if (form.value.individualAmount === undefined || form.value.individualAmount == 0) {
|
|
|
|
+ let amount = 0
|
|
|
|
+ housingFundPersonList.value.map(item => {
|
|
|
|
+ amount += item.oneSelfAmount
|
|
|
|
+ })
|
|
|
|
+ form.value.individualAmount = amount
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .catch((err) => {
|
|
|
|
+ console.log(err);
|
|
|
|
+ });
|
|
}).finally(() => {
|
|
}).finally(() => {
|
|
loading.value = false;
|
|
loading.value = false;
|
|
});
|
|
});
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ function exportExcel() {
|
|
|
|
+ let data = {
|
|
|
|
+ "companyId": form.value.companyId,
|
|
|
|
+ "year": form.value.year,
|
|
|
|
+ "month": form.value.month
|
|
|
|
+ }
|
|
|
|
+ exportDetail(data)
|
|
|
|
+ }
|
|
function close() {
|
|
function close() {
|
|
visible.value = false;
|
|
visible.value = false;
|
|
reset();
|
|
reset();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ const getSummaries = (param) => {
|
|
|
|
+
|
|
|
|
+ const { columns, data } = param;
|
|
|
|
+ const sums = [];
|
|
|
|
+ columns.forEach((column, index) => {
|
|
|
|
+ if (index === 0) {
|
|
|
|
+ sums[index] = '合计';
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (index === 1 || index === 2 || index === 3) {
|
|
|
|
+ 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 turnBack(detail) {
|
|
function turnBack(detail) {
|
|
loading.value = true
|
|
loading.value = true
|
|
form.value.status = 1;
|
|
form.value.status = 1;
|
|
@@ -266,6 +387,7 @@
|
|
}
|
|
}
|
|
|
|
|
|
function handleSave() {
|
|
function handleSave() {
|
|
|
|
+
|
|
if (form.value.isFirstHousingFund === 0 && form.value.isPayOnWindow === 0) {
|
|
if (form.value.isFirstHousingFund === 0 && form.value.isPayOnWindow === 0) {
|
|
if (!form.value.housingFundUnitAccount) {
|
|
if (!form.value.housingFundUnitAccount) {
|
|
proxy.$modal.msgError("请输入公积金单位账号");
|
|
proxy.$modal.msgError("请输入公积金单位账号");
|
|
@@ -356,15 +478,20 @@
|
|
function openEvidience() {
|
|
function openEvidience() {
|
|
window.open(`${baseUrl.value}${form.value.evidenceFiles[0].fileUrl}`);
|
|
window.open(`${baseUrl.value}${form.value.evidenceFiles[0].fileUrl}`);
|
|
}
|
|
}
|
|
- function amountChangeHandler() {
|
|
|
|
|
|
+ function amountChangeHandlerUnit() {
|
|
|
|
+ let amount = 0;
|
|
|
|
+ amount += form.value.unitAmount == null ? 0 : form.value.unitAmount;
|
|
|
|
+ amount +=
|
|
|
|
+ form.value.individualAmount == null ? 0 : form.value.individualAmount;
|
|
|
|
+ form.value.amount = amount;
|
|
|
|
+ }
|
|
|
|
+ function amountChangeHandlerIndividual() {
|
|
let amount = 0;
|
|
let amount = 0;
|
|
amount += form.value.unitAmount == null ? 0 : form.value.unitAmount;
|
|
amount += form.value.unitAmount == null ? 0 : form.value.unitAmount;
|
|
amount +=
|
|
amount +=
|
|
form.value.individualAmount == null ? 0 : form.value.individualAmount;
|
|
form.value.individualAmount == null ? 0 : form.value.individualAmount;
|
|
- console.log("金额", form.value.unitAmount);
|
|
|
|
form.value.amount = amount;
|
|
form.value.amount = amount;
|
|
}
|
|
}
|
|
-
|
|
|
|
function handleDel(row, index) {
|
|
function handleDel(row, index) {
|
|
proxy.$modal
|
|
proxy.$modal
|
|
.confirm("确定删除吗?")
|
|
.confirm("确定删除吗?")
|