Commit 0f66ee66 authored by suqh's avatar suqh

Merge branch 'func-eccs-2152' into test

parents d77d3f44 b6ab0bac
...@@ -14,5 +14,8 @@ export default { ...@@ -14,5 +14,8 @@ export default {
eobReceipListExport: "/backstage/auth/eobReceipListExport", //EOB关联账单导出 eobReceipListExport: "/backstage/auth/eobReceipListExport", //EOB关联账单导出
queryBackReceiptList: "/backstage/auth/queryBackReceiptList", //回销关联账单列表查询 queryBackReceiptList: "/backstage/auth/queryBackReceiptList", //回销关联账单列表查询
queryReceiptInfoList: "/backstage/auth/queryReceiptInfoList", //回销账单列表查询 queryReceiptInfoList: "/backstage/auth/queryReceiptInfoList", //回销账单列表查询
deleteReceiptRecord: "/backstage/auth/deleteBackReceipt", // 删除已关联账单
exportBackMoneyReport: "/backstage/auth/backMoneyListExport", // 回款列表导出
exportBackReceiptList: "/backstage/auth/exportBackReceiptList", // 关联账单列表导出
}; };
...@@ -62,6 +62,21 @@ const QUERYBACKRECEIPTINFOLIST = (data) => { ...@@ -62,6 +62,21 @@ const QUERYBACKRECEIPTINFOLIST = (data) => {
return req.post(apis.queryReceiptInfoList, data); return req.post(apis.queryReceiptInfoList, data);
}; };
// 删除已关联账单
const DELETERECEIPTRECORD = (data) => {
return req.post(apis.deleteReceiptRecord, data);
};
// 回款列表导出
const EXPORTBACKMONEYREPORT = (data) => {
return req.post(apis.exportBackMoneyReport, data, { responseType: "blob" });
};
// 关联账单导出
const EXPORTBACKRECEIPTLIST = (data) => {
return req.post(apis.exportBackReceiptList, data, { responseType: "blob" });
};
// 对象数组 // 对象数组
export default { export default {
QUERYEOBLIST, QUERYEOBLIST,
...@@ -76,5 +91,8 @@ export default { ...@@ -76,5 +91,8 @@ export default {
DELETEBACKMONEY, DELETEBACKMONEY,
EOBRECEIPLISTEXPORT, EOBRECEIPLISTEXPORT,
QUERYBACKRECEIPTLIST, QUERYBACKRECEIPTLIST,
QUERYBACKRECEIPTINFOLIST QUERYBACKRECEIPTINFOLIST,
DELETERECEIPTRECORD,
EXPORTBACKMONEYREPORT,
EXPORTBACKRECEIPTLIST
}; };
\ No newline at end of file
...@@ -52,6 +52,11 @@ const MoneyUnitOptions = [ ...@@ -52,6 +52,11 @@ const MoneyUnitOptions = [
{ name: '欧元', value: '04'}, { name: '欧元', value: '04'},
]; ];
// 账单类型
const receiptTypeOptions = [
{ name: '收费', value: '1'},
{ name: '退费', value: '2'},
];
module.exports = { module.exports = {
...@@ -62,4 +67,5 @@ module.exports = { ...@@ -62,4 +67,5 @@ module.exports = {
ApplyStatusOptions, ApplyStatusOptions,
ApproveStatusOptions, ApproveStatusOptions,
MoneyUnitOptions, MoneyUnitOptions,
receiptTypeOptions
} }
\ No newline at end of file
...@@ -4,26 +4,17 @@ ...@@ -4,26 +4,17 @@
<Goback title="账单详情" /> <Goback title="账单详情" />
<a-form-model ref="form" layout="vertical" :model="form"> <a-form-model ref="form" layout="vertical" :model="form">
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :xl="4" :lg="6" :sm="12"> <a-col :xl="5" :lg="6" :sm="12">
<a-form-model-item label="病历号"> <a-form-model-item label="病历号">
<a-input v-model="form.mrnNo" placeholder="请输入病历号" allow-clear /> <a-input v-model="form.mrnNo" placeholder="请输入病历号" allow-clear />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="4" :lg="6" :sm="12"> <a-col :xl="5" :lg="6" :sm="12">
<a-form-model-item label="客户姓名"> <a-form-model-item label="客户姓名">
<a-input v-model="form.patientName" placeholder="请输入客户姓名" allow-clear /> <a-input v-model="form.patientName" placeholder="请输入客户姓名" allow-clear />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="4" :lg="6" :sm="12"> <a-col :xl="5" :lg="6" :sm="12">
<a-form-model-item label="客户类型">
<a-select v-model="form.patientType" placeholder="请选择客户类型" allowClear>
<a-select-option v-for="item in patientTypeOptions" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
<a-form-model-item label="保险公司"> <a-form-model-item label="保险公司">
<a-select v-model="form.payorId" placeholder="请选择保险公司" allowClear> <a-select v-model="form.payorId" placeholder="请选择保险公司" allowClear>
<a-select-option v-for="item in companyOptions" :key="item.corpCode" :value="item.id"> <a-select-option v-for="item in companyOptions" :key="item.corpCode" :value="item.id">
...@@ -32,29 +23,16 @@ ...@@ -32,29 +23,16 @@
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="4" :lg="6" :sm="12"> <a-col :xl="5" :lg="6" :sm="12">
<a-form-model-item label="看诊医生"> <a-form-model-item label="看诊医生">
<a-select v-model="form.doctorCode" placeholder="请选择看诊医生" allowClear> <a-input v-model="form.doctorName" placeholder="请输入看诊医生" allow-clear />
<a-select-option v-for="item in doctorOptions" :key="item.doctorCode" :value="item.doctorCode">
{{ item.doctorDesc }}
</a-select-option>
</a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="5" :lg="6" :sm="12"> <a-col :xl="5" :lg="6" :sm="12">
<a-form-model-item label="就诊时间"> <a-form-model-item label="收费时间">
<a-date-picker value-format="YYYY-MM-DD 00:00:00" v-model="form.receiptDate" placeholder="就诊时间" /> <a-date-picker value-format="YYYY-MM-DD 00:00:00" v-model="form.receiptDate" placeholder="就诊时间" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="3" :lg="6" :sm="12">
<a-form-model-item label="支付方式">
<a-select v-model="form.paymentCode" placeholder="请选择支付方式" allowClear>
<a-select-option v-for="item in paymentOptions" :key="item.code" :value="item.code" allow-clear>
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :xl="16" :lg="12" :sm="12" class="none-label"> <a-col :xl="16" :lg="12" :sm="12" class="none-label">
<a-form-model-item label="button"> <a-form-model-item label="button">
<!-- <a-button>更新数据</a-button> <!-- <a-button>更新数据</a-button>
...@@ -79,7 +57,7 @@ ...@@ -79,7 +57,7 @@
</a-popconfirm> </a-popconfirm>
</template> </template>
<template slot="footer"> <template slot="footer">
<div class="total">总计: <span>{{form.chargeAmount||0}}</span></div> <div class="total">总计: <span>{{sumAmount||0}}</span></div>
</template> </template>
</a-table> </a-table>
<!--分页--> <!--分页-->
...@@ -130,7 +108,7 @@ export default { ...@@ -130,7 +108,7 @@ export default {
{ title: "单位", dataIndex: "itemUnitDesc", width: 180 }, { title: "单位", dataIndex: "itemUnitDesc", width: 180 },
{ title: "金额", dataIndex: "chargeAmount", width: 180 }, { title: "金额", dataIndex: "chargeAmount", width: 180 },
{ title: "折扣(%)", dataIndex: "discountAmount", width: 180 }, { title: "折扣(%)", dataIndex: "discountAmount", width: 180 },
{ title: "折后金额", dataIndex: "actualAmount", width: 180 }, // { title: "折后金额", dataIndex: "actualAmount", width: 180 },
{ title: "减免金额", dataIndex: "reduceAmount", width: 180 }, { title: "减免金额", dataIndex: "reduceAmount", width: 180 },
{ title: "实际金额", dataIndex: "paidAmount", width: 180 }, { title: "实际金额", dataIndex: "paidAmount", width: 180 },
// { title: "免赔额", dataIndex: "deductible", width: 180 }, // { title: "免赔额", dataIndex: "deductible", width: 180 },
...@@ -204,7 +182,14 @@ export default { ...@@ -204,7 +182,14 @@ export default {
computed: { computed: {
...mapState({ ...mapState({
userInfo: (state) => state.common.userInfo userInfo: (state) => state.common.userInfo
}),
sumAmount() {
let total = 0
this.dataList.forEach(item => {
total += Number(item.paidAmount || 0)
}) })
return Number(total.toFixed(2))
}
}, },
filters: { filters: {
payStyleFilters(value) { payStyleFilters(value) {
...@@ -221,6 +206,7 @@ export default { ...@@ -221,6 +206,7 @@ export default {
this.receiptNo = receiptNo || ""; this.receiptNo = receiptNo || "";
let chargeQueryDetail = localStorage.getItem('chargeQueryDetail'); let chargeQueryDetail = localStorage.getItem('chargeQueryDetail');
this.form = chargeQueryDetail? JSON.parse(chargeQueryDetail): {}; this.form = chargeQueryDetail? JSON.parse(chargeQueryDetail): {};
console.log(this.form)
this._getChargeListDetail(); this._getChargeListDetail();
this._getCompanyOptions();//获取保险公司下拉选项 this._getCompanyOptions();//获取保险公司下拉选项
...@@ -232,6 +218,7 @@ export default { ...@@ -232,6 +218,7 @@ export default {
_getChargeListDetail() { _getChargeListDetail() {
const data = { const data = {
receiptNo: this.receiptNo, receiptNo: this.receiptNo,
basereceiptId: this.form.externalId,
...this.pager, ...this.pager,
}; };
this.$apis.GETCHARGELISTDETAIL(data).then((res) => { this.$apis.GETCHARGELISTDETAIL(data).then((res) => {
...@@ -249,7 +236,20 @@ export default { ...@@ -249,7 +236,20 @@ export default {
this.$apis.GETCOMPANYOPTIONS().then((res) => { this.$apis.GETCOMPANYOPTIONS().then((res) => {
console.log("获取保险公司下拉选项", res); console.log("获取保险公司下拉选项", res);
if (res.returnCode == "0000") { if (res.returnCode == "0000") {
this.companyOptions = res.content || []; let existPayor = false
this.companyOptions = res.content.map(item => {
item.id = Number(item.id)
if(item.id === this.form.payorId) {
existPayor = true
}
return item
}) || [];
if(!existPayor) {
this.companyOptions.push({
id: this.form.payorId,
longName: this.form.payorName
})
}
} else { } else {
this.$message.error(res.returnMsg); this.$message.error(res.returnMsg);
} }
......
...@@ -4,26 +4,17 @@ ...@@ -4,26 +4,17 @@
<!-- form --> <!-- form -->
<a-form-model ref="form" layout="vertical" :model="form"> <a-form-model ref="form" layout="vertical" :model="form">
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :xl="4" :lg="6" :sm="12"> <a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="病历号"> <a-form-model-item label="病历号">
<a-input v-model="form.mrnNo" placeholder="请输入病历号" allow-clear /> <a-input v-model="form.mrnNo" placeholder="请输入病历号" allow-clear />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="4" :lg="6" :sm="12"> <a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="客户姓名"> <a-form-model-item label="客户姓名">
<a-input v-model="form.patientName" placeholder="请输入客户姓名" allow-clear /> <a-input v-model="form.patientName" placeholder="请输入客户姓名" allow-clear />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="4" :lg="6" :sm="12"> <a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="客户类型">
<a-select v-model="form.patientType" placeholder="请选择客户类型" allowClear>
<a-select-option v-for="item in patientTypeOptions" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
<a-form-model-item label="保险公司"> <a-form-model-item label="保险公司">
<a-select v-model="form.payorId" placeholder="请选择保险公司" allowClear> <a-select v-model="form.payorId" placeholder="请选择保险公司" allowClear>
<a-select-option v-for="item in companyOptions" :key="item.corpCode" :value="item.id"> <a-select-option v-for="item in companyOptions" :key="item.corpCode" :value="item.id">
...@@ -32,7 +23,7 @@ ...@@ -32,7 +23,7 @@
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="4" :lg="6" :sm="12"> <a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="看诊医生"> <a-form-model-item label="看诊医生">
<a-select v-model="form.doctorCode" placeholder="请选择看诊医生" allowClear> <a-select v-model="form.doctorCode" placeholder="请选择看诊医生" allowClear>
<a-select-option v-for="item in doctorOptions" :key="item.doctorCode" :value="item.doctorCode"> <a-select-option v-for="item in doctorOptions" :key="item.doctorCode" :value="item.doctorCode">
...@@ -41,21 +32,12 @@ ...@@ -41,21 +32,12 @@
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="5" :lg="6" :sm="12"> <a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="就诊时间"> <a-form-model-item label="收费时间">
<a-range-picker format="YYYY-MM-DD" v-model="form.dateRange" :placeholder="['开始时间','结束时间']" @change="onSelectVisitTime" /> <a-range-picker format="YYYY-MM-DD" v-model="form.dateRange" :placeholder="['开始时间','结束时间']" @change="onSelectVisitTime" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="3" :lg="6" :sm="12"> <a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="支付方式">
<a-select v-model="form.paymentCode" placeholder="请选择支付方式" allowClear>
<a-select-option v-for="item in paymentOptions" :key="item.code" :value="item.code" allow-clear>
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :xl="3" :lg="6" :sm="12">
<a-form-model-item label="是否已关联寄送单"> <a-form-model-item label="是否已关联寄送单">
<a-select v-model="form.isSend" placeholder="请选择是否已关联寄送单" allowClear> <a-select v-model="form.isSend" placeholder="请选择是否已关联寄送单" allowClear>
<a-select-option value="Y" allow-clear> <a-select-option value="Y" allow-clear>
...@@ -67,9 +49,9 @@ ...@@ -67,9 +49,9 @@
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="3" :lg="6" :sm="12"> <a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="是否已关联EOB"> <a-form-model-item label="是否已回款">
<a-select v-model="form.isEob" placeholder="请选择是否已关联EOB" allowClear> <a-select v-model="form.isEobBack" placeholder="请选择是否已回款" allowClear>
<a-select-option value="Y" allow-clear> <a-select-option value="Y" allow-clear>
</a-select-option> </a-select-option>
...@@ -79,19 +61,30 @@ ...@@ -79,19 +61,30 @@
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="3" :lg="6" :sm="12"> <a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="是否已回款"> <a-form-model-item label="账单类型">
<a-select v-model="form.isEobBack" placeholder="请选择是否已回款" allowClear> <a-select v-model="form.receiptType" placeholder="请选择账单类型" allowClear>
<a-select-option value="Y" allow-clear> <a-select-option v-for="item in receiptTypeOptions" :key="item.value" :value="item.value">
{{ item.name }}
</a-select-option> </a-select-option>
<a-select-option value="N" allow-clear> </a-select>
</a-form-model-item>
</a-col>
<a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="账单编号">
<a-input v-model="form.receiptNo" placeholder="请输入账单编号" allow-clear />
</a-form-model-item>
</a-col>
<a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="状态">
<a-select v-model="form.status" placeholder="请选择状态" allowClear>
<a-select-option v-for="item in statusOptions" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="6" :lg="3" :sm="3" class="none-label"> <a-col :xl="8" :lg="3" :sm="3" class="none-label">
<a-form-model-item label="button"> <a-form-model-item label="button">
<!-- <a-button>更新数据</a-button> --> <!-- <a-button>更新数据</a-button> -->
<!-- <a-button class="mar-left10" type="primary" @click="addNewCharge"> <!-- <a-button class="mar-left10" type="primary" @click="addNewCharge">
...@@ -131,6 +124,9 @@ ...@@ -131,6 +124,9 @@
<template slot="isEobBack" slot-scope="text"> <template slot="isEobBack" slot-scope="text">
{{text == 'Y' ? '' : text == 'N' ? '' : ''}} {{text == 'Y' ? '' : text == 'N' ? '' : ''}}
</template> </template>
<template slot="status" slot-scope="text">
{{text == '1' ? '有效' : text == '2' ? '无效' : ''}}
</template>
</a-table> </a-table>
<!--分页--> <!--分页-->
<BurtPagination :pagination="pagination" @pageChange="_getChargeList" /> <BurtPagination :pagination="pagination" @pageChange="_getChargeList" />
...@@ -141,35 +137,37 @@ ...@@ -141,35 +137,37 @@
import BurtPagination from "@/components/CUSTOMER/pagation"; import BurtPagination from "@/components/CUSTOMER/pagation";
import { mapState } from "vuex" import { mapState } from "vuex"
import moment from "moment"; import moment from "moment";
import { receiptTypeOptions } from '@/utils/utilsdictOptions.js';
import { exportFile } from '@/utils/index'; import { exportFile } from '@/utils/index';
export default { export default {
data() { data() {
const columns = [ const columns = [
{ title: "序号", dataIndex: "index", key:"index",align:'center', width: 80,scopedSlots: { customRender: "index" }}, { title: "序号", dataIndex: "index", key:"index",align:'center', width: 80,scopedSlots: { customRender: "index" }},
{ title: "就诊时间", dataIndex: "receiptDate", width: 180 }, { title: "收费时间", dataIndex: "receiptDate", width: 180 },
{ title: "账单编号", dataIndex: "receiptNo", width: 180 },
{ title: "账单类型", dataIndex: "receiptTypeStr", width: 130 },
{ title: "状态", dataIndex: "status", width: 130 },
{ title: "病历号", dataIndex: "mrnNo",width: 180}, { title: "病历号", dataIndex: "mrnNo",width: 180},
{ title: "客户姓名",dataIndex: "patientName",width: 120,}, { title: "客户姓名",dataIndex: "patientName",width: 120,},
{ title: "客户类型", dataIndex: "patientType", width: 180 },
{ title: "保险公司", dataIndex: "payorName", width: 200 }, { title: "保险公司", dataIndex: "payorName", width: 200 },
{ title: "就诊医生", dataIndex: "doctorName", width: 150 }, { title: "就诊医生", dataIndex: "doctorName", width: 150 },
{ title: "是否已关联寄送单", dataIndex: "isSend", width: 180,scopedSlots: { customRender: "isSend" } }, { title: "是否已关联寄送单", dataIndex: "isSend", width: 180,scopedSlots: { customRender: "isSend" } },
{ title: "是否已关联EOB", dataIndex: "isEob", width: 180,scopedSlots: { customRender: "isEob" } },
{ title: "是否已回款", dataIndex: "isEobBack", width: 180,scopedSlots: { customRender: "isEobBack" } }, { title: "是否已回款", dataIndex: "isEobBack", width: 180,scopedSlots: { customRender: "isEobBack" } },
{ title: "账单金额", dataIndex: "chargeAmount", width: 180 }, { title: "应收金额", dataIndex: "chargeAmount", width: 180 },
{ title: "折扣(%)", dataIndex: "discountAmount", width: 180 }, { title: "折扣(%)", dataIndex: "discountAmount", width: 180 },
{ title: "折后金额", dataIndex: "actualAmount", width: 180 }, { title: "减免金额", dataIndex: "reduceAmount", width: 180 },
{ title: "应付金额", dataIndex: "payableAmount", width: 180 },
{ title: "客户自付", dataIndex: "selfpaidAmount", width: 180 }, { title: "客户自付", dataIndex: "selfpaidAmount", width: 180 },
{ title: "减免金额", dataIndex: "reduceAmount1", width: 180 }, { title: "理赔金额", dataIndex: "actualAmount", width: 180 },
{ title: "理赔金额", dataIndex: "claimsAmount", width: 180 }, { title: "保险已支付", dataIndex: "backAmount", width: 180 },
{ title: "保险已支付", dataIndex: "insurancePaidAmount", width: 180 },
{ title: "未清余额", dataIndex: "outstandAmount", width: 180 },
{ title: "保险欠费", dataIndex: "insuranceArrearsAmount", width: 180 }, { title: "保险欠费", dataIndex: "insuranceArrearsAmount", width: 180 },
{ title: "个人欠费", dataIndex: "personalArrearsAmount", width: 180 }, { title: "个人欠费", dataIndex: "arrearsAmount", width: 180 },
{ title: "发票号码", dataIndex: "receiptNo", width: 180 }, { title: "未清余额", dataIndex: "residueBackAmount", width: 180 },
{ title: "操作", key: "operation", width: "175px",fixed: "right",scopedSlots: { customRender: "operation" }, align: "center"}, { title: "操作", key: "operation", width: "175px",fixed: "right",scopedSlots: { customRender: "operation" }, align: "center"},
]; ];
return { return {
columns, columns,
receiptTypeOptions,
form: {}, form: {},
pageForm: { pageForm: {
doctorCode: "", doctorCode: "",
...@@ -179,6 +177,8 @@ export default { ...@@ -179,6 +177,8 @@ export default {
payorId: 0, payorId: 0,
visitTimeEnd: "", visitTimeEnd: "",
visitTimeStart: "", visitTimeStart: "",
receiptType: "",
receiptNo: ""
}, },
patientTypeOptions: [ patientTypeOptions: [
{ {
...@@ -200,6 +200,20 @@ export default { ...@@ -200,6 +200,20 @@ export default {
pageSize: 10, pageSize: 10,
total: 0, total: 0,
}, },
receiptTypeDict: {
'1': '收费',
'2': '退费'
},
statusOptions: [
{
name: '无效',
code:2
},
{
name: '有效',
code: 1
}
]
}; };
}, },
components: { components: {
...@@ -224,7 +238,10 @@ export default { ...@@ -224,7 +238,10 @@ export default {
}; };
this.$apis.GETCHARGELIST(data).then((res) => { this.$apis.GETCHARGELIST(data).then((res) => {
let content = res.content || {}; let content = res.content || {};
this.dataList = content.list || []; this.dataList = content.list.map(item => {
item.receiptTypeStr = this.receiptTypeDict[item.receiptType] || ''
return item
}) || [];
this.pagination.total = content.total || 0; this.pagination.total = content.total || 0;
}); });
}, },
......
...@@ -76,8 +76,8 @@ ...@@ -76,8 +76,8 @@
<a-form-model ref="form" layout="vertical" :model="searchForm"> <a-form-model ref="form" layout="vertical" :model="searchForm">
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :lg="8" :sm="12"> <a-col :lg="8" :sm="12">
<a-form-model-item label="就诊日期"> <a-form-model-item label="账单日期">
<a-range-picker format="YYYY-MM-DD" value-format="YYYY-MM-DD" v-model="searchForm.visitTimeStart" :placeholder="['选择就诊开始日期', '选择就诊结束日期']" /> <a-range-picker format="YYYY-MM-DD" value-format="YYYY-MM-DD" v-model="searchForm.visitTimeStart" :placeholder="['选择账单开始日期', '选择账单结束日期']" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="8" :sm="12"> <a-col :lg="8" :sm="12">
...@@ -91,6 +91,20 @@ ...@@ -91,6 +91,20 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="30">
<a-col :lg="8" :sm="12">
<a-form-model-item label="账单编号">
<a-input v-model="searchForm.receiptNo" placeholder="请输入账单编号" allow-clear />
</a-form-model-item>
</a-col>
<a-col :lg="8" :sm="12">
<a-form-model-item label="状态">
<a-select v-model="searchForm.rStatus" placeholder="请选择状态" allow-clear>
<a-select-option :key="item.code" :value="item.code" v-for="item in statusOptions">{{item.name}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :sm="24" class="none-label"> <a-col :sm="24" class="none-label">
<div class="btn-div flex"> <div class="btn-div flex">
...@@ -119,6 +133,9 @@ ...@@ -119,6 +133,9 @@
<template slot="sendSts" slot-scope="text"> <template slot="sendSts" slot-scope="text">
{{ text==1?'已寄送':'未寄送' }} {{ text==1?'已寄送':'未寄送' }}
</template> </template>
<template slot="status" slot-scope="text">
{{ text==1?'有效':text==2?'无效':'' }}
</template>
<template slot="operation" slot-scope="text, record"> <template slot="operation" slot-scope="text, record">
<!-- <a-button type="link" @click.stop="editEvt(record)">修改</a-button> --> <!-- <a-button type="link" @click.stop="editEvt(record)">修改</a-button> -->
<a-button type="link" class="danger" @click.stop="delRecord(record)">删除</a-button> <a-button type="link" class="danger" @click.stop="delRecord(record)">删除</a-button>
...@@ -220,6 +237,16 @@ export default { ...@@ -220,6 +237,16 @@ export default {
sendDate: [{ required: true, message: "请选择寄送日期", trigger: "change" }], sendDate: [{ required: true, message: "请选择寄送日期", trigger: "change" }],
trackingNo: [{ required: true, message: "请输入寄送单号", trigger: "blur" }], trackingNo: [{ required: true, message: "请输入寄送单号", trigger: "blur" }],
}, },
statusOptions: [
{
name: '无效',
code: 2
},
{
name: '有效',
code: 1
}
]
}; };
}, },
components: { components: {
...@@ -229,20 +256,19 @@ export default { ...@@ -229,20 +256,19 @@ export default {
computed: { computed: {
columns() { columns() {
const base = [ const base = [
{ title: "就诊日期", dataIndex: "receiptDate", width: 160,scopedSlots: { customRender: "receiptDate" } }, { title: "账单日期", dataIndex: "receiptDate", width: 160,scopedSlots: { customRender: "receiptDate" } },
{ title: "病历号", dataIndex: "mrnNo", key:"mrnNo",align:'center', width: 136}, { title: "病历号", dataIndex: "mrnNo", key:"mrnNo",align:'center', width: 136},
{ title: "客户姓名", dataIndex: "patientName", width: 160 }, { title: "客户姓名", dataIndex: "patientName", width: 160 },
{ title: "保险卡号", dataIndex: "memberCardNo", width: 180 }, { title: "保险卡号", dataIndex: "memberCardNo", width: 180 },
{ title: "客户生日", dataIndex: "birthday", width: 160 }, { title: "客户生日", dataIndex: "birthday", width: 160 },
{ title: "账单编号", dataIndex: "receiptNo", key:"receiptNo",align:'center', width: 136}, { title: "账单编号", dataIndex: "receiptNo", key:"receiptNo",align:'center', width: 136},
{ title: "状态", dataIndex: "status", key:"status",align:'center', width: 136},
{ title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 250 }, { title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 250 },
{ title: "应收金额", dataIndex: "chargeAmount", width: 100, align: 'center' }, { title: "应收金额", dataIndex: "chargeAmount", width: 100, align: 'center' },
{ title: "折扣金额", dataIndex: "discountAmount", width: 100, align: 'center' }, { title: "折扣金额", dataIndex: "discountAmount", width: 100, align: 'center' },
{ title: "减免金额", dataIndex: "discountAmount2", width: 100, align: 'center' }, { title: "减免金额", dataIndex: "reduceAmount", width: 100, align: 'center' },
{ title: "客户自付", dataIndex: "selfpaidAmount", width: 100, align: 'center', customRender: (val, row) => { { title: "客户自付", dataIndex: "selfpaidAmount", width: 100, align: 'center' },
return <a-input v-model={row.selfpaidAmount} allow-clear /> { title: "理赔金额", dataIndex: "actualAmount", width: 100, align: 'center' },
} },
{ title: "理赔金额", dataIndex: "paidAmount", width: 100, align: 'center' },
]; ];
if(this.sendBatchNo && ! this.isEditNewBill && this.isEdit){ // 编辑状态下已经保存的数据才可进行操作 if(this.sendBatchNo && ! this.isEditNewBill && this.isEdit){ // 编辑状态下已经保存的数据才可进行操作
return base.concat([ return base.concat([
......
...@@ -42,14 +42,14 @@ ...@@ -42,14 +42,14 @@
<a-form-model-item label="出生日期" prop="birthday"> <a-form-model-item label="出生日期" prop="birthday">
<a-date-picker v-model="form.birthday" allow-clear placeholder="请选择出生日期" value-format="YYYY-MM-DD 00:00:00"></a-date-picker> <a-date-picker v-model="form.birthday" allow-clear placeholder="请选择出生日期" value-format="YYYY-MM-DD 00:00:00"></a-date-picker>
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="客户公司名称" prop="corpName"> <!-- <a-form-model-item label="客户公司名称" prop="corpName">
<a-select v-model="form.corpName" placeholder="请选择客户公司名称" show-search allow-clear <a-select v-model="form.corpName" placeholder="请选择客户公司名称" show-search allow-clear
:filterOption="filterCode" @change="corpChange" @search="corpSearch"> :filterOption="filterCode" @change="corpChange" @search="corpSearch">
<a-select-option v-for="item in comCorpCode" :key="item.id" :value="item.id + '$_' + item.longName"> <a-select-option v-for="item in comCorpCode" :key="item.id" :value="item.id + '$_' + item.longName">
{{ item.longName }} {{ item.longName }}
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item> -->
<a-form-model-item label="保单生效日期" prop="startDate"> <a-form-model-item label="保单生效日期" prop="startDate">
<a-date-picker allow-clear v-model="form.startDate" placeholder="请选择保单生效日期" value-format="YYYY-MM-DD 00:00:00" @change="startDateChange"></a-date-picker> <a-date-picker allow-clear v-model="form.startDate" placeholder="请选择保单生效日期" value-format="YYYY-MM-DD 00:00:00" @change="startDateChange"></a-date-picker>
</a-form-model-item> </a-form-model-item>
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
<a-date-picker allow-clear v-model="form.endDate" placeholder="请选择保单终止日期" value-format="YYYY-MM-DD 00:00:00"></a-date-picker> <a-date-picker allow-clear v-model="form.endDate" placeholder="请选择保单终止日期" value-format="YYYY-MM-DD 00:00:00"></a-date-picker>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="6" :lg="6" :sm="12"> <!-- <a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="保险计划" prop="planName"> <a-form-model-item label="保险计划" prop="planName">
<a-select v-model="form.planName" placeholder="请选择保险计划" show-search allow-clear :filterOption="filterCode" @search="codeSearch" <a-select v-model="form.planName" placeholder="请选择保险计划" show-search allow-clear :filterOption="filterCode" @search="codeSearch"
> >
...@@ -94,7 +94,7 @@ ...@@ -94,7 +94,7 @@
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col> -->
<a-col :xl="6" :lg="6" :sm="12"> <a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="其他备注" prop="remark"> <a-form-model-item label="其他备注" prop="remark">
<a-input allow-clear v-model="form.remark" placeholder="请输入备注信息"></a-input> <a-input allow-clear v-model="form.remark" placeholder="请输入备注信息"></a-input>
......
...@@ -16,7 +16,7 @@ export default{ ...@@ -16,7 +16,7 @@ export default{
<style lang="less" scoped> <style lang="less" scoped>
.burt-container{ .burt-container{
height: calc(100vh - 116px); height: calc(100vh - 86px);
padding: 0; padding: 0;
img{ img{
width: 100%; width: 100%;
......
<template>
<div class="sub-menu">
<router-link
tag="button"
:class="{ btn: true, 'btn-active': isVisit(item.path) }"
v-for="(item, index) in menuStack"
:key="item.path"
:to="item.path"
>
{{ item.title }}
<Icon v-if="menuStack.length>1"
@click="(e)=>closeMenu(e, index)"
:name="isVisit(item.path) ? 'ssiclose_active' : 'ssiclose'"
:size="16"
/>
</router-link>
<slot name="tips" />
</div>
</template>
<script>
import { mapState } from "vuex";
export default {
computed: {
...mapState({
menuStack: (state) => state.common.menuStack,
}),
},
methods: {
isVisit(val) {
const path = this.$route.path;
return path === val;
},
closeMenu(e, index) {
e.stopPropagation();
const menuStack = JSON.parse(JSON.stringify(this.menuStack));
const isVisit = this.isVisit(menuStack[index].path);
menuStack.splice(index, 1);
this.$store.commit("common/setMenuStack", menuStack);
if (isVisit) {
// 关闭的是当前正在查看的
const i = Math.max(0, index - 1);
this.$router.push(menuStack[i].path || "/");
}
},
},
};
</script>
<style lang="less" scoped>
.sub-menu {
width: 100%;
overflow-x: auto;
white-space: nowrap;
.mg-b(16);
.btn {
.fs(14);
.lh(20);
.pa(8, 13, 8, 13);
.mg-r(40);
color: #252631;
font-weight: bold;
border: none;
background-color: #fff;
border-radius: 5px;
cursor: pointer;
}
.btn-active {
color: #fff;
background-color: #2b63ff;
}
}
</style>
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
<Menu></Menu> <Menu></Menu>
<Loading /> <Loading />
<div class="content"> <div class="content">
<SubMenu></SubMenu>
<router-view /> <router-view />
</div> </div>
</div> </div>
...@@ -15,14 +14,12 @@ ...@@ -15,14 +14,12 @@
<script> <script>
import Header from "./components/Header.vue"; import Header from "./components/Header.vue";
import Menu from "./components/menu"; import Menu from "./components/menu";
import SubMenu from "./components/menu/subMenu.vue";
import Loading from "@/components/Loading/Loading.vue"; import Loading from "@/components/Loading/Loading.vue";
export default { export default {
components: { components: {
Header, Header,
Menu, Menu,
SubMenu,
Loading Loading
}, },
data() { data() {
......
...@@ -5,8 +5,16 @@ ...@@ -5,8 +5,16 @@
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="保险公司"> <a-form-model-item label="保险公司">
<a-select v-model="form.payorCode" placeholder="请选择保险公司" allowClear> <a-select
<a-select-option v-for="item in companyOptions" :key="item.id" :value="item.payorCode"> v-model="form.payorCode"
placeholder="请选择保险公司"
allowClear
>
<a-select-option
v-for="item in companyOptions"
:key="item.id"
:value="item.payorCode"
>
{{ item.longName }} {{ item.longName }}
</a-select-option> </a-select-option>
</a-select> </a-select>
...@@ -14,12 +22,44 @@ ...@@ -14,12 +22,44 @@
</a-col> </a-col>
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="EOB编号"> <a-form-model-item label="EOB编号">
<a-input v-model="form.eobNo" placeholder="EOB编号"/> <a-input v-model="form.eobNo" placeholder="EOB编号" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="创建时间"> <a-form-model-item label="创建时间">
<a-range-picker format="YYYY-MM-DD" v-model="form.dateRange" :placeholder="['开始时间','结束时间']" @change="onSelectVisitTime" /> <a-range-picker
format="YYYY-MM-DD"
v-model="form.dateRange"
:placeholder="['开始时间', '结束时间']"
@change="onSelectVisitTime"
/>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="状态">
<a-select
v-model="form.backStatus"
placeholder="请选择状态"
allowClear
>
<a-select-option
v-for="item in backStatusOptions"
:key="item.value"
:value="item.value"
>
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="回款金额">
<a-input v-model="form.backAmountCny" placeholder="回款金额" />
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="回款编号">
<a-input v-model="form.backMoneyNo" placeholder="回款编号" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :md="24" class="none-label"> <a-col :md="24" class="none-label">
...@@ -27,25 +67,47 @@ ...@@ -27,25 +67,47 @@
<a-button class="mar-left10" type="primary" @click="handlerSearch"> <a-button class="mar-left10" type="primary" @click="handlerSearch">
<Icon name="ssisearch_active" :size="14" />查询 <Icon name="ssisearch_active" :size="14" />查询
</a-button> </a-button>
<a-button class="mar-left10" type="primary" @click.stop="handlerReset"> <a-button
class="mar-left10"
type="primary"
@click.stop="handlerReset"
>
<Icon name="ssireset" :size="14" />重置 <Icon name="ssireset" :size="14" />重置
</a-button> </a-button>
<a-button class="mar-left10" type="primary" @click="addNewEvt"> <a-button class="mar-left10" type="primary" @click="addNewEvt">
<Icon name="ssiadd" :size="14" />新建回款 <Icon name="ssiadd" :size="14" />新建回款
</a-button> </a-button>
<a-button class="mar-left10" type="primary" @click="exportExcel">
<Icon name="ssidaochu" :size="14" />导出
</a-button>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
<!-- table --> <!-- table -->
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false" > <a-table
:columns="columns"
:data-source="dataList"
:scroll="{ x: true }"
:pagination="false"
>
<template slot="eobSts" slot-scope="text"> <template slot="eobSts" slot-scope="text">
{{text==1?'待回款':'已回款'}} {{ text == 1 ? "待回款" : "已回款" }}
</template> </template>
<template slot="operation" slot-scope="text, record, index"> <template slot="operation" slot-scope="text, record, index">
<a-button type="link" @click.stop="editEvt(record, true)">修改</a-button> <a-button type="link" @click.stop="editEvt(record, true)"
<a-button type="link" class="success" @click.stop="editEvt(record)">查看</a-button> >修改</a-button
<a-button v-if="record.backMoneyNo" type="link" class="danger" @click.stop="delRecord(index)">删除</a-button> >
<a-button type="link" class="success" @click.stop="editEvt(record)"
>查看</a-button
>
<a-button
v-if="record.backMoneyNo"
type="link"
class="danger"
@click.stop="delRecord(index)"
>删除</a-button
>
</template> </template>
</a-table> </a-table>
<BurtPagination :pagination="pagination" @pageChange="getData" /> <BurtPagination :pagination="pagination" @pageChange="getData" />
...@@ -55,26 +117,48 @@ ...@@ -55,26 +117,48 @@
<script> <script>
import BurtPagination from "@/components/CUSTOMER/pagation"; import BurtPagination from "@/components/CUSTOMER/pagation";
import moment from "moment"; import moment from "moment";
import { exportFile } from '@/utils/index';
const columns = [ const columns = [
{ title: "回款编号", dataIndex: "backMoneyNo", ellipsis: true, width: 150 }, { title: "回款编号", dataIndex: "backMoneyNo", ellipsis: true, width: 150 },
{ title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 110 },
{ title: "回款金额(人民币)", dataIndex: "backAmountCny", ellipsis: true, width: 190,},
{ title: "余额", dataIndex: "residueBackAmount", ellipsis: true, width: 130,},
{ title: "EOB编号", dataIndex: "eobNos", ellipsis: true, width: 140 }, { title: "EOB编号", dataIndex: "eobNos", ellipsis: true, width: 140 },
{ title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 110 },
{
title: "回款金额(人民币)",
dataIndex: "backAmountCny",
ellipsis: true,
width: 190,
},
{
title: "未核销余额",
dataIndex: "residueBackAmount",
ellipsis: true,
width: 130,
},
{ title: "EOB备注", dataIndex: "eobRemark", ellipsis: true, width: 140 }, { title: "EOB备注", dataIndex: "eobRemark", ellipsis: true, width: 140 },
{ title: "创建时间", dataIndex: "createDate", ellipsis: true, width: 110 }, { title: "创建时间", dataIndex: "createDate", ellipsis: true, width: 110 },
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" },fixed: "right", width: "200px", align: "center"}, { title: "状态", dataIndex: "backStatusStr", ellipsis: true, width: 90 },
{
title: "操作",
dataIndex: "operation",
scopedSlots: { customRender: "operation" },
fixed: "right",
width: "200px",
align: "center",
},
]; ];
export default { export default {
data() { data() {
return { return {
columns, columns,
form: { form: {
payorCode: '', payorCode: "",
eobNo: '', eobNo: "",
dateRange: [], //创建时间范围 dateRange: [], //创建时间范围
startDate: '', startDate: "",
endDate: '' endDate: "",
backStatus: "",
backAmountCny: "", // 回款金额
backMoneyNo: "", // 回款编号
}, },
dataList: [], dataList: [],
companyOptions: [], //保险公司 companyOptions: [], //保险公司
...@@ -83,12 +167,17 @@ export default { ...@@ -83,12 +167,17 @@ export default {
pageSize: 10, pageSize: 10,
total: 0, total: 0,
}, },
backStatusOptions: [
{ name: '全部', value: '' },
{ name: '已结案', value: '1' },
{ name: '暂存', value: '0' }
]
}; };
}, },
components: { components: {
BurtPagination, BurtPagination,
}, },
created(){ created() {
this.getData(); this.getData();
this._getCompanyOptions(); this._getCompanyOptions();
}, },
...@@ -102,12 +191,13 @@ export default { ...@@ -102,12 +191,13 @@ export default {
// 重置 // 重置
handlerReset() { handlerReset() {
this.form = { this.form = {
payorCode: '', payorCode: "",
eobNo: '', eobNo: "",
dateRange: [], //创建时间范围 dateRange: [], //创建时间范围
startDate: '', startDate: "",
endDate: '' endDate: "",
} backStatus: ""
};
}, },
// 获取保险公司下拉选项 // 获取保险公司下拉选项
_getCompanyOptions() { _getCompanyOptions() {
...@@ -117,15 +207,16 @@ export default { ...@@ -117,15 +207,16 @@ export default {
}, },
// 选中就诊时间 // 选中就诊时间
onSelectVisitTime(date, dateString) { onSelectVisitTime(date, dateString) {
this.form.startDate = dateString[0] + '' this.form.startDate = dateString[0] + "";
this.form.endDate = dateString[1] + '' this.form.endDate = dateString[1] + "";
}, },
handlerSearch() { handlerSearch() {
this.pagination.pageNum = 1; this.pagination.pageNum = 1;
this.getData(); this.getData();
}, },
getData() { getData() {
this.$apis.QUERYBACKMONEYLIST({ this.$apis
.QUERYBACKMONEYLIST({
...this.form, ...this.form,
dateRange: undefined, dateRange: undefined,
pageNum: this.pagination.pageNum, pageNum: this.pagination.pageNum,
...@@ -135,42 +226,71 @@ export default { ...@@ -135,42 +226,71 @@ export default {
if (res.returnCode == "0000") { if (res.returnCode == "0000") {
let content = res.content || {}; let content = res.content || {};
this.pagination.total = content.total || 0; this.pagination.total = content.total || 0;
this.dataList = content.list || []; this.dataList = content.list.map(item => {
item.backStatusStr = item.backStatus === '0' ? '暂存' : '已结案'
return item
}) || [];
} else { } else {
this.$message.error(res.returnMsg); this.$message.error(res.returnMsg);
} }
}); });
}, },
//新建回款 //新建回款
addNewEvt(){ addNewEvt() {
this.$router.push({ this.$router.push({
path: '/verification/collectionDetail', path: "/verification/collectionDetail",
query: { query: {
isEdit: true isEdit: true,
} },
}) });
}, },
//编辑回款 //编辑回款
editEvt(record, isEdit){ editEvt(record, isEdit) {
const { backMoneyNo } = record; const { backMoneyNo } = record;
localStorage.setItem('backMoneyDataDetail', JSON.stringify(record)); localStorage.setItem("backMoneyDataDetail", JSON.stringify(record));
console.log(isEdit, record.backStatus)
// 已结案状态,二次确认
if (isEdit && record.backStatus === "1") {
this.$modal.confirm({
title: "修改",
content: "处于已结案状态,是否确定修改该条记录?",
okText: "确认",
cancelText: "取消",
onOk: () => {
this.$router.push({ this.$router.push({
path: '/verification/collectionDetail', path: "/verification/collectionDetail",
query: { query: {
backMoneyNo, backMoneyNo,
isEdit isEdit,
},
});
},
onCancel: () => {},
});
return;
} }
}) this.$router.push({
path: "/verification/collectionDetail",
query: {
backMoneyNo,
isEdit,
},
});
}, },
//删除记录 //删除记录
delRecord(index) { delRecord(index) {
let content = "确定删除该条记录?"
if(this.dataList[index].backStatus === "1") {
content = "处于已结案状态,确定删除该条记录?"
}
this.$modal.confirm({ this.$modal.confirm({
title: "删除", title: "删除",
content: "确定删除该条记录?", content,
okText: "确认", okText: "确认",
cancelText: "取消", cancelText: "取消",
onOk: () => { onOk: () => {
this.$apis.DELETEBACKMONEY({ this.$apis
.DELETEBACKMONEY({
backMoneyNo: this.dataList[index].backMoneyNo, backMoneyNo: this.dataList[index].backMoneyNo,
}) })
.then((res) => { .then((res) => {
...@@ -184,6 +304,16 @@ export default { ...@@ -184,6 +304,16 @@ export default {
}, },
onCancel: () => {}, onCancel: () => {},
}); });
},
//导出报表
exportExcel(){
let filter = {
...this.form,
dateRange: undefined,
}
this.$apis.EXPORTBACKMONEYREPORT(filter).then(res => {
exportFile(res, '回款列表.xls');
})
} }
}, },
}; };
......
<template> <template>
<div class="white_bg burt-container"> <div class="white_bg burt-container">
<Goback title="回款详情" /> <Goback title="回款详情" />
<a-tabs v-model="activeKey" @change="paneChange">
<a-tab-pane v-for="pane in panes" :key="pane.key" :tab="pane.title">
<template v-if="activeKey === '0'">
<!-- form --> <!-- form -->
<a-form-model ref="form" layout="vertical" :model="form"> <a-form-model ref="form" layout="vertical" :model="form">
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="保险公司"> <a-form-model-item label="保险公司">
<a-select v-model="form.payorCode" placeholder="请选择保险公司" allow-clear :disabled="!isEdit" @change="_getNewEOBList"> <a-select
<a-select-option v-for="item in companyOptions" :key="item.id" :value="item.payorCode"> v-model="form.payorCode"
placeholder="请选择保险公司"
allow-clear
:disabled="!isEdit"
@change="changePayor"
>
<a-select-option
v-for="item in companyOptions"
:key="item.id"
:value="item.payorCode"
>
{{ item.longName }} {{ item.longName }}
</a-select-option> </a-select-option>
</a-select> </a-select>
...@@ -15,71 +28,246 @@ ...@@ -15,71 +28,246 @@
</a-col> </a-col>
<a-col :lg="5" :sm="12"> <a-col :lg="5" :sm="12">
<a-form-model-item label="回款日期"> <a-form-model-item label="回款日期">
<a-date-picker format="YYYY-MM-DD" format-value="YYYY-MM-DD 00:00:00" v-model="form.backDate" placeholder="选择日期" allow-clear :disabled="!isEdit" /> <a-date-picker
format="YYYY-MM-DD"
format-value="YYYY-MM-DD 00:00:00"
v-model="form.backDate"
placeholder="选择日期"
allow-clear
:disabled="!isEdit"
/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="5" :sm="12"> <a-col :lg="5" :sm="12">
<a-form-model-item label="回款金额(人民币)"> <a-form-model-item label="回款金额(人民币)">
<a-input type="number" v-model="form.backAmountCny" placeholder="请输入金额" allow-clear :disabled="!isEdit" /> <a-input
type="number"
v-model="form.backAmountCny"
placeholder="请输入金额"
allow-clear
:disabled="!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col :lg="5" :sm="12">
<a-form-model-item label="可核销余额">
<a-input v-model="residueBackAmount" disabled />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="5" :sm="12"> <a-col :lg="5" :sm="12">
<a-form-model-item label="回款金额(美元)"> <a-form-model-item label="回款金额(美元)">
<a-input type="number" v-model="form.backAmountUsd" placeholder="请输入金额" allow-clear :disabled="!isEdit" /> <a-input
type="number"
v-model="form.backAmountUsd"
placeholder="请输入金额"
allow-clear
:disabled="!isEdit"
/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="汇率差"> <a-form-model-item label="汇率差">
<a-input v-model="form.backExchangeRate" placeholder="请输入金额" allow-clear :disabled="!isEdit" /> <a-input
v-model="form.backExchangeRate"
placeholder="请输入金额"
allow-clear
:disabled="!isEdit"
/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="5" :sm="12"> <a-col :lg="5" :sm="12">
<a-form-model-item label="EOB编号"> <a-form-model-item label="EOB编号">
<a-input v-model="form.eobNos" placeholder="请输入EOB编号" allow-clear :disabled="!isEdit" /> <a-input
v-model="form.eobNos"
placeholder="请输入EOB编号"
allow-clear
:disabled="!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col :lg="5" :sm="12">
<a-form-model-item label="EOB备注">
<a-input
v-model="form.eobRemark"
placeholder="请输入EOB备注"
allow-clear
:disabled="!isEdit"
/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="5" :sm="12"> <a-col :lg="5" :sm="12">
<a-form-model-item label="上传附件"> <a-form-model-item label="上传附件">
<a-upload name="file" :multiple="false" :showUploadList="true" :disabled="!isEdit" <a-upload
name="file"
:multiple="false"
:showUploadList="true"
:disabled="!isEdit"
:fileList="fileList" :fileList="fileList"
:customRequest="(file)=>uploadFile(file)" :customRequest="(file) => uploadFile(file)"
:beforeUpload="()=>beforeUpload()" :beforeUpload="() => beforeUpload()"
:remove="(file)=>removeFile(file)"> :remove="(file) => removeFile(file)"
<a-button type="primary"> <Icon name="ssiupload" :size="18" />上传文件 </a-button> >
<a-button type="primary">
<Icon name="ssiupload" :size="18" />上传文件
</a-button>
</a-upload> </a-upload>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :md="24" :lg="7" class="none-label" v-if="isEdit"> </a-row>
<a-form-model-item label="button"> </a-form-model>
<a-button class="mar-left10" type="primary" @click="addNewEvt(0)"> </template>
<Icon :name="backMoneyNo?'ssibaocun':'ssiadd'" :size="14" />暂存 <template v-else>
</a-button> <!-- form -->
<a-button class="mar-left10" type="primary" @click="addNewEvt(1)"> <a-form-model
<Icon :name="backMoneyNo?'ssibaocun':'ssiadd'" :size="14" />结案 ref="form"
</a-button> :labelCol="{ span: 5 }"
:wrapperCol="{ span: 16 }"
:model="form"
class="bill-form"
>
<a-row :gutter="30">
<a-col :lg="8" :sm="12">
<a-form-model-item label="保险公司">
<a-select
v-model="form.payorCode"
placeholder="请选择保险公司"
allow-clear
:disabled="!isEdit"
@change="changePayor"
>
<a-select-option
v-for="item in companyOptions"
:key="item.id"
:value="item.payorCode"
>
{{ item.longName }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="8" :sm="12">
<a-form-model-item label="可核销余额">
<a-input v-model="residueBackAmount" disabled />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
<div class="bill-content">
<!-- 已关联账单 --> <!-- 已关联账单 -->
<template v-if="selectedRows.length > 0"> <template v-if="selectedRows.length > 0">
<div class="table-title">已关联账单</div> <div class="table-title">
<a-table class="table-content" :columns="selectedColumns" :data-source="selectedRows" :scroll="{ x: true }" :pagination="false"> <span>已关联账单</span>
<a-button class="mar-left10" type="primary" @click="exportExcel">
<Icon name="ssidaochu" :size="14" />导出
</a-button>
</div>
<a-table
class="table-content"
:columns="selectedColumns"
:data-source="selectedRows"
:scroll="{ x: true, y: 450 }"
:pagination="false"
>
<template slot="operation" slot-scope="text, record, index">
<a-button
type="link"
class="danger"
@click.stop="delRecord(record, index)"
>删除</a-button
>
</template>
</a-table> </a-table>
</template> </template>
<!-- table --> <!-- table -->
<template v-if="isEdit">
<a-row class="search-form">
<a-form-model
ref="searchForm"
layout="inline"
:labelCol="{ span: 8 }"
:wrapperCol="{ span: 16 }"
:model="searchForm"
>
<a-row :gutter="30">
<a-col :lg="6" :sm="10">
<a-form-model-item label="账单日期">
<a-range-picker
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
v-model="searchForm.billDate"
:placeholder="['开始时间', '结束时间']"
/>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="10">
<a-form-model-item label="病历号">
<a-input
v-model="searchForm.mrnNo"
placeholder="请输入病历号"
allow-clear
:disabled="!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="客户名称">
<a-input
v-model="searchForm.patientName"
placeholder="请输入客户名称"
allow-clear
:disabled="!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col :lg="4" :sm="12">
<div class="btn-div mar-bottom10 none-label">
<a-button type="primary" @click="_getNewEOBList">
<Icon name="ssisearch_active" :size="14" />查询
</a-button>
</div>
</a-col>
</a-row>
</a-form-model>
</a-row>
<div class="table-title">账单列表</div> <div class="table-title">账单列表</div>
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false" :rowKey="'id'" <a-table
:row-selection="{ selectedRowKeys: selectedRowKeys, onSelect: onSelectChange, onSelectAll: onSelectAll }"> :columns="columns"
:data-source="dataList"
:scroll="{ x: true, y: 300 }"
:pagination="false"
:rowKey="'id'"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onSelect: onSelectChange,
onSelectAll: onSelectAll,
}"
>
</a-table> </a-table>
<BurtPagination :pagination="pagination" @pageChange="pageChange" /> <BurtPagination
:pagination="pagination"
@pageChange="pageChange"
/>
</template>
</div>
</template>
</a-tab-pane>
<div v-if="isEdit" slot="tabBarExtraContent">
<a-button class="mar-left10" type="primary" @click="addNewEvt(0)">
<Icon :name="backMoneyNo ? 'ssibaocun' : 'ssiadd'" :size="14" />暂存
</a-button>
<a-button class="mar-left10" type="primary" @click="addNewEvt(1)">
<Icon :name="backMoneyNo ? 'ssibaocun' : 'ssiadd'" :size="14" />结案
</a-button>
</div>
</a-tabs>
</div> </div>
</template> </template>
<script> <script>
import Goback from "@/components/CUSTOMER/goback"; import Goback from "@/components/CUSTOMER/goback";
import BurtPagination from "@/components/CUSTOMER/pagation"; import BurtPagination from "@/components/CUSTOMER/pagation";
import {EOBStatusOptions} from '@/utils/utilsdictOptions.js' import { EOBStatusOptions } from "@/utils/utilsdictOptions.js";
import { exportFile } from '@/utils/index';
import moment from "moment"; import moment from "moment";
import mixins from "@/mixins"; import mixins from "@/mixins";
export default { export default {
...@@ -89,12 +277,13 @@ export default { ...@@ -89,12 +277,13 @@ export default {
EOBStatusOptions, EOBStatusOptions,
dialogShow: false, dialogShow: false,
form: { form: {
payorCode: '', payorCode: "",
backDate: null, backDate: null,
backAmountCny: '', backAmountCny: "",
backAmountUsd: '', backAmountUsd: "",
backExchangeRate: '', backExchangeRate: "",
eobNos: '' // EOB编号 eobNos: "", // EOB编号
eobRemark: "", // EOB备注
}, },
fileList: [], // 上传文件列表 fileList: [], // 上传文件列表
dataList: [], dataList: [],
...@@ -102,16 +291,30 @@ export default { ...@@ -102,16 +291,30 @@ export default {
companyOptions: [], //保险公司 companyOptions: [], //保险公司
pagination: { pagination: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 5,
total: 0, total: 0,
}, },
selectedRowKeys: [], // Check here to configure the default column selectedRowKeys: [], // Check here to configure the default column
selectedRows: [], // Check here to configure the default column selectedRows: [], // Check here to configure the default column
backMoneyNo: '', backMoneyNo: "",
editRules: { editRules: {
backAmountUsd: [{ required: true, message: "请输入", trigger: "blur" }], backAmountUsd: [{ required: true, message: "请输入", trigger: "blur" }],
backAmount: [{ required: true, message: "请输入", trigger: "blur" }], backAmount: [{ required: true, message: "请输入", trigger: "blur" }],
}, },
searchForm: {
billDate: [],
mrnNo: "", // 病历号
patientName: "", // 客户名字
},
savedStatus: false, //是否已保存
relatedList: [],
panes: [
{ title: "基础信息", key: "0", show: true, content: "PaymentClaims" },
{ title: "账单列表", key: "1", show: false, content: "Insurance" },
],
activeKey: "0",
}; };
}, },
mixins: [mixins], mixins: [mixins],
...@@ -122,48 +325,172 @@ export default { ...@@ -122,48 +325,172 @@ export default {
computed: { computed: {
columns() { columns() {
const base = [ const base = [
{ title: "账单编号", dataIndex: "receiptNo", ellipsis: true, width: 150 }, {
// { title: "病历号", dataIndex: "mrnNo", ellipsis: true, width: 195 }, title: "账单编号",
{ title: "客户姓名",dataIndex: "patientName", ellipsis: true, width: 110 }, dataIndex: "receiptNo",
// { title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 160 }, ellipsis: true,
{ title: "账单日期", dataIndex: "createDate", ellipsis: true, width: 150 }, width: 150,
{ title: "收银", dataIndex: "receiptTellerName", ellipsis: true, width: 120,}, },
{ title: "账单金额", dataIndex: "actualAmount", ellipsis: true, width: 150,}, {
{ title: "回款金额", dataIndex: "backAmount", ellipsis: true, width: 150}, title: "账单状态",
{ title: "余额", dataIndex: "residueBackAmount", ellipsis: true, width: 150,}, dataIndex: "status",
{ title: "回款日期", dataIndex: "receiptDate", ellipsis: true, width: 150,}, ellipsis: true,
width: 150,
},
{ title: "病历号", dataIndex: "mrnNo", ellipsis: true, width: 195 },
{
title: "客户姓名",
dataIndex: "patientName",
ellipsis: true,
width: 160,
},
{ title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 195 },
{
title: "账单日期",
dataIndex: "receiptDate",
ellipsis: true,
width: 180,
},
{
title: "收银",
dataIndex: "receiptTellerName",
ellipsis: true,
width: 120,
},
{
title: "理赔账单金额",
dataIndex: "actualAmount",
ellipsis: true,
width: 150,
},
{
title: "回款金额",
dataIndex: "writeOffAmount",
ellipsis: true,
width: 150,
},
{
title: "个人欠费",
dataIndex: "arrearsAmountShow",
ellipsis: true,
width: 150,
},
{
title: "未清余额",
dataIndex: "residueBackAmount",
ellipsis: true,
width: 150,
},
]; ];
return base return base;
}, },
selectedColumns() { selectedColumns() {
const base = JSON.parse(JSON.stringify(this.columns)) const base = JSON.parse(JSON.stringify(this.columns));
base[5] = { title: "回款金额", dataIndex: "backAmount", ellipsis: true, width: 150, customRender: (val, row) => { const changeAmount = this.changeAmount;
return <a-input-number v-model={row.backAmount} allow-clear /> base[8] = {
} } title: "回款金额",
return base dataIndex: "backAmount",
ellipsis: true,
width: 150,
customRender: (val, row) => {
return (
<a-input-number
v-model={row.backAmount}
allow-clear
disabled={!this.isEdit}
onBlur={() => {
changeAmount(row);
}}
/>
);
},
};
base[10] = {
title: "未清余额",
dataIndex: "residueBackAmount",
ellipsis: true,
width: 150,
customRender: (val, row) => {
const residueBackAmount =
Number(row.currentReceiptAmount || 0) - Number(row.backAmount || 0) - Number(row.arrearsAmount || 0);
return Number(residueBackAmount.toFixed(2));
},
};
base[9] = {
title: "个人欠费",
dataIndex: "arrearsAmount",
ellipsis: true,
width: 150,
customRender: (val, row) => {
return (
<a-input-number
v-model={row.arrearsAmount}
allow-clear
disabled={!this.isEdit}
onBlur={() => {
changeAmount(row);
}}
/>
);
},
};
base.splice(8, 0, {
title: "余末金额",
dataIndex: "currentReceiptAmount",
ellipsis: true,
width: 150,
});
base.push({
title: "回款日期",
dataIndex: "backDate",
ellipsis: true,
width: 150,
});
if (this.isEdit) {
base.push({
title: "操作",
dataIndex: "operation",
fixed: "right",
width: 100,
scopedSlots: { customRender: "operation" },
});
} }
return base;
}, },
created(){ // 可核销余额
const { backMoneyNo, isEdit } = this.$route.query residueBackAmount() {
let totalMoney = Number(this.form.backAmountCny || 0);
this.selectedRows.forEach((item) => {
totalMoney -= Number(item.backAmount);
});
return Number(totalMoney.toFixed(2));
},
},
created() {
const { backMoneyNo, isEdit } = this.$route.query;
this.backMoneyNo = backMoneyNo; this.backMoneyNo = backMoneyNo;
this.isEdit = isEdit; this.isEdit = isEdit;
this._getCompanyOptions(); this._getCompanyOptions();
if(backMoneyNo){ if (backMoneyNo) {
const backMoneyDataDetail = JSON.parse(localStorage.getItem('backMoneyDataDetail') || '{}'); const backMoneyDataDetail = JSON.parse(
this.form = backMoneyDataDetail localStorage.getItem("backMoneyDataDetail") || "{}"
this.form.backDate = this.form.backDate ? moment(this.form.backDate).format('YYYY-MM-DD 00:00:00') : null );
this.form = backMoneyDataDetail;
this.form.backDate = this.form.backDate
? moment(this.form.backDate).format("YYYY-MM-DD 00:00:00")
: null;
// 如果有上传附件则显示列表 // 如果有上传附件则显示列表
if(backMoneyDataDetail.fileList) { if (backMoneyDataDetail.fileList) {
this.fileList = backMoneyDataDetail.fileList.map(d => { this.fileList = backMoneyDataDetail.fileList.map((d) => {
const file = { const file = {
uid: Math.random()*10000, uid: Math.random() * 10000,
name: d.fileName, name: d.fileName,
status: 'done', status: "done",
url: d.fileUrl, url: d.fileUrl,
} };
return file return file;
}) });
} }
this.getData(); this.getData();
} }
...@@ -171,35 +498,112 @@ export default { ...@@ -171,35 +498,112 @@ export default {
}, },
methods: { methods: {
moment, moment,
paneChange() {
this.panes.forEach((item) => {
item.show = false;
});
this.panes[Number(this.activeKey)].show = true;
},
changeAmount(row) {
if (Number(row.actualAmount || 0) - Number(row.backAmount || 0) < 0) {
this.$message.warning("录入账单回款金额大于账单金额");
}
},
onSelectChange(selectedRow, selected) { onSelectChange(selectedRow, selected) {
if(selected) { if (selected) {
this.selectedRowKeys.push(selectedRow.id) this.selectedRowKeys.push(selectedRow.id);
this.selectedRows.push(selectedRow) this.selectedRows.push(selectedRow);
} else { } else {
const index = this.selectedRowKeys.findIndex(item => item === selectedRow.id) const index = this.selectedRowKeys.findIndex(
this.selectedRowKeys.splice(index, 1) (item) => item === selectedRow.id
this.selectedRows.splice(index, 1) );
this.selectedRowKeys.splice(index, 1);
this.selectedRows.splice(index, 1);
this._confirmDelReceipt([selectedRow]);
} }
}, },
onSelectAll(selected, selectedRows, changeRows) { onSelectAll(selected, selectedRows, changeRows) {
console.log(selected, selectedRows, changeRows) console.log(selected, selectedRows, changeRows);
if(selected) { if (selected) {
this.selectedRowKeys = this.selectedRowKeys.concat(changeRows.map(item => item.id)) this.selectedRowKeys = this.selectedRowKeys.concat(
this.selectedRows = this.selectedRows.concat(changeRows) changeRows.map((item) => item.id)
);
this.selectedRows = this.selectedRows.concat(changeRows);
} else { } else {
changeRows.forEach(item => { changeRows.forEach((item) => {
const findIndex = this.selectedRowKeys.findIndex(rowId => rowId === item.id) const findIndex = this.selectedRowKeys.findIndex(
this.selectedRowKeys.splice(findIndex, 1) (rowId) => rowId === item.id
this.selectedRows.splice(findIndex, 1) );
this.selectedRowKeys.splice(findIndex, 1);
this.selectedRows.splice(findIndex, 1);
});
this._confirmDelReceipt(changeRows);
}
},
delRecord(record, index) {
this.selectedRowKeys.splice(index, 1);
this.selectedRows.splice(index, 1);
if (record.relationed) {
// 已经关联的调用接口删除
this._confirmDelReceipt([record]);
}
},
_confirmDelReceipt(records) {
console.log(records);
if (!this.backMoneyNo) return;
const receiptVoList = records
.filter((item) => {
const findIndex = this.relatedList.findIndex(
(rowId) => rowId === item.id
);
return findIndex > -1;
})
.map((item) => {
return {
id: item.id,
};
});
console.log(receiptVoList);
if (receiptVoList.length === 0) return;
this.$apis
.DELETERECEIPTRECORD({
backMoneyNo: this.backMoneyNo,
receiptVoList,
}) })
.then((res) => {
if (res.returnCode == "0000") {
this._getNewEOBList();
} else {
this.$message.error(res.returnMsg);
}
});
},
// 修改保险公司
changePayor() {
if (
this.selectedRowKeys.length > 0 &&
(this.form.id || this.savedStatus)
) {
this.$modal.confirm({
title: "提示",
content: "是否解除已关联账单",
okText: "确认",
cancelText: "取消",
onOk: () => {
this.selectedRowKeys = [];
this.selectedRows = [];
},
onCancel: () => {},
});
} }
this._getNewEOBList();
}, },
pageChange(pager) { pageChange(pager) {
this.pagination = { this.pagination = {
...this.pagination, ...this.pagination,
...pager ...pager,
} };
this._getNewEOBList() this._getNewEOBList();
}, },
// 获取保险公司下拉选项 // 获取保险公司下拉选项
_getCompanyOptions() { _getCompanyOptions() {
...@@ -209,58 +613,85 @@ export default { ...@@ -209,58 +613,85 @@ export default {
}, },
// 获取已关联的账单 // 获取已关联的账单
getData() { getData() {
this.$apis.QUERYBACKRECEIPTLIST({ this.$apis
.QUERYBACKRECEIPTLIST({
pageNum: 1, pageNum: 1,
pageSize: 999, pageSize: 999,
backMoneyNo: this.backMoneyNo, backMoneyNo: this.backMoneyNo,
payorCode: this.form.payorCode payorCode: this.form.payorCode,
}) })
.then((res) => { .then((res) => {
if (res.returnCode == "0000") { if (res.returnCode == "0000") {
const list = res.content.list || []; const list = res.content.list || [];
this.selectedRowKeys = list.map(d => d.id) this.selectedRowKeys = list.map((d) => d.id);
this.selectedRows = list this.selectedRows = list.map((item) => {
item.relationed = true;
return item;
});
this.relatedList = list.map((d) => d.id);
} else { } else {
this.$message.error(res.returnMsg); this.$message.error(res.returnMsg);
} }
}); });
}, },
// 获取所有账单 // 获取所有账单
_getNewEOBList(){ _getNewEOBList() {
this.$apis.QUERYBACKRECEIPTINFOLIST({ let billDate = this.searchForm.billDate || [];
this.$apis
.QUERYBACKRECEIPTINFOLIST({
pageNum: this.pagination.pageNum, pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize, pageSize: this.pagination.pageSize,
payorCode: this.form.payorCode backMoneyNo: this.backMoneyNo,
payorCode: this.form.payorCode,
...this.searchForm,
receiptEndDate: billDate[1] ? billDate[1] + " 23:59:59" : undefined,
receiptStartDate: billDate[0] ? billDate[0] + " 00:00:00" : undefined,
}) })
.then((res) => { .then((res) => {
if (res.returnCode == "0000") { if (res.returnCode == "0000") {
let content = res.content || {}; let content = res.content || {};
this.pagination.total = content.total || 0; this.pagination.total = content.total || 0;
this.dataList = content.list || []; this.dataList = content.list.map(item => {
item.arrearsAmountShow = item.arrearsAmount
item.arrearsAmount = ''
return item
}) || [];
} else { } else {
this.$message.error(res.returnMsg); this.$message.error(res.returnMsg);
} }
}); });
}, },
//新建/保存回款 //新建/保存回款
addNewEvt(backStatus){ addNewEvt(backStatus) {
return new Promise((resolve,reject)=>{ return new Promise((resolve, reject) => {
console.log(this.selectedRows) console.log(this.selectedRows);
if(!this.form.backAmountCny){ if (!this.form.payorCode) {
this.$message.warning("请选择保险公司");
reject();
return;
}
if (!this.form.backDate) {
this.$message.warning("请选择回款日期");
reject();
return;
}
if (!this.form.backAmountCny) {
this.$message.warning("请输入回款金额"); this.$message.warning("请输入回款金额");
reject(); reject();
return; return;
} }
let receiptVoList = this.selectedRows.map(item => { let receiptVoList = this.selectedRows.map((item) => {
return { return {
id: item.id, id: item.id,
backAmount: item.backAmount, backAmount: item.backAmount,
} arrearsAmount: item.arrearsAmount,
}) };
const valid = receiptVoList.some(item => { });
return !item.backAmount const valid = receiptVoList.some((item) => {
}) const exist = !item.backAmount && item.backAmount !== 0
if(valid) { return exist;
});
if (valid) {
this.$message.warning("存在关联账单未输入回款金额"); this.$message.warning("存在关联账单未输入回款金额");
reject(); reject();
return; return;
...@@ -269,27 +700,30 @@ export default { ...@@ -269,27 +700,30 @@ export default {
const formData = { const formData = {
...this.form, ...this.form,
receiptVoList, receiptVoList,
backDate: this.form.backDate? moment(this.form.backDate).format('YYYY-MM-DD 00:00:00'):'', backDate: this.form.backDate
? moment(this.form.backDate).format("YYYY-MM-DD HH:mm:ss")
: "",
backMoneyNo: this.backMoneyNo, //回款编号 backMoneyNo: this.backMoneyNo, //回款编号
backStatus // 0暂存 1结案 backStatus, // 0暂存 1结案
} };
// 上传附件格式转换 // 上传附件格式转换
formData.fileList = this.fileList.map(d => { formData.fileList = this.fileList.map((d) => {
const file = { const file = {
fileName: d.name, fileName: d.name,
fileUrl: d.url fileUrl: d.url,
} };
return file return file;
}) });
this.$apis.SAVEBACKMONEY(formData) this.$apis.SAVEBACKMONEY(formData).then((res) => {
.then((res) => {
if (res.returnCode == "0000") { if (res.returnCode == "0000") {
this.backMoneyNo = res.content; this.backMoneyNo = res.content;
this.savedStatus = true;
this.$message.success("成功"); this.$message.success("成功");
this.selectedRowKeys = []; this.selectedRowKeys = [];
this.getData(); this.getData();
this._getNewEOBList();
// this.$router.go(-1); // this.$router.go(-1);
resolve(); resolve();
...@@ -298,21 +732,21 @@ export default { ...@@ -298,21 +732,21 @@ export default {
reject(); reject();
} }
}); });
}) });
}, },
/* ======== 上传区域 ======== */ /* ======== 上传区域 ======== */
// 上传之前 // 上传之前
beforeUpload(){ beforeUpload() {
const len = this.fileList.length; const len = this.fileList.length;
if(len >= 5){ if (len >= 5) {
this.$message.warning('不能超过5个文件'); this.$message.warning("不能超过5个文件");
return false; return false;
} }
return true; return true;
}, },
// 删除文件 // 删除文件
removeFile(file){ removeFile(file) {
let index; let index;
this.fileList.forEach((item, i) => { this.fileList.forEach((item, i) => {
if (item.uid == file.uid) { if (item.uid == file.uid) {
...@@ -323,21 +757,30 @@ export default { ...@@ -323,21 +757,30 @@ export default {
return true; return true;
}, },
// 上传文件 // 上传文件
uploadFile(fileData){ uploadFile(fileData) {
let formData = new FormData(); let formData = new FormData();
formData.append("file", fileData.file); formData.append("file", fileData.file);
this.$apis.UPLOADIMG(formData) this.$apis.UPLOADIMG(formData).then((res) => {
.then((res)=>{
fileData.onSuccess(); fileData.onSuccess();
let tmp = { let tmp = {
uid: Math.random()*10000, uid: Math.random() * 10000,
name: res.original, name: res.original,
status: 'done', status: "done",
url: res.url, url: res.url,
} };
this.fileList.push(tmp); this.fileList.push(tmp);
this.$forceUpdate(); this.$forceUpdate();
});
},
//导出报表
exportExcel(){
let filter = {
backMoneyNo: this.backMoneyNo,
payorCode: this.form.payorCode,
}
this.$apis.EXPORTBACKRECEIPTLIST(filter).then(res => {
exportFile(res, '已关联账单.xls');
}) })
} }
}, },
...@@ -353,11 +796,20 @@ export default { ...@@ -353,11 +796,20 @@ export default {
} }
.table-title { .table-title {
font-size: 15px; font-size: 15px;
margin: 12px 0 6px; margin: 6px 0;
display: flex;
align-items: center;
justify-content: space-between;
} }
.table-content { .table-content {
margin-bottom: 8px; margin-bottom: 8px;
} }
.search-form {
margin-top: 24px;
.ant-form .ant-form-item {
margin-bottom: 4px;
}
}
.ant-btn .icon-class { .ant-btn .icon-class {
.mg-r(10); .mg-r(10);
} }
...@@ -367,4 +819,26 @@ export default { ...@@ -367,4 +819,26 @@ export default {
.danger.ant-btn-link { .danger.ant-btn-link {
color: #ff3b30; color: #ff3b30;
} }
.burt-container {
height: calc(100vh - 86px);
display: flex;
flex-direction: column;
::v-deep {
.ant-tabs {
flex: 1;
min-height: 0;
}
}
}
.bill-content {
height: calc(100vh - 380px);
overflow-y: auto;
overflow-x: hidden;
padding-right: 12px;
}
::v-deep .bill-form {
.ant-form .ant-form-item {
margin-bottom: 4px !important;
}
}
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment