|
@@ -36,6 +36,14 @@
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item prop="accountsReceivable" label="应收项">
|
|
|
|
|
+ <el-select v-model="recordForm.accountsReceivable" clearable>
|
|
|
|
|
+ <el-option v-for="item in optionObj['invoice_risk_type']" :key="item.value" :value="item.value"
|
|
|
|
|
+ :label="item.label"></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
<el-form-item prop="invoiceStatus" label="开票状态">
|
|
<el-form-item prop="invoiceStatus" label="开票状态">
|
|
|
<el-select v-model="recordForm.invoiceStatus" filterable clearable>
|
|
<el-select v-model="recordForm.invoiceStatus" filterable clearable>
|
|
@@ -56,8 +64,8 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
- <el-table height="calc(100% - 100px)" :data="recordData" row-key="id" :summary-method="getSummaries"
|
|
|
|
|
- show-summary>
|
|
|
|
|
|
|
+ <el-table height="calc(100% - 200px)" :data="recordData" show-summary
|
|
|
|
|
+ :summary-method="val => getSummaries(val, ['totalReceivable', 'totalOverinflatedAmount', 'superviseFee', 'SxfInvoicedAmount', 'sxfSettledAmount', 'SxfUnInvoicedAmount', 'sxfUnSettledAmount', 'settlementPaymentDifference'])">
|
|
|
<el-table-column prop="companyName" label="保险公司" width="300"></el-table-column>
|
|
<el-table-column prop="companyName" label="保险公司" width="300"></el-table-column>
|
|
|
<el-table-column prop="totalReceivable" label="应收金额"></el-table-column>
|
|
<el-table-column prop="totalReceivable" label="应收金额"></el-table-column>
|
|
|
<el-table-column prop="totalOverinflatedAmount" label="虚增金额合计"></el-table-column>
|
|
<el-table-column prop="totalOverinflatedAmount" label="虚增金额合计"></el-table-column>
|
|
@@ -148,13 +156,15 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
- <el-table height="calc(100% - 192px)" :data="recordData1">
|
|
|
|
|
|
|
+ <el-table height="calc(100% - 192px)" :data="recordData1" show-summary :summary-method="val=>getSummaries(val,['taxPoint', 'actualReceivedAmount'])">
|
|
|
<el-table-column prop="settlementId" label="结算记录编号" width="200"></el-table-column>
|
|
<el-table-column prop="settlementId" label="结算记录编号" width="200"></el-table-column>
|
|
|
<el-table-column prop="companyName" label="保险公司" width="200"></el-table-column>
|
|
<el-table-column prop="companyName" label="保险公司" width="200"></el-table-column>
|
|
|
<el-table-column prop="invoiceParty" label="开票方" width="150"></el-table-column>
|
|
<el-table-column prop="invoiceParty" label="开票方" width="150"></el-table-column>
|
|
|
<el-table-column prop="invoiceType" label="应收项" width="100"></el-table-column>
|
|
<el-table-column prop="invoiceType" label="应收项" width="100"></el-table-column>
|
|
|
<el-table-column prop="taxPoint" label="税点" width="100"></el-table-column>
|
|
<el-table-column prop="taxPoint" label="税点" width="100"></el-table-column>
|
|
|
<el-table-column prop="actualReceivedAmount" label="实收金额" width="100"></el-table-column>
|
|
<el-table-column prop="actualReceivedAmount" label="实收金额" width="100"></el-table-column>
|
|
|
|
|
+ <el-table-column prop="settlementPaymentDifference" label="回款差额" width="100"></el-table-column>
|
|
|
|
|
+ <el-table-column prop="settlementPaymentReason" label="回款差额原因" width="200"></el-table-column>
|
|
|
<el-table-column prop="receivePaymentDate" label="收款日期" width="150"></el-table-column>
|
|
<el-table-column prop="receivePaymentDate" label="收款日期" width="150"></el-table-column>
|
|
|
<el-table-column label="收款凭证" width="100">
|
|
<el-table-column label="收款凭证" width="100">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
@@ -228,7 +238,7 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
- <el-table height="calc(100% - 192px)" :data="recordData2">
|
|
|
|
|
|
|
+ <el-table height="calc(100% - 192px)" :data="recordData2" show-summary :summary-method="val=>getSummaries(val,['receivableSuperviseCosts', 'jqPremium','taxPremium','syPremium','jqSuperviseCostsProportion','sySuperviseCostsProportion'])">
|
|
|
<el-table-column prop="invoiceId" label="开票记录编号" width="200"></el-table-column>
|
|
<el-table-column prop="invoiceId" label="开票记录编号" width="200"></el-table-column>
|
|
|
<el-table-column prop="companyName" label="保险公司" width="200"></el-table-column>
|
|
<el-table-column prop="companyName" label="保险公司" width="200"></el-table-column>
|
|
|
<el-table-column prop="invoiceParty" label="开票方" width="100"></el-table-column>
|
|
<el-table-column prop="invoiceParty" label="开票方" width="100"></el-table-column>
|
|
@@ -304,7 +314,7 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
- <el-table height="calc(100% - 192px)" :data="recordData3">
|
|
|
|
|
|
|
+ <el-table height="calc(100% - 192px)" :data="recordData3" show-summary :summary-method="val=>getSummaries(val,['receivableSuperviseCosts','jyPremium','jySuperviseCostsProportion'])">
|
|
|
<el-table-column prop="invoiceId" label="开票记录编号" width="200"></el-table-column>
|
|
<el-table-column prop="invoiceId" label="开票记录编号" width="200"></el-table-column>
|
|
|
<el-table-column prop="companyName" label="保险公司" width="200"></el-table-column>
|
|
<el-table-column prop="companyName" label="保险公司" width="200"></el-table-column>
|
|
|
<el-table-column prop="invoiceParty" label="开票方" width="100"></el-table-column>
|
|
<el-table-column prop="invoiceParty" label="开票方" width="100"></el-table-column>
|
|
@@ -455,33 +465,53 @@ const handleCurrentChange = (page, type) => {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-const getSummaries = (param) => {
|
|
|
|
|
|
|
+const getSummaries = (param, list) => {
|
|
|
|
|
+ console.log(param)
|
|
|
const { columns, data } = param
|
|
const { columns, data } = param
|
|
|
const sums: (string | VNode)[] = []
|
|
const sums: (string | VNode)[] = []
|
|
|
|
|
+ // 指定需要计算的字段列表(可根据需求添加字段名)
|
|
|
|
|
+ const specifiedFields = list // 替换为您需要的字段名
|
|
|
|
|
+
|
|
|
columns.forEach((column, index) => {
|
|
columns.forEach((column, index) => {
|
|
|
if (index === 0) {
|
|
if (index === 0) {
|
|
|
- sums[index] = h('div', [
|
|
|
|
|
|
|
+ sums[index] = h('div', { style: { textDecoration: 'underline' } }, [
|
|
|
'',
|
|
'',
|
|
|
])
|
|
])
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- const values = data.map((item) => Number(item[column.property]))
|
|
|
|
|
|
|
+ // 计算数字类型字段和指定字段
|
|
|
|
|
+ const values = data.map((item) => {
|
|
|
|
|
+ const val = item[column.property]
|
|
|
|
|
+ // 排除空值
|
|
|
|
|
+ if (val === '' || val === null || val === undefined) {
|
|
|
|
|
+ return NaN
|
|
|
|
|
+ }
|
|
|
|
|
+ // 如果是数字类型,直接参与计算
|
|
|
|
|
+ if (typeof val === 'number') {
|
|
|
|
|
+ return val
|
|
|
|
|
+ }
|
|
|
|
|
+ // 如果字段在指定列表中,尝试转换为数字
|
|
|
|
|
+ if (specifiedFields.includes(column.property)) {
|
|
|
|
|
+ const num = Number(val)
|
|
|
|
|
+ return Number.isNaN(num) ? NaN : num
|
|
|
|
|
+ }
|
|
|
|
|
+ // 其他情况不参与计算
|
|
|
|
|
+ return NaN
|
|
|
|
|
+ })
|
|
|
if (!values.every((value) => Number.isNaN(value))) {
|
|
if (!values.every((value) => Number.isNaN(value))) {
|
|
|
- sums[index] = ` ${values.reduce((prev, curr) => {
|
|
|
|
|
- const value = Number(curr)
|
|
|
|
|
- if (!Number.isNaN(value)) {
|
|
|
|
|
|
|
+ const total = values.reduce((prev, curr) => {
|
|
|
|
|
+ if (!Number.isNaN(curr)) {
|
|
|
return prev + curr
|
|
return prev + curr
|
|
|
} else {
|
|
} else {
|
|
|
return prev
|
|
return prev
|
|
|
}
|
|
}
|
|
|
- }, 0)}`
|
|
|
|
|
|
|
+ }, 0)
|
|
|
|
|
+ // 保留五位小数
|
|
|
|
|
+ sums[index] = ` ${total.toFixed(5)}`
|
|
|
} else {
|
|
} else {
|
|
|
- if (index > 2) {
|
|
|
|
|
- sums[index - 1] = '0'
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ sums[index] = '-'
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
-
|
|
|
|
|
return sums
|
|
return sums
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -505,6 +535,7 @@ const initData1 = () => {
|
|
|
companyId: recordForm.value.companyId,
|
|
companyId: recordForm.value.companyId,
|
|
|
startTime: recordForm.value.time?.[0],
|
|
startTime: recordForm.value.time?.[0],
|
|
|
endTime: recordForm.value.time?.[1],
|
|
endTime: recordForm.value.time?.[1],
|
|
|
|
|
+ accountsReceivable: recordForm.value.accountsReceivable,
|
|
|
invoiceStartTime: recordForm.value.invoiceTime?.[0],
|
|
invoiceStartTime: recordForm.value.invoiceTime?.[0],
|
|
|
invoiceEndTime: recordForm.value.invoiceTime?.[1],
|
|
invoiceEndTime: recordForm.value.invoiceTime?.[1],
|
|
|
settlementStartTime: recordForm.value.settlementTime?.[0],
|
|
settlementStartTime: recordForm.value.settlementTime?.[0],
|