|
@@ -16,22 +16,25 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
<el-form-item prop="invoiceParty" label="开票方">
|
|
<el-form-item prop="invoiceParty" label="开票方">
|
|
|
- <el-select v-model="form.invoiceParty" clearable >
|
|
|
|
|
- <el-option v-for="item in optionObj['invoice_party']" :key="item.value" :value="item.value" :label="item.label"></el-option>
|
|
|
|
|
|
|
+ <el-select v-model="form.invoiceParty" clearable>
|
|
|
|
|
+ <el-option v-for="item in optionObj['invoice_party']" :key="item.value" :value="item.value"
|
|
|
|
|
+ :label="item.label"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
<el-form-item prop="invoiceType" label="应收项">
|
|
<el-form-item prop="invoiceType" label="应收项">
|
|
|
- <el-select v-model="form.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 v-model="form.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-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
<el-form-item prop="status" label="结算状态">
|
|
<el-form-item prop="status" label="结算状态">
|
|
|
- <el-select v-model="form.settlementStatus" clearable >
|
|
|
|
|
- <el-option v-for="item in optionObj['settlement_status']" :key="item.value" :value="item.value" :label="item.label"></el-option>
|
|
|
|
|
|
|
+ <el-select v-model="form.settlementStatus" clearable>
|
|
|
|
|
+ <el-option v-for="item in optionObj['settlement_status']" :key="item.value" :value="item.value"
|
|
|
|
|
+ :label="item.label"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -46,28 +49,28 @@
|
|
|
format="YYYY-MM-DD HH:mm:ss" />
|
|
format="YYYY-MM-DD HH:mm:ss" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
- <el-col :span="16">
|
|
|
|
|
|
|
+ <el-col :span="16" style="display: flex; align-items: start; justify-content: flex-end">
|
|
|
<el-button type="primary" @click="search">查询</el-button>
|
|
<el-button type="primary" @click="search">查询</el-button>
|
|
|
<el-button plain type="primary" @click="reset">重置</el-button>
|
|
<el-button plain type="primary" @click="reset">重置</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<el-table :data="tableData" style="height: calc(100% - 192px)" show-summary :summary-method="getSummaries">
|
|
<el-table :data="tableData" style="height: calc(100% - 192px)" show-summary :summary-method="getSummaries">
|
|
|
- <el-table-column prop="recordId" label="开票记录编号" width="200"></el-table-column>
|
|
|
|
|
- <el-table-column prop="companyId" label="保险公司" width="150">
|
|
|
|
|
- <template #default="scope">
|
|
|
|
|
- {{ getCompanyName(scope.row) }}
|
|
|
|
|
- </template>
|
|
|
|
|
|
|
+ <el-table-column prop="id" label="开票记录编号" width="200"></el-table-column>
|
|
|
|
|
+ <el-table-column prop="companyAllName" label="保险公司" width="150">
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column prop="invoiceParty" label="开票方" width="150"></el-table-column>
|
|
|
|
|
|
|
+ <el-table-column prop="companyNameSimple" label="保险机构" width="150"></el-table-column>
|
|
|
<el-table-column prop="invoiceNo" label="开票号" width="150"></el-table-column>
|
|
<el-table-column prop="invoiceNo" label="开票号" width="150"></el-table-column>
|
|
|
|
|
+ <el-table-column prop="invoiceParty" label="开票方" width="150"></el-table-column>
|
|
|
<el-table-column prop="accountsReceivable" label="应收项" width="100"></el-table-column>
|
|
<el-table-column prop="accountsReceivable" label="应收项" width="100"></el-table-column>
|
|
|
- <el-table-column prop="receivableSupervisePremium" label="应收跟单费" width="120"></el-table-column>
|
|
|
|
|
|
|
+ <el-table-column prop="receivableAmount" label="应收金额" width="120"></el-table-column>
|
|
|
<el-table-column prop="overinflatedAmount" label="虚增金额" width="120"></el-table-column>
|
|
<el-table-column prop="overinflatedAmount" label="虚增金额" width="120"></el-table-column>
|
|
|
|
|
+ <el-table-column prop="paymentReason" label="差额原因" width="120"></el-table-column>
|
|
|
<el-table-column prop="taxPoint" label="税点" width="120"></el-table-column>
|
|
<el-table-column prop="taxPoint" label="税点" width="120"></el-table-column>
|
|
|
- <el-table-column prop="receivableSupervisePremium" label="应收金额" width="120"></el-table-column>
|
|
|
|
|
- <el-table-column prop="settlementStatus" label="结算状态" width="120"></el-table-column>
|
|
|
|
|
- <el-table-column prop="a" label="已结算" width="120"></el-table-column>
|
|
|
|
|
|
|
+ <el-table-column prop="receivableSupervisePremium" label="开票金额" width="120"></el-table-column>
|
|
|
|
|
+ <el-table-column prop="settlementStatus" label="结算状态" width="120">
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column prop="settlementAmount" label="已结算金额" width="120"></el-table-column>
|
|
|
<el-table-column prop="createBy" label="开票人" width="120"></el-table-column>
|
|
<el-table-column prop="createBy" label="开票人" width="120"></el-table-column>
|
|
|
<el-table-column prop="createTime" label="开票时间" width="150"></el-table-column>
|
|
<el-table-column prop="createTime" label="开票时间" width="150"></el-table-column>
|
|
|
<el-table-column label="操作" width="150" fixed="right">
|
|
<el-table-column label="操作" width="150" fixed="right">
|
|
@@ -86,8 +89,8 @@
|
|
|
<el-form-item prop="invoiceParty" label="开票方">
|
|
<el-form-item prop="invoiceParty" label="开票方">
|
|
|
<el-input v-model="countForm.invoiceParty" disabled placeholder="请输入"></el-input>
|
|
<el-input v-model="countForm.invoiceParty" disabled placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item prop="receivableSupervisePremium" label="应收手续费">
|
|
|
|
|
- <el-input v-model="countForm.receivableSupervisePremium" disabled placeholder="请输入"></el-input>
|
|
|
|
|
|
|
+ <el-form-item prop="receivableAmount" label="应收金额">
|
|
|
|
|
+ <el-input v-model="countForm.receivableAmount" disabled placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item prop="overinflatedAmount" label="虚增金额">
|
|
<el-form-item prop="overinflatedAmount" label="虚增金额">
|
|
|
<el-input v-model="countForm.overinflatedAmount" disabled placeholder="请输入"></el-input>
|
|
<el-input v-model="countForm.overinflatedAmount" disabled placeholder="请输入"></el-input>
|
|
@@ -95,14 +98,21 @@
|
|
|
<el-form-item prop="taxPoint" label="税点">
|
|
<el-form-item prop="taxPoint" label="税点">
|
|
|
<el-input v-model="countForm.taxPoint" disabled placeholder="请输入"></el-input>
|
|
<el-input v-model="countForm.taxPoint" disabled placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item prop="receivableSupervisePremium" label="应收金额">
|
|
|
|
|
|
|
+ <el-form-item prop="receivableSupervisePremium" label="开票金额">
|
|
|
<el-input v-model="countForm.receivableSupervisePremium" disabled placeholder="请输入"></el-input>
|
|
<el-input v-model="countForm.receivableSupervisePremium" disabled placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item prop="actualReceivedAmount" label="实收金额">
|
|
<el-form-item prop="actualReceivedAmount" label="实收金额">
|
|
|
- <el-input v-model="countForm.actualReceivedAmount" placeholder="请输入"></el-input>
|
|
|
|
|
|
|
+ <el-input-number v-model="countForm.actualReceivedAmount" style="width: 100%;" :min="0" :max="countForm.remainSettlementAmount" :precision="2"
|
|
|
|
|
+ controls-position="right" @change="handleChange()" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="回款差额">
|
|
|
|
|
+ <el-input v-model="countForm.settlementPaymentDifference" disabled placeholder="自动计算" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item prop="settlementPaymentReason" label="差额原因">
|
|
|
|
|
+ <el-input v-model="countForm.settlementPaymentReason" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item prop="receivePaymentDate" label="收款日期">
|
|
<el-form-item prop="receivePaymentDate" label="收款日期">
|
|
|
- <el-date-picker v-model="countForm.receivePaymentDate" type="daterange" />
|
|
|
|
|
|
|
+ <el-date-picker v-model="countForm.receivePaymentDate" type="date" value-format="YYYY-MM-DD" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item prop="attachmentIds" label="收款凭证" class="upload-btn">
|
|
<el-form-item prop="attachmentIds" label="收款凭证" class="upload-btn">
|
|
|
<el-upload style="margin: 0 10px 10px 0" :auto-upload="false" multiple v-if="!countForm.h"
|
|
<el-upload style="margin: 0 10px 10px 0" :auto-upload="false" multiple v-if="!countForm.h"
|
|
@@ -140,12 +150,7 @@ import api from "@/api";
|
|
|
import { ElMessage } from 'element-plus'
|
|
import { ElMessage } from 'element-plus'
|
|
|
|
|
|
|
|
let form = ref({})
|
|
let form = ref({})
|
|
|
-let tableData = ref([{}])
|
|
|
|
|
-
|
|
|
|
|
-const getCompanyName = (row) => {
|
|
|
|
|
- let company = companyList.value.find(item => item.companyCode === row.companyId)
|
|
|
|
|
- return company?.name || ''
|
|
|
|
|
-}
|
|
|
|
|
|
|
+let tableData = ref([])
|
|
|
|
|
|
|
|
let pages = ref(1)
|
|
let pages = ref(1)
|
|
|
let size = ref(10)
|
|
let size = ref(10)
|
|
@@ -185,14 +190,18 @@ let countRules = ref({
|
|
|
receivePaymentDate: [{ required: true, trigger: "change", message: "请选择" }],
|
|
receivePaymentDate: [{ required: true, trigger: "change", message: "请选择" }],
|
|
|
attachmentIds: [{ required: true, message: "请上传" }]
|
|
attachmentIds: [{ required: true, message: "请上传" }]
|
|
|
})
|
|
})
|
|
|
-let imageUrl = ref('')
|
|
|
|
|
|
|
+let imageUrl = ref([])
|
|
|
let attachmentIds = ref([])
|
|
let attachmentIds = ref([])
|
|
|
let invoicingId = ref('')
|
|
let invoicingId = ref('')
|
|
|
const handleCount = (row) => {
|
|
const handleCount = (row) => {
|
|
|
countShow.value = true
|
|
countShow.value = true
|
|
|
|
|
+ imageUrl.value = []
|
|
|
|
|
+ attachmentIds.value = []
|
|
|
invoicingId.value = row.id
|
|
invoicingId.value = row.id
|
|
|
countForm.value = {
|
|
countForm.value = {
|
|
|
invoiceParty: row.invoiceParty,
|
|
invoiceParty: row.invoiceParty,
|
|
|
|
|
+ remainSettlementAmount: row.remainSettlementAmount,
|
|
|
|
|
+ receivableAmount: row.receivableAmount,
|
|
|
receivableSupervisePremium: row.receivableSupervisePremium,
|
|
receivableSupervisePremium: row.receivableSupervisePremium,
|
|
|
overinflatedAmount: row.overinflatedAmount,
|
|
overinflatedAmount: row.overinflatedAmount,
|
|
|
taxPoint: row.taxPoint,
|
|
taxPoint: row.taxPoint,
|
|
@@ -210,6 +219,25 @@ const uploadImage = async (file) => {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+/** 计算实收金额与应收监管保费的差值,并将结果赋值给付款差额字段 */
|
|
|
|
|
+const handleChange = async () => {
|
|
|
|
|
+ const num = await calSub(countForm.value.actualReceivedAmount, countForm.value.receivableSupervisePremium)
|
|
|
|
|
+ countForm.value.settlementPaymentDifference = num
|
|
|
|
|
+}
|
|
|
|
|
+/** 计算应收监管保费差额并更新虚增金额 */
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 计算两个数值的差值(被减数 - 减数)
|
|
|
|
|
+ * @param minuend 被减数
|
|
|
|
|
+ * @param subtrahend 减数
|
|
|
|
|
+ * @returns 差值,若接口无数据则返回 0
|
|
|
|
|
+ */
|
|
|
|
|
+const calSub = async (minuend: number = 0, subtrahend: number) => {
|
|
|
|
|
+ const res = await api.financeApi.calSub({ minuend, subtrahend })
|
|
|
|
|
+ return res.data || 0
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// 列表
|
|
// 列表
|
|
|
const initList = () => {
|
|
const initList = () => {
|
|
|
api.invoiceRecordApi.invoiceRecord({
|
|
api.invoiceRecordApi.invoiceRecord({
|
|
@@ -252,7 +280,7 @@ const handelComfirm = (CountForm) => {
|
|
|
if (!CountForm) return
|
|
if (!CountForm) return
|
|
|
CountForm.validate((valid) => {
|
|
CountForm.validate((valid) => {
|
|
|
if (valid) {
|
|
if (valid) {
|
|
|
- api.financeApi.settlement({
|
|
|
|
|
|
|
+ api.financeApi.followSettlement({
|
|
|
invoicingId: invoicingId.value,
|
|
invoicingId: invoicingId.value,
|
|
|
actualReceivedAmount: countForm.value.actualReceivedAmount,
|
|
actualReceivedAmount: countForm.value.actualReceivedAmount,
|
|
|
receivePaymentDate: countForm.value.receivePaymentDate,
|
|
receivePaymentDate: countForm.value.receivePaymentDate,
|
|
@@ -260,15 +288,11 @@ const handelComfirm = (CountForm) => {
|
|
|
}).then((res: any) => {
|
|
}).then((res: any) => {
|
|
|
countShow.value = false
|
|
countShow.value = false
|
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
|
|
|
+ reset()
|
|
|
ElMessage({
|
|
ElMessage({
|
|
|
message: res.msg,
|
|
message: res.msg,
|
|
|
type: 'success'
|
|
type: 'success'
|
|
|
})
|
|
})
|
|
|
- } else {
|
|
|
|
|
- ElMessage({
|
|
|
|
|
- message: res.msg,
|
|
|
|
|
- type: 'warning'
|
|
|
|
|
- })
|
|
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
@@ -289,7 +313,7 @@ const handelCancel = () => {
|
|
|
imageUrl.value = []
|
|
imageUrl.value = []
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-const optionObj=ref({})
|
|
|
|
|
|
|
+const optionObj = ref({})
|
|
|
const initOption = () => {
|
|
const initOption = () => {
|
|
|
let list = ['invoice_risk_type', 'invoice_party', 'settlement_status']
|
|
let list = ['invoice_risk_type', 'invoice_party', 'settlement_status']
|
|
|
list.forEach(item => {
|
|
list.forEach(item => {
|