Commit 0112ae82 authored by 郭小龙-DEL's avatar 郭小龙-DEL

Merge branch 'func-eccs-2045' into 'master'

eccs 2045 商保流程改造

See merge request !33
parents f40113a3 1ec29531
...@@ -12,4 +12,8 @@ export default { ...@@ -12,4 +12,8 @@ export default {
saveBackMoney: "/backstage/auth/saveBackMoney", //新建回款 saveBackMoney: "/backstage/auth/saveBackMoney", //新建回款
deleteBackMoney: "/backstage/auth/deleteBackMoney", //删除回款 deleteBackMoney: "/backstage/auth/deleteBackMoney", //删除回款
eobReceipListExport: "/backstage/auth/eobReceipListExport", //EOB关联账单导出 eobReceipListExport: "/backstage/auth/eobReceipListExport", //EOB关联账单导出
queryBackReceiptList: "/backstage/auth/queryBackReceiptList", //回销关联账单列表查询
queryReceiptInfoList: "/backstage/auth/queryReceiptInfoList", //回销账单列表查询
deleteReceiptRecord: "/backstage/auth/deleteBackReceipt", // 删除已关联账单
}; };
...@@ -53,6 +53,20 @@ const EOBRECEIPLISTEXPORT = (data={}) => { ...@@ -53,6 +53,20 @@ const EOBRECEIPLISTEXPORT = (data={}) => {
return req.post(apis.eobReceipListExport, data, { responseType: "blob" }); return req.post(apis.eobReceipListExport, data, { responseType: "blob" });
}; };
//回销关联账单列表查询
const QUERYBACKRECEIPTLIST = (data) => {
return req.post(apis.queryBackReceiptList, data);
};
//回销账单列表查询
const QUERYBACKRECEIPTINFOLIST = (data) => {
return req.post(apis.queryReceiptInfoList, data);
};
// 删除已关联账单
const DELETERECEIPTRECORD = (data) => {
return req.post(apis.deleteReceiptRecord, data);
};
// 对象数组 // 对象数组
export default { export default {
QUERYEOBLIST, QUERYEOBLIST,
...@@ -66,4 +80,7 @@ export default { ...@@ -66,4 +80,7 @@ export default {
SAVEBACKMONEY, SAVEBACKMONEY,
DELETEBACKMONEY, DELETEBACKMONEY,
EOBRECEIPLISTEXPORT, EOBRECEIPLISTEXPORT,
QUERYBACKRECEIPTLIST,
QUERYBACKRECEIPTINFOLIST,
DELETERECEIPTRECORD
}; };
\ No newline at end of file
...@@ -14,38 +14,34 @@ export default [ ...@@ -14,38 +14,34 @@ export default [
path: "/customer", path: "/customer",
title: "客户查询", title: "客户查询",
}, },
{
path: "/customer/edit",
title: "新建客户",
},
],
},
{
icon: "ssimanage_msg",
path: "2",
title: "福利信息管理",
children: [
{
path: "/welfare",
title: "福利查询",
}
],
},
{
icon: "ssimanage",
path: "pre-auth",
title: "预授权信息管理",
children: [
{
path: "/pre-auth",
title: "预授权查询",
},
{
path: "/pre-auth/add",
title: "新建预授权",
},
], ],
}, },
// {
// icon: "ssimanage_msg",
// path: "2",
// title: "福利信息管理",
// children: [
// {
// path: "/welfare",
// title: "福利查询",
// }
// ],
// },
// {
// icon: "ssimanage",
// path: "pre-auth",
// title: "预授权信息管理",
// children: [
// {
// path: "/pre-auth",
// title: "预授权查询",
// },
// // {
// // path: "/pre-auth/add",
// // title: "新建预授权",
// // },
// ],
// },
{ {
icon: "ssisearch", icon: "ssisearch",
path: "charge-query", path: "charge-query",
...@@ -66,10 +62,10 @@ export default [ ...@@ -66,10 +62,10 @@ export default [
path: "verification", path: "verification",
title: "核销管理", title: "核销管理",
children: [ children: [
{ // {
path: "/verification", // path: "/verification",
title: "EOB管理", // title: "EOB管理",
}, // },
{ {
path: "/verification/collection", path: "/verification/collection",
title: "回款管理", title: "回款管理",
......
...@@ -150,8 +150,8 @@ export default { ...@@ -150,8 +150,8 @@ export default {
{ 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: "patientType", width: 180 },
{ title: "保险公司", dataIndex: "payorName", width: 180 }, { title: "保险公司", dataIndex: "payorName", width: 200 },
{ title: "就诊医生", dataIndex: "doctorName", width: 180 }, { 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: "是否已关联EOB", dataIndex: "isEob", width: 180,scopedSlots: { customRender: "isEob" } },
{ title: "是否已回款", dataIndex: "isEobBack", width: 180,scopedSlots: { customRender: "isEobBack" } }, { title: "是否已回款", dataIndex: "isEobBack", width: 180,scopedSlots: { customRender: "isEobBack" } },
...@@ -211,7 +211,6 @@ export default { ...@@ -211,7 +211,6 @@ export default {
}) })
}, },
created() { created() {
this._getChargeList();
this._getCompanyOptions(); this._getCompanyOptions();
this._getDoctorListNoPage();//获取医生下拉选项 this._getDoctorListNoPage();//获取医生下拉选项
}, },
......
...@@ -229,11 +229,13 @@ export default { ...@@ -229,11 +229,13 @@ export default {
computed: { computed: {
columns() { columns() {
const base = [ const base = [
{ title: "就诊日期", dataIndex: "receiptDate", width: 200,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: 98 }, { title: "客户姓名", dataIndex: "patientName", width: 160 },
{ title: "保险卡号", dataIndex: "memberCardNo", width: 180 },
{ 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: "payorName", width: 110 }, { 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: "discountAmount2", width: 100, align: 'center' },
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
</a-col> </a-col>
<a-col :xl="18" :lg="18" :sm="12" class="none-label"> <a-col :xl="18" :lg="18" :sm="12" class="none-label">
<a-form-model-item label="button"> <a-form-model-item label="button">
<a-button type="primary" @click="addNewCustom"><Icon name="ssiadd" :size="14" />新建客户</a-button> <!-- <a-button type="primary" @click="addNewCustom"><Icon name="ssiadd" :size="14" />新建客户</a-button> -->
<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>
...@@ -121,7 +121,6 @@ export default { ...@@ -121,7 +121,6 @@ export default {
BurtPagination, BurtPagination,
}, },
created() { created() {
this._getCustomerList();
this._getPayorCode(); this._getPayorCode();
}, },
methods: { methods: {
......
...@@ -54,8 +54,8 @@ ...@@ -54,8 +54,8 @@
<a-button class="mar-left5" type="primary" @click="reset"> <a-button class="mar-left5" type="primary" @click="reset">
<Icon name="ssireset" :size="12" />重置 <Icon name="ssireset" :size="12" />重置
</a-button> </a-button>
<a-button class="mar-left5" type="primary" @click="addPreAuth"> <!-- <a-button class="mar-left5" type="primary" @click="addPreAuth">
<Icon name="ssiadd" :size="12" />新建预授权</a-button> <Icon name="ssiadd" :size="12" />新建预授权</a-button> -->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
......
...@@ -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,15 +22,51 @@ ...@@ -14,15 +22,51 @@
</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 :md="12" class="none-label"> <a-col :lg="6" :sm="12">
<a-form-model-item label="创建时间">
<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 :md="24" class="none-label">
<a-form-model-item label="button"> <a-form-model-item label="button">
<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">
...@@ -33,14 +77,29 @@ ...@@ -33,14 +77,29 @@
</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" />
...@@ -52,20 +111,44 @@ import BurtPagination from "@/components/CUSTOMER/pagation"; ...@@ -52,20 +111,44 @@ import BurtPagination from "@/components/CUSTOMER/pagation";
import moment from "moment"; import moment from "moment";
const columns = [ const columns = [
{ title: "回款编号", dataIndex: "backMoneyNo", ellipsis: true, width: 150 }, { title: "回款编号", dataIndex: "backMoneyNo", ellipsis: true, width: 150 },
{ title: "EOB编号", dataIndex: "eobNos", ellipsis: true, width: 140 },
{ title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 110 }, { title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 110 },
{ title: "回款金额(人民币)", dataIndex: "backAmountCny", ellipsis: true, width: 190,}, {
{ title: "回款金额(美元)", dataIndex: "backAmountUsd", ellipsis: true, width: 190,}, title: "回款金额(人民币)",
{ title: "汇率差", dataIndex: "backExchangeRate", ellipsis: true, width: 110 }, dataIndex: "backAmountCny",
ellipsis: true,
width: 190,
},
{
title: "未核销余额",
dataIndex: "residueBackAmount",
ellipsis: true,
width: 130,
},
{ 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: [], //创建时间范围
startDate: "",
endDate: "",
backStatus: "",
backAmountCny: "", // 回款金额
}, },
dataList: [], dataList: [],
companyOptions: [], //保险公司 companyOptions: [], //保险公司
...@@ -74,12 +157,17 @@ export default { ...@@ -74,12 +157,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();
}, },
...@@ -93,9 +181,13 @@ export default { ...@@ -93,9 +181,13 @@ export default {
// 重置 // 重置
handlerReset() { handlerReset() {
this.form = { this.form = {
payorCode: '', payorCode: "",
eobNo: '', eobNo: "",
} dateRange: [], //创建时间范围
startDate: "",
endDate: "",
backStatus: ""
};
}, },
// 获取保险公司下拉选项 // 获取保险公司下拉选项
_getCompanyOptions() { _getCompanyOptions() {
...@@ -103,13 +195,20 @@ export default { ...@@ -103,13 +195,20 @@ export default {
this.companyOptions = res.content || []; this.companyOptions = res.content || [];
}); });
}, },
// 选中就诊时间
onSelectVisitTime(date, dateString) {
this.form.startDate = dateString[0] + "";
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,
pageNum: this.pagination.pageNum, pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize, pageSize: this.pagination.pageSize,
}) })
...@@ -117,42 +216,71 @@ export default { ...@@ -117,42 +216,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) => {
...@@ -166,7 +294,7 @@ export default { ...@@ -166,7 +294,7 @@ export default {
}, },
onCancel: () => {}, onCancel: () => {},
}); });
} },
}, },
}; };
</script> </script>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<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"> <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"> <a-select-option v-for="item in companyOptions" :key="item.id" :value="item.payorCode">
{{ item.longName }} {{ item.longName }}
</a-select-option> </a-select-option>
...@@ -23,6 +23,11 @@ ...@@ -23,6 +23,11 @@
<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-form-model-item>
</a-col> </a-col>
<a-col :lg="5" :sm="12">
<a-form-model-item label="可核销余额">
<a-input v-model="residueBackAmount" disabled />
</a-form-model-item>
</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" />
...@@ -33,8 +38,18 @@ ...@@ -33,8 +38,18 @@
<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="6" :sm="12"> <a-col :lg="5" :sm="12">
<a-form-model-item label="上传银行付款凭证"> <a-form-model-item label="EOB编号">
<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-col>
<a-col :lg="5" :sm="12">
<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)"
...@@ -44,74 +59,65 @@ ...@@ -44,74 +59,65 @@
</a-upload> </a-upload>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :md="24" :lg="12" class="none-label" v-if="isEdit"> <a-col :md="24" :lg="24" class="none-label" v-if="isEdit">
<a-form-model-item label="button"> <a-form-model-item label="button">
<a-button class="mar-left10" type="primary" @click="addNewEvt"> <a-button class="mar-left10" type="primary" @click="addNewEvt(0)">
<Icon :name="backMoneyNo?'ssibaocun':'ssiadd'" :size="14" />{{backMoneyNo?'保存回款':'新建回款'}} <Icon :name="backMoneyNo?'ssibaocun':'ssiadd'" :size="14" />暂存
</a-button> </a-button>
</a-form-model-item> <a-button class="mar-left10" type="primary" @click="addNewEvt(1)">
</a-col> <Icon :name="backMoneyNo?'ssibaocun':'ssiadd'" :size="14" />结案
<a-col :md="24" class="none-label" v-if="isEdit">
<a-form-model-item label="button">
<!-- <a-button class="mar-left10" type="primary" @click="handlerSearch">
<Icon name="ssisearch_active" :size="14" />查询
</a-button> -->
<a-button class="mar-left10" type="primary" @click="addNewEOB">
<Icon :name="isEditNewEOB?'ssibaocun':'ssiadd'" :size="14" />{{isEditNewEOB? '保存EOB': '添加EOB'}}
</a-button> </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 --> <div class="bill-content">
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false" <!-- 已关联账单 -->
:row-selection="isEditNewEOB? { selectedRowKeys: selectedRowKeys, onChange: onSelectChange }: null"> <template v-if="selectedRows.length > 0">
<template slot="eobNo" slot-scope="text,record"> <div class="table-title">已关联账单</div>
<a @click="toEOBDetail(record)">{{text}}</a> <a-table class="table-content" :columns="selectedColumns" :data-source="selectedRows" :scroll="{ x: true, y: 200 }" :pagination="false">
</template> <template slot="operation" slot-scope="text, record, index">
<template slot="eobSts" slot-scope="text"> <a-button type="link" class="danger" @click.stop="delRecord(record, index)">删除</a-button>
{{text | formatEOBStatus}}
</template>
<template slot="eobBackDate" slot-scope="text">
{{text?moment(text).format('YYYY-MM-DD'):''}}
</template>
<template slot="operation" slot-scope="text, record">
<a-button type="link" @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="pageChange" /> </template>
<!-- table -->
<a-modal title="编辑" :visible="dialogShow" width="700px" :maskClosable="false" <template v-if="isEdit">
okText="确定" cancelText="取消" <a-row class="search-form">
@ok="handleEditOK" @cancel="dialogShow = false"> <a-form-model ref="searchForm" layout="vertical" :model="searchForm">
<a-form-model ref="editForm" :model="editFormObj" :rules="editRules">
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :lg="12" :sm="24"> <a-col :lg="6" :sm="12">
<a-form-model-item label="EOB状态" prop="eobSts"> <a-form-model-item label="账单日期">
<a-select v-model="editFormObj.eobSts" placeholder="请选择状态" allow-clear> <a-range-picker format="YYYY-MM-DD" value-format="YYYY-MM-DD" v-model="searchForm.billDate" :placeholder="['开始时间','结束时间']"/>
<a-select-option v-for="(item,i) in EOBStatusOptions" :key="i" :value="item.value">{{item.name}}</a-select-option>
</a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="12" :sm="24"> <a-col :lg="5" :sm="12">
<a-form-model-item label="EOB核销时间" prop="eobBackDate"> <a-form-model-item label="病历号">
<a-date-picker format="YYYY年MM月DD日" v-model="editFormObj.eobBackDate" placeholder="选择日期" /> <a-input v-model="searchForm.mrnNo" placeholder="请输入病历号" allow-clear :disabled="!isEdit"/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="12" :xs="24"> <a-col :lg="5" :sm="12">
<a-form-model-item label="EOB回款(人民币)" prop="eobBackMoneyCny"> <a-form-model-item label="客户名称">
<a-input v-model.trim="editFormObj.eobBackMoneyCny" placeholder="EOB回款(人民币)" /> <a-input v-model="searchForm.patientName" placeholder="请输入客户名称" allow-clear :disabled="!isEdit"/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="12" :xs="24"> <a-col :lg="5" :sm="12">
<a-form-model-item label="EOB回款(美元)" prop="eobBackMoneyUsd"> <div class="btn-div mar-bottom10 none-label">
<a-input v-model.trim="editFormObj.eobBackMoneyUsd" placeholder="EOB回款(美元)" /> <a-button type="primary" @click="_getNewEOBList">
</a-form-model-item> <Icon name="ssisearch_active" :size="14" />查询
</a-button>
</div>
</a-col> </a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
</a-modal> </a-row>
<div class="table-title">账单列表</div>
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: true, y: 200 }" :pagination="false" :rowKey="'id'"
:row-selection="{ selectedRowKeys: selectedRowKeys, onSelect: onSelectChange, onSelectAll: onSelectAll }">
</a-table>
<BurtPagination :pagination="pagination" @pageChange="pageChange" />
</template>
</div>
</div> </div>
</template> </template>
...@@ -132,32 +138,34 @@ export default { ...@@ -132,32 +138,34 @@ export default {
backDate: null, backDate: null,
backAmountCny: '', backAmountCny: '',
backAmountUsd: '', backAmountUsd: '',
backExchangeRate: '' backExchangeRate: '',
eobNos: '', // EOB编号
eobRemark: '' // EOB备注
}, },
fileList: [], // 上传文件列表 fileList: [], // 上传文件列表
dataList: [], dataList: [],
backEobList: [], // eob回款列表
isEditNewEOB: false, //是否在新建回款 isEditNewEOB: false, //是否在新建回款
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
backMoneyNo: '', backMoneyNo: '',
editFormObj: {
id: '',
eobNo: '',
eobSts: '',
eobBackDate: null,
eobBackMoneyCny: '',
eobBackMoneyUsd: '',
},
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: []
}; };
}, },
mixins: [mixins], mixins: [mixins],
...@@ -168,23 +176,41 @@ export default { ...@@ -168,23 +176,41 @@ export default {
computed: { computed: {
columns() { columns() {
const base = [ const base = [
{ title: "EOB编号", dataIndex: "eobNo", scopedSlots: { customRender: 'eobNo' }, ellipsis: true, width: 150 }, { title: "账单编号", dataIndex: "receiptNo", ellipsis: true, width: 150 },
{ title: "EOB名称", dataIndex: "eobName", ellipsis: true, width: 195 }, { title: "病历号", dataIndex: "mrnNo", ellipsis: true, width: 195 },
{ title: "核销时间", dataIndex: "eobBackDate", ellipsis: true, width: 110, scopedSlots: { customRender: "eobBackDate" }, }, { title: "客户姓名",dataIndex: "patientName", ellipsis: true, width: 160 },
{ title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 110 }, // { title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 160 },
{ title: "EOB状态", dataIndex: "eobSts", ellipsis: true, width: 110, scopedSlots: { customRender: "eobSts" } }, { title: "账单日期", dataIndex: "receiptDate", ellipsis: true, width: 150 },
{ title: "EOB赔付金额(人民币)", dataIndex: "eobAmountCny", ellipsis: true, width: 190,}, { title: "收银", dataIndex: "receiptTellerName", ellipsis: true, width: 120,},
{ title: "EOB赔付金额(美元)", dataIndex: "eobAmountUsd", ellipsis: true, width: 190,}, { title: "账单金额", dataIndex: "actualAmount", ellipsis: true, width: 150,},
{ title: "EOB回款金额(人民币)", dataIndex: "eobBackMoneyCny", ellipsis: true, width: 190,}, { title: "回款金额", dataIndex: "writeOffAmount", ellipsis: true, width: 150},
{ title: "EOB回款金额(美元)", dataIndex: "eobBackMoneyUsd", ellipsis: true, width: 190,}, { title: "未清余额", dataIndex: "residueBackAmount", ellipsis: true, width: 150,},
{ title: "汇率差", dataIndex: "backExchangeRate", ellipsis: true, width: 110 },
]; ];
if(this.backMoneyNo && !this.isEditNewEOB && this.isEdit){ // 编辑状态下已经保存的数据才可进行操作 return base
return base.concat([ },
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" },fixed: "right", width: "170px", align: "center"}, selectedColumns() {
]) const base = JSON.parse(JSON.stringify(this.columns))
const changeAmount = this.changeAmount
base[6] = { title: "回款金额", 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[7] = { title: "未清余额", dataIndex: "residueBackAmount", ellipsis: true, width: 150, customRender: (val, row) => {
return Number(row.currentReceiptAmount || 0) - Number(row.backAmount || 0)
} }
base.splice(6, 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 return base
},
// 可核销余额
residueBackAmount() {
let totalMoney = Number(this.form.backAmountCny || 0)
this.selectedRows.forEach(item => {
totalMoney -= Number(item.backAmount)
})
return totalMoney
} }
}, },
created(){ created(){
...@@ -209,50 +235,98 @@ export default { ...@@ -209,50 +235,98 @@ export default {
return file return file
}) })
} }
this.getData(); this.getData();
} }
this._getNewEOBList();
}, },
methods: { methods: {
moment, moment,
// 查看的超链点击时链接已经生成好了,所以要点击的时候才set值才是对应的,不然存的都是最后一条数据 changeAmount(row) {
setData(record){ if((Number(row.actualAmount || 0) - Number(row.backAmount || 0)) < 0) {
localStorage.setItem('EobDataDetail', JSON.stringify(record)); this.$message.warning("录入账单回款金额大于账单金额");
}
}, },
// EOB添加去查看的超链 onSelectChange(selectedRow, selected) {
toEOBDetail(record){ if(selected) {
const { eobNo } = record; this.selectedRowKeys.push(selectedRow.id)
localStorage.setItem('EobDataDetail', JSON.stringify(record)); this.selectedRows.push(selectedRow)
this.$router.push({ } else {
path: '/verification/detail', const index = this.selectedRowKeys.findIndex(item => item === selectedRow.id)
query: { this.selectedRowKeys.splice(index, 1)
eobNo this.selectedRows.splice(index, 1)
this._confirmDelReceipt([selectedRow])
} }
},
onSelectAll(selected, selectedRows, changeRows) {
console.log(selected, selectedRows, changeRows)
if(selected) {
this.selectedRowKeys = this.selectedRowKeys.concat(changeRows.map(item => item.id))
this.selectedRows = this.selectedRows.concat(changeRows)
} else {
changeRows.forEach(item => {
const findIndex = this.selectedRowKeys.findIndex(rowId => rowId === item.id)
this.selectedRowKeys.splice(findIndex, 1)
this.selectedRows.splice(findIndex, 1)
}) })
this._confirmDelReceipt(changeRows)
}
}, },
onSelectChange(selectedRowKeys) { delRecord(record, index) {
let arr = []; this.selectedRowKeys.splice(index, 1)
for(let i=0; i<selectedRowKeys.length; i++){ this.selectedRows.splice(index, 1)
let idx = selectedRowKeys[i]; if(record.relationed) {
if(this.dataList[idx].backMoneyNo){ // 已经关联的调用接口删除
this.$msg.destroy(); this._confirmDelReceipt([record])
this.$message.warning('回款编号已存在')
}else{
arr.push(idx);
} }
},
_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
} }
this.selectedRowKeys = arr; })
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,
} }
if(this.isEditNewEOB) { // 点击添加EOB之后 分页数据查询就应该调EOB数据
this._getNewEOBList() this._getNewEOBList()
return true;
}
this.getData();
}, },
// 获取保险公司下拉选项 // 获取保险公司下拉选项
_getCompanyOptions() { _getCompanyOptions() {
...@@ -260,48 +334,42 @@ export default { ...@@ -260,48 +334,42 @@ export default {
this.companyOptions = res.content || []; this.companyOptions = res.content || [];
}); });
}, },
handlerSearch() { // 获取已关联的账单
this.pagination.pageNum = 1;
this.getData();
},
getData() { getData() {
this.$apis.QUERYBACKEOBLIST({ this.$apis.QUERYBACKRECEIPTLIST({
pageNum: this.pagination.pageNum, pageNum: 1,
pageSize: this.pagination.pageSize, pageSize: 999,
backMoneyNo: this.backMoneyNo backMoneyNo: this.backMoneyNo,
payorCode: this.form.payorCode
}) })
.then((res) => { .then((res) => {
if (res.returnCode == "0000") { if (res.returnCode == "0000") {
let content = res.content || {}; const list = res.content.list || [];
this.pagination.total = content.total || 0; this.selectedRowKeys = list.map(d => d.id)
this.dataList = content.list || []; this.selectedRows = list.map(item => {
this.backEobList = this.dataList.map(d => d) item.relationed = true
return item
})
this.relatedList = list.map(d => d.id)
} else { } else {
this.$message.error(res.returnMsg); this.$message.error(res.returnMsg);
} }
}); });
}, },
//添加EOB // 获取所有账单
addNewEOB(){
this.isEditNewEOB = !this.isEditNewEOB;
if(!this.isEditNewEOB){ //保存
this.addNewEvt()
.then(()=>{
this.isEditNewEOB = false;
})
}else{ //查询所有未加入的账单
this.pagination.pageNum = 1;
this._getNewEOBList()
}
},
_getNewEOBList(){ _getNewEOBList(){
this.$apis.QUERYEOBINFOLIST({ let billDate = this.searchForm.billDate || []
this.$apis.QUERYBACKRECEIPTINFOLIST({
pageNum: this.pagination.pageNum, pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize pageSize: this.pagination.pageSize,
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") {
this.selectedRowKeys = [];
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 || [];
...@@ -311,37 +379,45 @@ export default { ...@@ -311,37 +379,45 @@ export default {
}); });
}, },
//新建/保存回款 //新建/保存回款
addNewEvt(){ addNewEvt(backStatus){
return new Promise((resolve,reject)=>{ return new Promise((resolve,reject)=>{
console.log(this.selectedRows)
if(!this.form.payorCode){
this.$message.warning("请选择保险公司");
reject();
return;
}
if(!this.form.backDate){
this.$message.warning("请选择回款日期");
reject();
return;
}
if(!this.form.backAmountCny){ if(!this.form.backAmountCny){
this.$message.warning("请输入回款金额"); this.$message.warning("请输入回款金额");
reject(); reject();
return; return;
} }
let receiptVoList = this.selectedRows.map(item => {
let backMoneyEobList = []; return {
if(!this.isEditNewEOB) {
backMoneyEobList = this.backEobList
} else {
this.dataList.forEach((item,index)=>{
if(this.selectedRowKeys.indexOf(index)!=-1){
backMoneyEobList.push({
id: item.id, id: item.id,
eobNo: item.eobNo, backAmount: item.backAmount,
eobSts: item.eobSts,
eobBackDate: item.eobBackDate?moment(item.eobBackDate).format('YYYY-MM-DD 00:00:00'):'',
eobBackMoneyCny: item.eobBackMoneyCny,
eobBackMoneyUsd: item.eobBackMoneyUsd,
})
} }
}) })
const valid = receiptVoList.some(item => {
return !item.backAmount
})
if(valid) {
this.$message.warning("存在关联账单未输入回款金额");
reject();
return;
} }
const formData = { const formData = {
...this.form, ...this.form,
backMoneyEobList: backMoneyEobList, 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结案
} }
// 上传附件格式转换 // 上传附件格式转换
...@@ -357,9 +433,11 @@ export default { ...@@ -357,9 +433,11 @@ export default {
.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();
...@@ -370,66 +448,6 @@ export default { ...@@ -370,66 +448,6 @@ export default {
}); });
}) })
}, },
//删除记录
delRecord(index) {
this.$modal.confirm({
title: "删除",
content: "确定删除该条记录?",
okText: "确认",
cancelText: "取消",
onOk: () => {
this.$apis.DELETEBACKMONEY({
backMoneyNo: this.dataList[index].backMoneyNo,
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("删除成功");
this.dataList.splice(index, 1);
} else {
this.$message.error(res.returnMsg);
}
});
},
onCancel: () => {},
});
},
editEvt(record) {
this.editFormObj = {
id: record.id,
eobNo: record.eobNo || "",
eobSts: record.eobSts || "",
eobBackDate: record.eobBackDate?moment(record.eobBackDate).format('YYYY-MM-DD 00:00:00'):"",
eobBackMoneyCny: record.eobBackMoneyCny || "",
eobBackMoneyUsd: record.eobBackMoneyUsd || "",
};
this.dialogShow = true;
},
//编辑保存
handleEditOK() {
this.$refs.editForm.validate((valid) => {
if (valid) {
let editFormObj = {
...this.editFormObj,
eobBackDate: this.editFormObj.eobBackDate?moment(this.editFormObj.eobBackDate).format('YYYY-MM-DD 00:00:00'):"",
}
this.$apis.SAVEBACKMONEY({
...this.form,
backMoneyEobList: [editFormObj],
backDate: this.form.backDate? moment(this.form.backDate).format('YYYY-MM-DD 00:00:00'):'',
backMoneyNo: this.backMoneyNo, //回款编号
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("编辑成功");
this.dialogShow = false;
this.getData();
} else {
this.$message.error(res.returnMsg);
}
});
}
});
},
/* ======== 上传区域 ======== */ /* ======== 上传区域 ======== */
// 上传之前 // 上传之前
...@@ -469,7 +487,9 @@ export default { ...@@ -469,7 +487,9 @@ export default {
this.$forceUpdate(); this.$forceUpdate();
}) })
} },
// 导出账单列表
exportEvt() {}
}, },
}; };
</script> </script>
...@@ -481,6 +501,19 @@ export default { ...@@ -481,6 +501,19 @@ export default {
opacity: 0; opacity: 0;
} }
} }
.table-title {
font-size: 15px;
margin: 6px 0;
}
.table-content {
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);
} }
...@@ -490,4 +523,16 @@ export default { ...@@ -490,4 +523,16 @@ export default {
.danger.ant-btn-link { .danger.ant-btn-link {
color: #ff3b30; color: #ff3b30;
} }
.burt-container {
display: flex;
flex-direction: column;
height: calc(100vh - 110px);
.bill-content {
flex: 1;
min-height: 0;
overflow-y: auto;
overflow-x: hidden;
padding-right: 12px;
}
}
</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