Commit a0d63754 authored by 周留芳's avatar 周留芳

商保系统回款功能修改

parent c32f4a01
...@@ -15,5 +15,7 @@ export default { ...@@ -15,5 +15,7 @@ export default {
queryBackReceiptList: "/backstage/auth/queryBackReceiptList", //回销关联账单列表查询 queryBackReceiptList: "/backstage/auth/queryBackReceiptList", //回销关联账单列表查询
queryReceiptInfoList: "/backstage/auth/queryReceiptInfoList", //回销账单列表查询 queryReceiptInfoList: "/backstage/auth/queryReceiptInfoList", //回销账单列表查询
deleteReceiptRecord: "/backstage/auth/deleteBackReceipt", // 删除已关联账单 deleteReceiptRecord: "/backstage/auth/deleteBackReceipt", // 删除已关联账单
exportBackMoneyReport: "/backstage/auth/exportBackMoneyReport", // 回款列表导出
exportBackReceiptList: "/backstage/auth/exportBackReceiptList", // 关联账单列表导出
}; };
...@@ -67,6 +67,16 @@ const DELETERECEIPTRECORD = (data) => { ...@@ -67,6 +67,16 @@ const DELETERECEIPTRECORD = (data) => {
return req.post(apis.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,
...@@ -82,5 +92,7 @@ export default { ...@@ -82,5 +92,7 @@ export default {
EOBRECEIPLISTEXPORT, EOBRECEIPLISTEXPORT,
QUERYBACKRECEIPTLIST, QUERYBACKRECEIPTLIST,
QUERYBACKRECEIPTINFOLIST, QUERYBACKRECEIPTINFOLIST,
DELETERECEIPTRECORD DELETERECEIPTRECORD,
EXPORTBACKMONEYREPORT,
EXPORTBACKRECEIPTLIST
}; };
\ No newline at end of file
<template> <template>
<!-- -账单明细 --> <!-- -账单明细 -->
<div class="white_bg burt-container custom-info"> <div class="white_bg burt-container custom-info">
<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="4" :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="4" :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="4" :lg="6" :sm="12">
<a-form-model-item label="客户类型"> <a-form-model-item label="客户类型">
<a-select v-model="form.patientType" placeholder="请选择客户类型" allowClear> <a-select v-model="form.patientType" placeholder="请选择客户类型" allowClear>
<a-select-option v-for="item in patientTypeOptions" :key="item.code" :value="item.code"> <a-select-option v-for="item in patientTypeOptions" :key="item.code" :value="item.code">
{{ item.name }} {{ 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="4" :lg="6" :sm="12"> <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">
{{ item.longName }} {{ item.longName }}
</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="4" :lg="6" :sm="12"> <a-col :xl="4" :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">
{{ item.doctorDesc }} {{ item.doctorDesc }}
</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="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-col :xl="3" :lg="6" :sm="12">
<a-form-model-item label="支付方式"> <a-form-model-item label="支付方式">
<a-select v-model="form.paymentCode" placeholder="请选择支付方式" allowClear> <a-select v-model="form.paymentCode" placeholder="请选择支付方式" allowClear>
<a-select-option v-for="item in paymentOptions" :key="item.code" :value="item.code" allow-clear> <a-select-option v-for="item in paymentOptions" :key="item.code" :value="item.code" allow-clear>
{{ item.name }} {{ 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="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>
<a-button class="mar-left10" type="primary" @click="addNewCharge"> <a-button class="mar-left10" type="primary" @click="addNewCharge">
<Icon name="ssiadd" :size="14" />新建预授权</a-button> --> <Icon name="ssiadd" :size="14" />新建预授权</a-button> -->
<a-button class="mar-left10" type="primary" @click="handlerReset"> <a-button class="mar-left10" type="primary" @click="handlerReset">
<Icon name="ssireset" :size="14" />重置 <Icon name="ssireset" :size="14" />重置
</a-button> </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>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
<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="operation" slot-scope="record"> <template slot="operation" slot-scope="record">
<a-button type="link" @click.stop="editEvt(record)">修改</a-button> <a-button type="link" @click.stop="editEvt(record)">修改</a-button>
<a-popconfirm title="你确定要关闭吗?" ok-text="确定" cancel-text="取消" @confirm="deleteData" > <a-popconfirm title="你确定要关闭吗?" ok-text="确定" cancel-text="取消" @confirm="deleteData" >
<a-button type="link" class="danger">删除</a-button> <a-button type="link" class="danger">删除</a-button>
</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>
<!--分页--> <!--分页-->
<BurtPagination :pagination="pagination" @pageChange="_getChargeListDetail" /> <BurtPagination :pagination="pagination" @pageChange="_getChargeListDetail" />
<div class="title-div">费用支付明细</div> <div class="title-div">费用支付明细</div>
<a-table :columns="payColumns" :data-source="payDataList" :scroll="{ x: true }" :pagination="false" class="payTable"> <a-table :columns="payColumns" :data-source="payDataList" :scroll="{ x: true }" :pagination="false" class="payTable">
<template slot="paymentType" slot-scope="text"> <template slot="paymentType" slot-scope="text">
<a-button class="danger">{{ text | payStyleFilters }}</a-button> <a-button class="danger">{{ text | payStyleFilters }}</a-button>
</template> </template>
</a-table> </a-table>
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :sm="24"> <a-col :sm="24">
<div class="btn-div flex"> <div class="btn-div flex">
<a-button type="primary" @click="receiptEvt"> <a-button type="primary" @click="receiptEvt">
<Icon name="ssibaocun" :size="14" />结算</a-button> <Icon name="ssibaocun" :size="14" />结算</a-button>
<a-button type="primary" class="mar-left10" @click="printEvt"> <a-button type="primary" class="mar-left10" @click="printEvt">
<Icon name="ssidayinji_o" :size="14" />打印</a-button> <Icon name="ssidayinji_o" :size="14" />打印</a-button>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-modal title="编辑" :visible="dialogShow" width="700px" :maskClosable="false" <a-modal title="编辑" :visible="dialogShow" width="700px" :maskClosable="false"
okText="确定" cancelText="取消" okText="确定" cancelText="取消"
@ok="handleEditOK" @cancel="dialogShow = false"> @ok="handleEditOK" @cancel="dialogShow = false">
<a-form-model ref="editForm" :model="editFormObj" :rules="editRules"> <a-form-model ref="editForm" :model="editFormObj" :rules="editRules">
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :lg="12" :xs="24"> <a-col :lg="12" :xs="24">
</a-col> </a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
</a-modal> </a-modal>
</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 { mapState } from "vuex" import { mapState } from "vuex"
export default { export default {
data() { data() {
const columns = [ const columns = [
{ title: "项目", dataIndex: "itemcatDesc", width: 180 }, { title: "项目", dataIndex: "itemcatDesc", width: 180 },
{ title: "项目明细", dataIndex: "itemDesc", width: 180}, { title: "项目明细", dataIndex: "itemDesc", width: 180},
{ title: "单价", dataIndex: "itemPrice", width: 120}, { title: "单价", dataIndex: "itemPrice", width: 120},
{ title: "数量", dataIndex: "itemQty", width: 180 }, { title: "数量", dataIndex: "itemQty", width: 180 },
{ 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 },
// { title: "自付额", dataIndex: "selfPaid", width: 180 }, // { title: "自付额", dataIndex: "selfPaid", width: 180 },
// { title: "其他费用", dataIndex: "otherPaid", width: 180 }, // { title: "其他费用", dataIndex: "otherPaid", width: 180 },
// { title: "理赔金额", dataIndex: "actualPaid", width: 180 }, // { title: "理赔金额", dataIndex: "actualPaid", 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"},
]; ];
const payColumns = [ const payColumns = [
{ title: "免赔额", dataIndex: "deductible", width: 180 }, { title: "免赔额", dataIndex: "deductible", width: 180 },
{ title: "自付额", dataIndex: "selfPaid", width: 180 }, { title: "自付额", dataIndex: "selfPaid", width: 180 },
{ title: "其他费用", dataIndex: "otherPaid", width: 180 }, { title: "其他费用", dataIndex: "otherPaid", width: 180 },
{ title: "个人支付", dataIndex: "personalPaid", width: 180 }, { title: "个人支付", dataIndex: "personalPaid", width: 180 },
{ title: "理赔金额", dataIndex: "ciPaid", width: 180 }, { title: "理赔金额", dataIndex: "ciPaid", width: 180 },
{ title: "支付方式", dataIndex: "paymentType", width: 180, scopedSlots: { customRender: "paymentType" }}, { title: "支付方式", dataIndex: "paymentType", width: 180, scopedSlots: { customRender: "paymentType" }},
]; ];
return { return {
dialogShow: false, dialogShow: false,
receiptNo: "", receiptNo: "",
columns, columns,
payColumns, payColumns,
form: {}, form: {},
pageForm: { pageForm: {
doctorCode: "", doctorCode: "",
patientName: "", patientName: "",
mrnNo: "", mrnNo: "",
paymentCode: "", paymentCode: "",
payorId: 0, payorId: 0,
receiptDate: "" receiptDate: ""
}, },
patientTypeOptions: [ patientTypeOptions: [
{ {
name: "商保", name: "商保",
code: 1, code: 1,
}, },
], //客户类型 ], //客户类型
companyOptions: [], //保险公司 companyOptions: [], //保险公司
doctorOptions: [], //就诊医生 doctorOptions: [], //就诊医生
paymentOptions: [ paymentOptions: [
{ {
name: "商保", name: "商保",
code: 1, code: 1,
}, },
], //支付方式 ], //支付方式
dataList: [], dataList: [],
pager: { pager: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}, },
payDataList: [], payDataList: [],
pagination: { pagination: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
total: 0, total: 0,
}, },
editFormObj: { editFormObj: {
id: "", id: "",
mrnNo: '', mrnNo: '',
patientName: '', patientName: '',
}, },
editRules: { editRules: {
mrnNo: [{ required: true, message: "病历号", trigger: "blur" }], mrnNo: [{ required: true, message: "病历号", trigger: "blur" }],
patientName: [{ required: true, message: "客户姓名", trigger: "blur" }], patientName: [{ required: true, message: "客户姓名", trigger: "blur" }],
}, },
}; };
}, },
components: { components: {
Goback, Goback,
BurtPagination, BurtPagination,
}, },
computed: { computed: {
...mapState({ ...mapState({
userInfo: (state) => state.common.userInfo userInfo: (state) => state.common.userInfo
}) }),
}, sumAmount() {
filters: { let total = 0
payStyleFilters(value) { this.dataList.forEach(item => {
const styleMap = { total += Number(item.paidAmount || 0)
1: "支付宝", })
2: "微信", return Number(total.toFixed(2))
3: "现金", }
}; },
return styleMap[value]; filters: {
}, payStyleFilters(value) {
}, const styleMap = {
created() { 1: "支付宝",
const { receiptNo } = this.$route.query; 2: "微信",
this.receiptNo = receiptNo || ""; 3: "现金",
let chargeQueryDetail = localStorage.getItem('chargeQueryDetail'); };
this.form = chargeQueryDetail? JSON.parse(chargeQueryDetail): {}; return styleMap[value];
},
this._getChargeListDetail(); },
this._getCompanyOptions();//获取保险公司下拉选项 created() {
this._getDoctorListNoPage();//获取看诊医生下拉选项 const { receiptNo } = this.$route.query;
this._getReceiptPaymentDetail(); //费用支付明细 this.receiptNo = receiptNo || "";
}, let chargeQueryDetail = localStorage.getItem('chargeQueryDetail');
methods: { this.form = chargeQueryDetail? JSON.parse(chargeQueryDetail): {};
// 获取列表数据 console.log(this.form)
_getChargeListDetail() {
const data = { this._getChargeListDetail();
receiptNo: this.receiptNo, this._getCompanyOptions();//获取保险公司下拉选项
...this.pager, this._getDoctorListNoPage();//获取看诊医生下拉选项
}; this._getReceiptPaymentDetail(); //费用支付明细
this.$apis.GETCHARGELISTDETAIL(data).then((res) => { },
console.log("11111111111获取table信息=", res); methods: {
if (res.returnCode == "0000") { // 获取列表数据
this.dataList = (res.content && res.content.list) || []; _getChargeListDetail() {
// this.pager.total = (res.content && res.content.total) || 0; const data = {
} else { receiptNo: this.receiptNo,
this.$message.error(res.returnMsg); basereceiptId: this.form.externalId,
} ...this.pager,
}); };
}, this.$apis.GETCHARGELISTDETAIL(data).then((res) => {
// 获取保险公司下拉选项 console.log("11111111111获取table信息=", res);
_getCompanyOptions() { if (res.returnCode == "0000") {
this.$apis.GETCOMPANYOPTIONS().then((res) => { this.dataList = (res.content && res.content.list) || [];
console.log("获取保险公司下拉选项", res); // this.pager.total = (res.content && res.content.total) || 0;
if (res.returnCode == "0000") { } else {
this.companyOptions = res.content || []; this.$message.error(res.returnMsg);
} else { }
this.$message.error(res.returnMsg); });
} },
}); // 获取保险公司下拉选项
}, _getCompanyOptions() {
// 获取看诊医生下拉选项 this.$apis.GETCOMPANYOPTIONS().then((res) => {
_getDoctorListNoPage(){ console.log("获取保险公司下拉选项", res);
this.$apis.GETDOCTORlISTNOPAGE({"providerId": this.userInfo.providerId}).then((res) => { if (res.returnCode == "0000") {
if (res.returnCode === "0000") { this.companyOptions = res.content || [];
this.doctorOptions = res.content || []; } else {
}else{ this.$message.error(res.returnMsg);
this.$message.success(res.returnMsg); }
} });
},
}); // 获取看诊医生下拉选项
}, _getDoctorListNoPage(){
// 获取费用支付明细 this.$apis.GETDOCTORlISTNOPAGE({"providerId": this.userInfo.providerId}).then((res) => {
_getReceiptPaymentDetail() { if (res.returnCode === "0000") {
const params = { this.doctorOptions = res.content || [];
receiptNo: this.receiptNo, }else{
...this.payPager, this.$message.success(res.returnMsg);
}; }
this.$apis.GETRECEIPTPAYMENTDETAIL(params).then((res) => {
console.log("获取费用支付明细", res); });
if (res.returnCode == "0000") { },
let content = res.content || {}; // 获取费用支付明细
this.payDataList = content; _getReceiptPaymentDetail() {
} else { const params = {
this.$message.error(res.returnMsg); receiptNo: this.receiptNo,
} ...this.payPager,
}); };
}, this.$apis.GETRECEIPTPAYMENTDETAIL(params).then((res) => {
//账单结算 console.log("获取费用支付明细", res);
receiptEvt(){ if (res.returnCode == "0000") {
this.$modal.confirm({ let content = res.content || {};
title: "结算", this.payDataList = content;
content: "确定结算该账单?", } else {
okText: "确定", this.$message.error(res.returnMsg);
cancelText: "取消", }
onOk: () => { });
this.$apis.RECEIPTSETTLEMENT({ },
id: this.form.id //账单结算
}).then((res) => { receiptEvt(){
if (res.returnCode === "0000") { this.$modal.confirm({
this.$message.success('结算成功'); title: "结算",
this.pagination.pageNum = 1; content: "确定结算该账单?",
this._getChargeListDetail(); okText: "确定",
}else{ cancelText: "取消",
this.$message.error(res.returnMsg); onOk: () => {
} this.$apis.RECEIPTSETTLEMENT({
}); id: this.form.id
}, }).then((res) => {
}); if (res.returnCode === "0000") {
}, this.$message.success('结算成功');
//打印 this.pagination.pageNum = 1;
printEvt(){ this._getChargeListDetail();
this.$apis.RECEIPTPRINT({ }else{
id: this.form.id this.$message.error(res.returnMsg);
}).then(res => { }
if(res.returnCode == '0000'){ });
let url = res.content; },
let link = document.createElement('a'); });
link.setAttribute('href', url); },
link.setAttribute('target', "_blank"); //打印
document.body.appendChild(link); printEvt(){
link.click(); this.$apis.RECEIPTPRINT({
document.body.removeChild(link); id: this.form.id
}else{ }).then(res => {
this.$message.error(res.returnMsg); if(res.returnCode == '0000'){
} let url = res.content;
}) let link = document.createElement('a');
}, link.setAttribute('href', url);
// 重置 link.setAttribute('target', "_blank");
handlerReset() { document.body.appendChild(link);
const { mrnNo, patientName } = this.form; link.click();
this.form = {mrnNo, patientName}; document.body.removeChild(link);
}, }else{
editEvt(record) { this.$message.error(res.returnMsg);
this.editFormObj = { }
id: record.id || "", })
}; },
this.dialogShow = true; // 重置
}, handlerReset() {
//编辑保存 const { mrnNo, patientName } = this.form;
handleEditOK() { this.form = {mrnNo, patientName};
this.$refs.editForm.validate((valid) => { },
if (valid) { editEvt(record) {
console.log(11) this.editFormObj = {
} id: record.id || "",
}); };
}, this.dialogShow = true;
handlerSearch() { },
this.pagination.pageNum = 1; //编辑保存
this.pageForm = this.$lodash.cloneDeep(this.form); handleEditOK() {
this._getChargeListDetail(); this.$refs.editForm.validate((valid) => {
}, if (valid) {
deleteData() { console.log(11)
this.$message.success("删除成功"); }
}, });
// 新建账单信息 },
addNewCharge() { handlerSearch() {
// this.$router.push("/customer/edit"); this.pagination.pageNum = 1;
}, this.pageForm = this.$lodash.cloneDeep(this.form);
}, this._getChargeListDetail();
}; },
</script> deleteData() {
<style lang="less" scoped> this.$message.success("删除成功");
.none-label { },
text-align: right; // 新建账单信息
.ant-form-item-label { addNewCharge() {
opacity: 0; // this.$router.push("/customer/edit");
} },
} },
.ant-btn .icon-class { };
.mg-r(10); </script>
} <style lang="less" scoped>
.title-div { .none-label {
line-height: 56px; text-align: right;
color: #252631; .ant-form-item-label {
font-weight: bold; opacity: 0;
border-bottom: 1px solid #eee; }
} }
.payTable{ .ant-btn .icon-class {
.ant-btn{ .mg-r(10);
border-color: #1890ff; }
color: #1890ff; .title-div {
} line-height: 56px;
} color: #252631;
.btn-div{ font-weight: bold;
margin-top: 10px; border-bottom: 1px solid #eee;
justify-content: flex-end; }
} .payTable{
.total{ .ant-btn{
font-weight: 600; border-color: #1890ff;
span{ color: #1890ff;
color: red; }
} }
} .btn-div{
</style> margin-top: 10px;
justify-content: flex-end;
}
.total{
font-weight: 600;
span{
color: red;
}
}
</style>
<template> <template>
<!-- 收费查询-账单查询 --> <!-- 收费查询-账单查询 -->
<div class="white_bg burt-container custom-info"> <div class="white_bg burt-container custom-info">
<!-- 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="4" :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="4" :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="4" :lg="6" :sm="12">
<a-form-model-item label="客户类型"> <a-form-model-item label="客户类型">
<a-select v-model="form.patientType" placeholder="请选择客户类型" allowClear> <a-select v-model="form.patientType" placeholder="请选择客户类型" allowClear>
<a-select-option v-for="item in patientTypeOptions" :key="item.code" :value="item.code"> <a-select-option v-for="item in patientTypeOptions" :key="item.code" :value="item.code">
{{ item.name }} {{ 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="4" :lg="6" :sm="12"> <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">
{{ item.longName }} {{ item.longName }}
</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="4" :lg="6" :sm="12"> <a-col :xl="4" :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">
{{ item.doctorDesc }} {{ item.doctorDesc }}
</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="5" :lg="6" :sm="12"> <a-col :xl="5" :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="3" :lg="6" :sm="12">
<a-form-model-item label="支付方式"> <a-form-model-item label="支付方式">
<a-select v-model="form.paymentCode" placeholder="请选择支付方式" allowClear> <a-select v-model="form.paymentCode" placeholder="请选择支付方式" allowClear>
<a-select-option v-for="item in paymentOptions" :key="item.code" :value="item.code" allow-clear> <a-select-option v-for="item in paymentOptions" :key="item.code" :value="item.code" allow-clear>
{{ item.name }} {{ 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="3" :lg="6" :sm="12"> <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>
</a-select-option> </a-select-option>
<a-select-option value="N" allow-clear> <a-select-option value="N" allow-clear>
</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="3" :lg="6" :sm="12"> <a-col :xl="3" :lg="6" :sm="12">
<a-form-model-item label="是否已关联EOB"> <a-form-model-item label="是否已关联EOB">
<a-select v-model="form.isEob" placeholder="请选择是否已关联EOB" allowClear> <a-select v-model="form.isEob" placeholder="请选择是否已关联EOB" allowClear>
<a-select-option value="Y" allow-clear> <a-select-option value="Y" allow-clear>
</a-select-option> </a-select-option>
<a-select-option value="N" allow-clear> <a-select-option value="N" allow-clear>
</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="3" :lg="6" :sm="12"> <a-col :xl="3" :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.isEobBack" placeholder="请选择是否已回款" allowClear>
<a-select-option value="Y" allow-clear> <a-select-option value="Y" allow-clear>
</a-select-option> </a-select-option>
<a-select-option value="N" allow-clear> <a-select-option value="N" allow-clear>
</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="6" :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">
<Icon name="ssiadd" :size="14" />新建预授权</a-button> --> <Icon name="ssiadd" :size="14" />新建预授权</a-button> -->
<a-button class="mar-left10" type="primary" @click="handlerReset"> <a-button class="mar-left10" type="primary" @click="handlerReset">
<Icon name="ssireset" :size="14" />重置 <Icon name="ssireset" :size="14" />重置
</a-button> </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>
<a-button class="mar-left10" type="primary" @click="exportExcel"> <a-button class="mar-left10" type="primary" @click="exportExcel">
<Icon name="ssidaochu" :size="14" />导出 <Icon name="ssidaochu" :size="14" />导出
</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 --> <!-- 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="index" slot-scope="text, record, index"> <template slot="index" slot-scope="text, record, index">
{{ index + 1 }} {{ index + 1 }}
</template> </template>
<template slot="operation" slot-scope="record"> <template slot="operation" slot-scope="record">
<!-- <a-button type="link" @click.stop="receiptEvt(record)">结算</a-button> --> <!-- <a-button type="link" @click.stop="receiptEvt(record)">结算</a-button> -->
<a-button type="link" class="success" @click.stop="detailEvt(record)">查看</a-button> <a-button type="link" class="success" @click.stop="detailEvt(record)">查看</a-button>
<!-- <a-popconfirm title="你确定要关闭吗?" ok-text="确定" cancel-text="取消" @confirm="deleteData" > <!-- <a-popconfirm title="你确定要关闭吗?" ok-text="确定" cancel-text="取消" @confirm="deleteData" >
<a-button type="link" class="danger">删除</a-button> <a-button type="link" class="danger">删除</a-button>
</a-popconfirm> --> </a-popconfirm> -->
</template> </template>
<template slot="isSend" slot-scope="text"> <template slot="isSend" slot-scope="text">
{{text == 'Y' ? '' : text == 'N' ? '' : ''}} {{text == 'Y' ? '' : text == 'N' ? '' : ''}}
</template> </template>
<template slot="isEob" slot-scope="text"> <template slot="isEob" slot-scope="text">
{{text == 'Y' ? '' : text == 'N' ? '' : ''}} {{text == 'Y' ? '' : text == 'N' ? '' : ''}}
</template> </template>
<template slot="isEobBack" slot-scope="text"> <template slot="isEobBack" slot-scope="text">
{{text == 'Y' ? '' : text == 'N' ? '' : ''}} {{text == 'Y' ? '' : text == 'N' ? '' : ''}}
</template> </template>
</a-table> </a-table>
<!--分页--> <!--分页-->
<BurtPagination :pagination="pagination" @pageChange="_getChargeList" /> <BurtPagination :pagination="pagination" @pageChange="_getChargeList" />
</div> </div>
</template> </template>
<script> <script>
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 { 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: "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: 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: "是否已关联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: "selfpaidAmount", width: 180 },
{ title: "客户自付", dataIndex: "selfpaidAmount", width: 180 }, { title: "减免金额", dataIndex: "reduceAmount1", width: 180 },
{ title: "减免金额", dataIndex: "reduceAmount1", width: 180 }, { title: "理赔金额", dataIndex: "actualAmount", width: 180 },
{ title: "理赔金额", dataIndex: "claimsAmount", width: 180 }, { title: "保险已支付", dataIndex: "insurancePaidAmount", width: 180 },
{ title: "保险已支付", dataIndex: "insurancePaidAmount", width: 180 }, { title: "未清余额", dataIndex: "outstandAmount", width: 180 },
{ title: "未清余额", dataIndex: "outstandAmount", width: 180 }, { title: "保险欠费", dataIndex: "insuranceArrearsAmount", width: 180 },
{ title: "保险欠费", dataIndex: "insuranceArrearsAmount", width: 180 }, { title: "个人欠费", dataIndex: "personalArrearsAmount", width: 180 },
{ title: "个人欠费", dataIndex: "personalArrearsAmount", width: 180 }, { title: "账单编号", dataIndex: "receiptNo", width: 180 },
{ title: "发票号码", dataIndex: "receiptNo", 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, form: {},
form: {}, pageForm: {
pageForm: { doctorCode: "",
doctorCode: "", patientName: "",
patientName: "", mrnNo: "",
mrnNo: "", paymentCode: "",
paymentCode: "", payorId: 0,
payorId: 0, visitTimeEnd: "",
visitTimeEnd: "", visitTimeStart: "",
visitTimeStart: "", },
}, patientTypeOptions: [
patientTypeOptions: [ {
{ name: "商保",
name: "商保", code: 1,
code: 1, },
}, ], //客户类型
], //客户类型 companyOptions: [], //保险公司
companyOptions: [], //保险公司 doctorOptions: [], //就诊医生
doctorOptions: [], //就诊医生 paymentOptions: [
paymentOptions: [ {
{ name: "商保",
name: "商保", code: 1,
code: 1, },
}, ], //支付方式
], //支付方式 dataList: [],
dataList: [], pagination: {
pagination: { pageNum: 1,
pageNum: 1, pageSize: 10,
pageSize: 10, total: 0,
total: 0, },
}, };
}; },
}, components: {
components: { BurtPagination,
BurtPagination, },
}, computed: {
computed: { ...mapState({
...mapState({ userInfo: (state) => state.common.userInfo
userInfo: (state) => state.common.userInfo })
}) },
}, created() {
created() { this._getCompanyOptions();
this._getCompanyOptions(); this._getDoctorListNoPage();//获取医生下拉选项
this._getDoctorListNoPage();//获取医生下拉选项 },
}, methods: {
methods: { moment,
moment, // 获取列表数据
// 获取列表数据 _getChargeList() {
_getChargeList() { const data = {
const data = { ...this.pageForm,
...this.pageForm, ...this.pagination,
...this.pagination, };
}; 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 || []; this.pagination.total = content.total || 0;
this.pagination.total = content.total || 0; });
}); },
}, // 获取保险公司下拉选项
// 获取保险公司下拉选项 _getCompanyOptions() {
_getCompanyOptions() { this.$apis.GETCOMPANYOPTIONS().then((res) => {
this.$apis.GETCOMPANYOPTIONS().then((res) => { this.companyOptions = res.content || [];
this.companyOptions = res.content || []; });
}); },
}, // 获取看诊医生下拉选项
// 获取看诊医生下拉选项 _getDoctorListNoPage(){
_getDoctorListNoPage(){ this.$apis.GETDOCTORlISTNOPAGE({"providerId": this.userInfo.providerId}).then((res) => {
this.$apis.GETDOCTORlISTNOPAGE({"providerId": this.userInfo.providerId}).then((res) => { if (res.returnCode === "0000") {
if (res.returnCode === "0000") { this.doctorOptions = res.content || [];
this.doctorOptions = res.content || []; }else{
}else{ this.$message.success(res.returnMsg);
this.$message.success(res.returnMsg); }
} });
}); },
}, // 选中就诊时间
// 选中就诊时间 onSelectVisitTime(date, dateString) {
onSelectVisitTime(date, dateString) { this.form.visitTimeStart = dateString[0] + ' 00:00:00'
this.form.visitTimeStart = dateString[0] + ' 00:00:00' this.form.visitTimeEnd = dateString[1] + ' 23:59:59'
this.form.visitTimeEnd = dateString[1] + ' 23:59:59' console.log(date, dateString);
console.log(date, dateString); },
}, // 重置
// 重置 handlerReset() {
handlerReset() { this.form = {}
this.form = {} },
}, //查看
//查看 detailEvt(record) {
detailEvt(record) { localStorage.setItem('chargeQueryDetail', JSON.stringify(record));
localStorage.setItem('chargeQueryDetail', JSON.stringify(record)); const { receiptNo } = record;
const { receiptNo } = record; this.$router.push({
this.$router.push({ name: "chargeQueryDetail",
name: "chargeQueryDetail", query: { receiptNo },
query: { receiptNo }, });
}); },
}, //账单结算
//账单结算 receiptEvt(record){
receiptEvt(record){ this.$modal.confirm({
this.$modal.confirm({ title: "结算",
title: "结算", content: "确定结算该账单?",
content: "确定结算该账单?", okText: "确定",
okText: "确定", cancelText: "取消",
cancelText: "取消", onOk: () => {
onOk: () => { this.$apis.RECEIPTSETTLEMENT({
this.$apis.RECEIPTSETTLEMENT({ id: record.id
id: record.id }).then((res) => {
}).then((res) => { if (res.returnCode === "0000") {
if (res.returnCode === "0000") { this.$message.success('结算成功');
this.$message.success('结算成功'); this._getChargeList();
this._getChargeList(); }else{
}else{ this.$message.error(res.returnMsg);
this.$message.error(res.returnMsg); }
} });
}); },
}, });
}); },
}, handlerSearch() {
handlerSearch() { this.$refs.form.validate((valid) => {
this.$refs.form.validate((valid) => { if (!valid) {
if (!valid) { return false;
return false; }
} this.pagination.pageNum = 1;
this.pagination.pageNum = 1; this.pageForm = this.$lodash.cloneDeep({...this.form, dateRange: undefined});
this.pageForm = this.$lodash.cloneDeep({...this.form, dateRange: undefined}); this._getChargeList();
this._getChargeList(); });
}); },
}, // 新建账单信息
// 新建账单信息 addNewCharge() {
addNewCharge() { // this.$router.push("/customer/edit");
// this.$router.push("/customer/edit"); },
}, //导出报表
//导出报表 exportExcel(){
exportExcel(){ let filter = {
let filter = { ...this.form,
...this.form, }
} this.$apis.RceiptListReport(filter).then(res => {
this.$apis.RceiptListReport(filter).then(res => { exportFile(res, '账单报表.xls');
exportFile(res, '账单报表.xls'); })
}) }
} },
}, };
}; </script>
</script> <style lang="less" scoped>
<style lang="less" scoped> .none-label {
.none-label { text-align: right;
text-align: right; .ant-form-item-label {
.ant-form-item-label { opacity: 0;
opacity: 0; }
} }
} .ant-btn .icon-class {
.ant-btn .icon-class { .mg-r(10);
.mg-r(10); }
} </style>
</style>
<template> <template>
<!-- 收费查询-账单查询 --> <!-- 收费查询-账单查询 -->
<div class="white_bg burt-container custom-info"> <div class="white_bg burt-container custom-info">
<Goback title="理赔件详情" /> <Goback title="理赔件详情" />
<!-- 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="8" :sm="12"> <a-col :lg="8" :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">
<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>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="8" :sm="12"> <a-col :lg="8" :sm="12">
<a-form-model-item label="寄送状态"> <a-form-model-item label="寄送状态">
<a-select v-model="form.sendSts" placeholder="请选择寄送状态" allow-clear :disabled="!isEdit"> <a-select v-model="form.sendSts" placeholder="请选择寄送状态" allow-clear :disabled="!isEdit">
<a-select-option value="1">已寄送</a-select-option> <a-select-option value="1">已寄送</a-select-option>
<a-select-option value="2">未寄送</a-select-option> <a-select-option value="2">未寄送</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="8" :sm="12"> <a-col :lg="8" :sm="12">
<a-form-model-item label="快递公司"> <a-form-model-item label="快递公司">
<a-select v-model="form.sendCompany" placeholder="请选择快递公司" showSearch allow-clear :disabled="!isEdit"> <a-select v-model="form.sendCompany" placeholder="请选择快递公司" showSearch allow-clear :disabled="!isEdit">
<a-select-option v-for="(item) in expressList" :key="item.id" :value="item.descCh">{{item.descCh}}</a-select-option> <a-select-option v-for="(item) in expressList" :key="item.id" :value="item.descCh">{{item.descCh}}</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="8" :sm="12"> <a-col :lg="8" :sm="12">
<a-form-model-item label="快递单号"> <a-form-model-item label="快递单号">
<a-input v-model="form.trackingNo" placeholder="请输入快递单号" allow-clear :disabled="!isEdit" /> <a-input v-model="form.trackingNo" placeholder="请输入快递单号" allow-clear :disabled="!isEdit" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="8" :sm="12"> <a-col :lg="8" :sm="12">
<a-form-model-item label="寄送方式"> <a-form-model-item label="寄送方式">
<a-select v-model="form.sendMode" placeholder="请选择寄送方式" allow-clear :disabled="!isEdit"> <a-select v-model="form.sendMode" placeholder="请选择寄送方式" allow-clear :disabled="!isEdit">
<a-select-option value="快递">快递</a-select-option> <a-select-option value="快递">快递</a-select-option>
<a-select-option value="邮件">邮件</a-select-option> <a-select-option value="邮件">邮件</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="8" :sm="12"> <a-col :lg="8" :sm="12">
<a-form-model-item label="寄送日期"> <a-form-model-item label="寄送日期">
<a-date-picker format="YYYY年MM月DD日" v-model="form.sendDate" placeholder="选择日期" /> <a-date-picker format="YYYY年MM月DD日" v-model="form.sendDate" 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">
<a-form-model-item label="寄送地址"> <a-form-model-item label="寄送地址">
<a-input v-model="form.sendAddress" placeholder="请输入寄送地址" allow-clear :disabled="!isEdit" /> <a-input v-model="form.sendAddress" placeholder="请输入寄送地址" allow-clear :disabled="!isEdit" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="8" :sm="12"> <a-col :lg="8" :sm="12">
<a-form-model-item label="寄送邮箱"> <a-form-model-item label="寄送邮箱">
<a-input v-model="form.sendEmail" placeholder="请输入寄送邮箱" allow-clear :disabled="!isEdit" /> <a-input v-model="form.sendEmail" placeholder="请输入寄送邮箱" allow-clear :disabled="!isEdit" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="8" :sm="12"> <a-col :lg="8" :sm="12">
<a-form-model-item label="寄送备注"> <a-form-model-item label="寄送备注">
<a-textarea v-model="form.sendRemark" placeholder="请输入寄送备注" :auto-size="{ minRows: 2, maxRows: 5 }" allow-clear :disabled="!isEdit" /> <a-textarea v-model="form.sendRemark" placeholder="请输入寄送备注" :auto-size="{ minRows: 2, maxRows: 5 }" allow-clear :disabled="!isEdit" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :sm="24" class="none-label" v-if="isEdit"> <a-col :sm="24" class="none-label" v-if="isEdit">
<div class="btn-div flex"> <div class="btn-div flex">
<span></span> <span></span>
<a-form-model-item label="button"> <a-form-model-item label="button">
<a-button class="mar-left10" type="primary" @click="addNewCharge"> <a-button class="mar-left10" type="primary" @click="addNewCharge">
<Icon :name="sendBatchNo?'ssibaocun':'ssiadd'" :size="14" />{{sendBatchNo?'保存寄送':'新建寄送'}}</a-button> <Icon :name="sendBatchNo?'ssibaocun':'ssiadd'" :size="14" />{{sendBatchNo?'保存寄送':'新建寄送'}}</a-button>
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
<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">
<a-form-model-item label="病历号"> <a-form-model-item label="病历号">
<a-input v-model="searchForm.mrnNo" placeholder="请输入病历号" allow-clear /> <a-input v-model="searchForm.mrnNo" placeholder="请输入病历号" allow-clear />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="8" :sm="12"> <a-col :lg="8" :sm="12">
<a-form-model-item label="客户名称"> <a-form-model-item label="客户名称">
<a-input v-model="searchForm.patientName" placeholder="请输入客户名称" allow-clear /> <a-input v-model="searchForm.patientName" placeholder="请输入客户名称" allow-clear />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </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">
<span></span> <span></span>
<a-form-model-item label="button"> <a-form-model-item label="button">
<a-button type="primary" @click="handlerSearch"> <a-button 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="exportEvt"> <a-button class="mar-left10" type="primary" @click="exportEvt">
<Icon name="ssidaochu" :size="14" />导出 <Icon name="ssidaochu" :size="14" />导出
</a-button> </a-button>
<a-button class="mar-left10" type="primary" @click="addNewBill" v-if="isEdit"> <a-button class="mar-left10" type="primary" @click="addNewBill" v-if="isEdit">
<Icon :name="isEditNewBill?'ssibaocun':'ssiadd'" :size="14" />{{isEditNewBill? '保存账单': '添加账单'}}</a-button> <Icon :name="isEditNewBill?'ssibaocun':'ssiadd'" :size="14" />{{isEditNewBill? '保存账单': '添加账单'}}</a-button>
</a-form-model-item> </a-form-model-item>
</div> </div>
</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"
:row-selection="isEditNewBill? { selectedRowKeys: selectedRowKeys, onChange: onSelectChange }: null"> :row-selection="isEditNewBill? { selectedRowKeys: selectedRowKeys, onChange: onSelectChange }: null">
<template slot="sendDate" slot-scope="text"> <template slot="sendDate" slot-scope="text">
{{ text? moment(text).format('YYYY-MM-DD'): '' }} {{ text? moment(text).format('YYYY-MM-DD'): '' }}
</template> </template>
<template slot="sendSts" slot-scope="text"> <template slot="sendSts" slot-scope="text">
{{ text==1?'已寄送':'未寄送' }} {{ text==1?'已寄送':'未寄送' }}
</template> </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>
</template> </template>
</a-table> </a-table>
<!--分页--> <!--分页-->
<BurtPagination :pagination="pagination" @pageChange="getPageData" /> <BurtPagination :pagination="pagination" @pageChange="getPageData" />
<a-modal title="编辑" :visible="dialogShow" width="700px" :maskClosable="false" <a-modal title="编辑" :visible="dialogShow" width="700px" :maskClosable="false"
okText="确定" cancelText="取消" okText="确定" cancelText="取消"
@ok="handleEditOK" @cancel="dialogShow = false"> @ok="handleEditOK" @cancel="dialogShow = false">
<a-form-model ref="editForm" :model="editFormObj" :rules="editRules"> <a-form-model ref="editForm" :model="editFormObj" :rules="editRules">
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :lg="12" :xs="24"> <a-col :lg="12" :xs="24">
<a-form-model-item label="保险公司" prop="payorCode"> <a-form-model-item label="保险公司" prop="payorCode">
<a-select v-model="editFormObj.payorCode" placeholder="请选择保险公司" allowClear> <a-select v-model="editFormObj.payorCode" placeholder="请选择保险公司" allowClear>
<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>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="12" :sm="24"> <a-col :lg="12" :sm="24">
<a-form-model-item label="寄送状态" prop="sendSts"> <a-form-model-item label="寄送状态" prop="sendSts">
<a-select v-model="editFormObj.sendSts" placeholder="请选择寄送状态" allowClear> <a-select v-model="editFormObj.sendSts" placeholder="请选择寄送状态" allowClear>
<a-select-option :value="1">已寄送</a-select-option> <a-select-option :value="1">已寄送</a-select-option>
<a-select-option :value="2">未寄送</a-select-option> <a-select-option :value="2">未寄送</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="12" :sm="24"> <a-col :lg="12" :sm="24">
<a-form-model-item label="寄送日期" prop="sendDate"> <a-form-model-item label="寄送日期" prop="sendDate">
<a-date-picker format="YYYY年MM月DD日" v-model="editFormObj.sendDate" placeholder="选择日期" /> <a-date-picker format="YYYY年MM月DD日" v-model="editFormObj.sendDate" placeholder="选择日期" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="12" :xs="24"> <a-col :lg="12" :xs="24">
<a-form-model-item label="快递单号" prop="trackingNo"> <a-form-model-item label="快递单号" prop="trackingNo">
<a-input v-model.trim="editFormObj.trackingNo" placeholder="快递单号" /> <a-input v-model.trim="editFormObj.trackingNo" placeholder="快递单号" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :lg="12" :xs="24"> <a-col :lg="12" :xs="24">
<a-form-model-item label="寄送备注" prop="sendRemark"> <a-form-model-item label="寄送备注" prop="sendRemark">
<a-textarea v-model.trim="editFormObj.sendRemark" placeholder="寄送备注" /> <a-textarea v-model.trim="editFormObj.sendRemark" placeholder="寄送备注" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
</a-modal> </a-modal>
</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 moment from 'moment' import moment from 'moment'
import { numValid } from "@/utils/index" import { numValid } from "@/utils/index"
export default { export default {
data() { data() {
return { return {
loading: false, loading: false,
dialogShow: false, dialogShow: false,
isEdit: false, isEdit: false,
sendBatchNo: '', //寄送批号 sendBatchNo: '', //寄送批号
form: { form: {
payorCode: '', payorCode: '',
sendSts: '', sendSts: '',
sendMode: '', sendMode: '',
sendDate: '', sendDate: '',
sendCompany: '', sendCompany: '',
trackingNo: '', trackingNo: '',
sendAddress: '', sendAddress: '',
sendEmail: '', sendEmail: '',
sendRemark: '' sendRemark: ''
}, },
searchForm: {}, searchForm: {},
searchData: {}, searchData: {},
companyOptions: [], //保险公司 companyOptions: [], //保险公司
expressList: [], //快递列表 expressList: [], //快递列表
selectedRowKeys: [], // Check here to configure the default column selectedRowKeys: [], // Check here to configure the default column
dataList: [], dataList: [],
cacheDataList: {}, cacheDataList: {},
isEditNewBill: false, //是否在新建账单 isEditNewBill: false, //是否在新建账单
pagination: { pagination: {
pageNum: 1, pageNum: 1,
pageSize: 100, pageSize: 100,
total: 0, total: 0,
}, },
editFormObj: { editFormObj: {
payorCode: '', payorCode: '',
sendSts: '', sendSts: '',
sendDate: '', sendDate: '',
trackingNo: '', trackingNo: '',
sendRemark: '', sendRemark: '',
}, },
editRules: { editRules: {
sendDate: [{ required: true, message: "请选择寄送日期", trigger: "change" }], sendDate: [{ required: true, message: "请选择寄送日期", trigger: "change" }],
trackingNo: [{ required: true, message: "请输入寄送单号", trigger: "blur" }], trackingNo: [{ required: true, message: "请输入寄送单号", trigger: "blur" }],
}, },
}; };
}, },
components: { components: {
Goback, Goback,
BurtPagination, BurtPagination,
}, },
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: "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: "discountAmount2", 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: "paidAmount", width: 100, align: 'center' },
} }, ];
{ title: "理赔金额", dataIndex: "paidAmount", width: 100, align: 'center' }, if(this.sendBatchNo && ! this.isEditNewBill && this.isEdit){ // 编辑状态下已经保存的数据才可进行操作
]; return base.concat([
if(this.sendBatchNo && ! this.isEditNewBill && this.isEdit){ // 编辑状态下已经保存的数据才可进行操作 { title: "操作", key: "operation", width: "100px",fixed: "right",scopedSlots: { customRender: "operation" }},
return base.concat([ ]);
{ title: "操作", key: "operation", width: "100px",fixed: "right",scopedSlots: { customRender: "operation" }}, }
]); return base
}
return base }
},
} created() {
}, const { sendBatchNo, isEdit } = this.$route.query;
created() { this.sendBatchNo = sendBatchNo;
const { sendBatchNo, isEdit } = this.$route.query; this.isEdit = isEdit;
this.sendBatchNo = sendBatchNo; this._getCompanyOptions();
this.isEdit = isEdit; this.getRefcdByRefgrp();
this._getCompanyOptions(); if(this.sendBatchNo){
this.getRefcdByRefgrp(); let jisongDataDetail = localStorage.getItem('jisongDataDetail');
if(this.sendBatchNo){ this.form = jisongDataDetail? JSON.parse(jisongDataDetail): {};
let jisongDataDetail = localStorage.getItem('jisongDataDetail'); this.getData();
this.form = jisongDataDetail? JSON.parse(jisongDataDetail): {}; }
this.getData(); },
} methods: {
}, moment,
methods: { onSelectChange(selectedRowKeys) {
moment, let arr = [];
onSelectChange(selectedRowKeys) { for(let i=0; i<selectedRowKeys.length; i++){
let arr = []; let idx = selectedRowKeys[i];
for(let i=0; i<selectedRowKeys.length; i++){ if(this.dataList[idx].sendBatchNo){
let idx = selectedRowKeys[i]; this.$msg.destroy();
if(this.dataList[idx].sendBatchNo){ this.$message.warning('寄送批号已存在')
this.$msg.destroy(); }else{
this.$message.warning('寄送批号已存在') arr.push(idx);
}else{ }
arr.push(idx); }
} this.selectedRowKeys = arr;
} },
this.selectedRowKeys = arr; // 分页回调
}, getPageData(pager) {
// 分页回调 if(pager){
getPageData(pager) { this.pagination = {
if(pager){ ...this.pagination,
this.pagination = { ...pager
...this.pagination, }
...pager }
} if(this.isEditNewBill) { // 新增时添加了账单信息 那分页也应该是调账单信息接口
} this._getNewBillList()
if(this.isEditNewBill) { // 新增时添加了账单信息 那分页也应该是调账单信息接口 } else {
this._getNewBillList() this.getData()
} else { }
this.getData() },
} // 获取列表数据
}, getData() {
// 获取列表数据 this.selectedRowKeys = [];
getData() { let filter = {
this.selectedRowKeys = []; pageNum: this.pagination.pageNum,
let filter = { pageSize: this.pagination.pageSize,
pageNum: this.pagination.pageNum, sendBatchNo: this.sendBatchNo || undefined,
pageSize: this.pagination.pageSize, ...this.searchData
sendBatchNo: this.sendBatchNo || undefined, }
...this.searchData this.$apis.QUERYSENDRECEIPLIST(filter)
} .then((res) => {
this.$apis.QUERYSENDRECEIPLIST(filter) if (res.returnCode == "0000") {
.then((res) => { let content = res.content || {};
if (res.returnCode == "0000") { this.pagination.total = content.total || 0;
let content = res.content || {}; this.dataList = content.list || [];
this.pagination.total = content.total || 0; this.cacheDataList[filter.pageNum] = this.dataList
this.dataList = content.list || []; } else {
this.cacheDataList[filter.pageNum] = this.dataList this.$message.error(res.returnMsg);
} else { }
this.$message.error(res.returnMsg); });
} },
}); // 获取保险公司下拉选项
}, _getCompanyOptions() {
// 获取保险公司下拉选项 this.$apis.GETCOMPANYOPTIONS().then((res) => {
_getCompanyOptions() { this.companyOptions = res.content || [];
this.$apis.GETCOMPANYOPTIONS().then((res) => { });
this.companyOptions = res.content || []; },
}); // 获取快递列表
}, getRefcdByRefgrp() {
// 获取快递列表 this.$apis.GETREFCDBYREFGRP({
getRefcdByRefgrp() { modid: "CI",
this.$apis.GETREFCDBYREFGRP({ refgrp: "SEND_COMPANY"
modid: "CI", }).then((res) => {
refgrp: "SEND_COMPANY" this.expressList = res.content || [];
}).then((res) => { });
this.expressList = res.content || []; },
}); //查看
}, detailEvt(record) {
//查看 const { receiptNo } = record;
detailEvt(record) { this.$router.push({
const { receiptNo } = record; name: "chargeQueryDetail",
this.$router.push({ query: { receiptNo },
name: "chargeQueryDetail", });
query: { receiptNo }, },
}); editEvt(record) {
}, this.editFormObj = {
editEvt(record) { ciReceiptSendVos: [
this.editFormObj = { {
ciReceiptSendVos: [ id: record.id,
{ receiptNo: record.receiptNo,
id: record.id, }
receiptNo: record.receiptNo, ],
} payorCode: record.payorCode || "",
], sendSts: Number(record.sendSts) || "",
payorCode: record.payorCode || "", sendDate: record.sendDate || "",
sendSts: Number(record.sendSts) || "", trackingNo: record.trackingNo || "",
sendDate: record.sendDate || "", sendRemark: record.sendRemark || "",
trackingNo: record.trackingNo || "", };
sendRemark: record.sendRemark || "", this.dialogShow = true;
}; },
this.dialogShow = true; //编辑保存
}, handleEditOK() {
//编辑保存 this.$refs.editForm.validate((valid) => {
handleEditOK() { if (valid) {
this.$refs.editForm.validate((valid) => { this.$apis.SAVERECEIPSENDINFO({
if (valid) { ...this.editFormObj,
this.$apis.SAVERECEIPSENDINFO({ sendDate: moment(this.editFormObj.sendDate).format('YYYY-MM-DD 00:00:00')
...this.editFormObj, })
sendDate: moment(this.editFormObj.sendDate).format('YYYY-MM-DD 00:00:00') .then((res) => {
}) if (res.returnCode == "0000") {
.then((res) => { this.$message.success("编辑成功");
if (res.returnCode == "0000") { this.dialogShow = false;
this.$message.success("编辑成功"); this.getData();
this.dialogShow = false; } else {
this.getData(); this.$message.error(res.returnMsg);
} else { }
this.$message.error(res.returnMsg); });
} }
}); });
} },
}); handlerSearch() {
}, this.pagination.pageNum = 1;
handlerSearch() { let visitTimeStart = this.searchForm.visitTimeStart || []
this.pagination.pageNum = 1; this.searchData = this.$lodash.cloneDeep({
let visitTimeStart = this.searchForm.visitTimeStart || [] ...this.searchForm,
this.searchData = this.$lodash.cloneDeep({ visitTimeEnd: visitTimeStart[1] ? visitTimeStart[1] + ' 23:59:59' : undefined,
...this.searchForm, visitTimeStart: visitTimeStart[0] ? visitTimeStart[0] + ' 00:00:00' : undefined,
visitTimeEnd: visitTimeStart[1] ? visitTimeStart[1] + ' 23:59:59' : undefined, });
visitTimeStart: visitTimeStart[0] ? visitTimeStart[0] + ' 00:00:00' : undefined, if(this.isEditNewBill) { // 新增时添加了账单信息 那分页也应该是调账单信息接口
}); this._getNewBillList()
if(this.isEditNewBill) { // 新增时添加了账单信息 那分页也应该是调账单信息接口 } else {
this._getNewBillList() this.getData()
} else { }
this.getData() },
} //删除
}, delRecord(data) {
//删除 this.$modal.confirm({
delRecord(data) { title: "删除",
this.$modal.confirm({ content: "确定删除该条记录?",
title: "删除", okText: "确定",
content: "确定删除该条记录?", cancelText: "取消",
okText: "确定", onOk: () => {
cancelText: "取消", this.$apis.DELETESENDRECEIPT({
onOk: () => { ciReceiptSendVos: [
this.$apis.DELETESENDRECEIPT({ {receiptNo: data.receiptNo}
ciReceiptSendVos: [ ],
{receiptNo: data.receiptNo} sendBatchNo: this.sendBatchNo,
], })
sendBatchNo: this.sendBatchNo, .then((res) => {
}) if (res.returnCode == "0000") {
.then((res) => { this.$message.success("删除成功");
if (res.returnCode == "0000") { this.getData()
this.$message.success("删除成功"); // this.dataList.splice(index, 1);
this.getData() } else {
// this.dataList.splice(index, 1); this.$message.error(res.returnMsg);
} else { }
this.$message.error(res.returnMsg); });
} },
}); });
}, },
}); //导出
}, exportEvt(){
//导出 this.$apis.SENDRECEIPTLISTEXPORT({
exportEvt(){ sendBatchNo: this.sendBatchNo || undefined
this.$apis.SENDRECEIPTLISTEXPORT({ })
sendBatchNo: this.sendBatchNo || undefined .then(res => {
}) let blob = new Blob([res.data], {
.then(res => { type:"application/vnd.ms-excel;charset=utf-8"
let blob = new Blob([res.data], { });
type:"application/vnd.ms-excel;charset=utf-8" let url=window.URL.createObjectURL(blob);
}); let aLink=document.createElement("a");
let url=window.URL.createObjectURL(blob); aLink.style.display="none";
let aLink=document.createElement("a"); aLink.href=url;
aLink.style.display="none"; aLink.setAttribute("download","寄送账单.xls");
aLink.href=url; document.body.appendChild(aLink);
aLink.setAttribute("download","寄送账单.xls"); aLink.click();
document.body.appendChild(aLink); document.body.removeChild(aLink);
aLink.click(); window.URL.revokeObjectURL(url);
document.body.removeChild(aLink); })
window.URL.revokeObjectURL(url); },
}) //添加账单
}, addNewBill(){
//添加账单 // this.isEditNewBill = !this.isEditNewBill;
addNewBill(){ if(this.isEditNewBill){ //保存
// this.isEditNewBill = !this.isEditNewBill; this.addNewCharge()
if(this.isEditNewBill){ //保存 .then(()=>{
this.addNewCharge() this.isEditNewBill = false;
.then(()=>{ })
this.isEditNewBill = false; }else{ //查询所有未加入的账单
}) this.pagination.pageNum = 1;
}else{ //查询所有未加入的账单 this.isEditNewBill = true;
this.pagination.pageNum = 1; this.cacheDataList = {}
this.isEditNewBill = true; this._getNewBillList()
this.cacheDataList = {} }
this._getNewBillList() },
} _getNewBillList() {
}, this.$apis.QUERYNOSENDRECEIPLIST({
_getNewBillList() { pageNum: this.pagination.pageNum,
this.$apis.QUERYNOSENDRECEIPLIST({ pageSize: this.pagination.pageSize,
pageNum: this.pagination.pageNum, payorCode: this.form.payorCode,
pageSize: this.pagination.pageSize, ...this.searchData
payorCode: this.form.payorCode, })
...this.searchData .then((res) => {
}) if (res.returnCode == "0000") {
.then((res) => { this.selectedRowKeys = [];
if (res.returnCode == "0000") { let content = res.content || {};
this.selectedRowKeys = []; this.pagination.total = content.total || 0;
let content = res.content || {}; this.dataList = content.list || [];
this.pagination.total = content.total || 0; this.cacheDataList[this.pagination.pageNum] = this.dataList
this.dataList = content.list || []; } else {
this.cacheDataList[this.pagination.pageNum] = this.dataList this.$message.error(res.returnMsg);
} else { }
this.$message.error(res.returnMsg); });
} },
}); checkBeforeSave() {
}, if(!this.form.trackingNo){
checkBeforeSave() { this.$message.warning("请输入快递单号");
if(!this.form.trackingNo){ return false;
this.$message.warning("请输入快递单号"); }
return false; if(!this.form.sendDate){
} this.$message.warning("请选择寄送日期");
if(!this.form.sendDate){ return false;
this.$message.warning("请选择寄送日期"); }
return false; let allData = []
} for(let i in this.cacheDataList){
let allData = [] allData = allData.concat(this.cacheDataList[i])
for(let i in this.cacheDataList){ }
allData = allData.concat(this.cacheDataList[i]) let ciReceiptSendVos = [];
} if(this.isEditNewBill){
let ciReceiptSendVos = []; ciReceiptSendVos = [];
if(this.isEditNewBill){ allData.forEach((item,index)=>{
ciReceiptSendVos = []; if(this.selectedRowKeys.indexOf(index)!=-1){
allData.forEach((item,index)=>{ ciReceiptSendVos.push({
if(this.selectedRowKeys.indexOf(index)!=-1){ id: item.id,
ciReceiptSendVos.push({ receiptNo: item.receiptNo,
id: item.id, selfpaidAmount: item.selfpaidAmount
receiptNo: item.receiptNo, })
selfpaidAmount: item.selfpaidAmount }
}) })
} } else {
}) ciReceiptSendVos = allData.map(item => {
} else { return {
ciReceiptSendVos = allData.map(item => { id: item.id,
return { receiptNo: item.receiptNo,
id: item.id, selfpaidAmount: item.selfpaidAmount
receiptNo: item.receiptNo, }
selfpaidAmount: item.selfpaidAmount })
} }
}) for(let i = 0; i < ciReceiptSendVos.length; i ++) {
} const selfpaidAmount = ciReceiptSendVos[i].selfpaidAmount
for(let i = 0; i < ciReceiptSendVos.length; i ++) { if(selfpaidAmount && !numValid.test(selfpaidAmount)){
const selfpaidAmount = ciReceiptSendVos[i].selfpaidAmount this.$message.warning("请输入正确的客户自付金额");
if(selfpaidAmount && !numValid.test(selfpaidAmount)){ return false;
this.$message.warning("请输入正确的客户自付金额"); }
return false; }
} return {
} ...this.form,
return { ciReceiptSendVos: ciReceiptSendVos,
...this.form, sendDate: moment(this.form.sendDate).format('YYYY-MM-DD 00:00:00'),
ciReceiptSendVos: ciReceiptSendVos, sendBatchNo: this.sendBatchNo || undefined
sendDate: moment(this.form.sendDate).format('YYYY-MM-DD 00:00:00'), }
sendBatchNo: this.sendBatchNo || undefined },
} //新建/保存寄送
}, addNewCharge(){
//新建/保存寄送 return new Promise((resolve,reject)=>{
addNewCharge(){ let formData = this.checkBeforeSave()
return new Promise((resolve,reject)=>{ if(!formData){
let formData = this.checkBeforeSave() reject()
if(!formData){ return false;
reject() }
return false; this.$apis.SAVERECEIPSENDINFO(formData)
} .then((res) => {
this.$apis.SAVERECEIPSENDINFO(formData) if (res.returnCode == "0000") {
.then((res) => { this.sendBatchNo = res.content;
if (res.returnCode == "0000") { this.$message.success("成功");
this.sendBatchNo = res.content; this.selectedRowKeys = [];
this.$message.success("成功"); this.cacheDataList = {}
this.selectedRowKeys = []; this.getData();
this.cacheDataList = {} resolve();
this.getData(); } else {
resolve(); this.$message.error(res.returnMsg);
} else { reject();
this.$message.error(res.returnMsg); }
reject(); });
} })
}); }
}) },
} };
}, </script>
}; <style lang="less" scoped>
</script> .none-label {
<style lang="less" scoped> text-align: right;
.none-label { .ant-form-item-label {
text-align: right; opacity: 0;
.ant-form-item-label { }
opacity: 0; }
} .ant-btn .icon-class {
} .mg-r(10);
.ant-btn .icon-class { }
.mg-r(10); .btn-div{
} justify-content: space-between;
.btn-div{ }
justify-content: space-between; </style>
}
</style>
...@@ -72,6 +72,9 @@ ...@@ -72,6 +72,9 @@
<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>
...@@ -109,6 +112,7 @@ ...@@ -109,6 +112,7 @@
<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: "EOB编号", dataIndex: "eobNos", ellipsis: true, width: 140 }, { title: "EOB编号", dataIndex: "eobNos", ellipsis: true, width: 140 },
...@@ -295,6 +299,16 @@ export default { ...@@ -295,6 +299,16 @@ export default {
onCancel: () => {}, onCancel: () => {},
}); });
}, },
//导出报表
exportExcel(){
let filter = {
...this.form,
dateRange: undefined,
}
this.$apis.EXPORTBACKMONEYREPORT(filter).then(res => {
exportFile(res, '回款列表.xls');
})
}
}, },
}; };
</script> </script>
......
...@@ -155,7 +155,12 @@ ...@@ -155,7 +155,12 @@
<div class="bill-content"> <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">
<span>已关联账单</span>
<a-button class="mar-left10" type="primary" @click="exportExcel">
<Icon name="ssidaochu" :size="14" />导出
</a-button>
</div>
<a-table <a-table
class="table-content" class="table-content"
:columns="selectedColumns" :columns="selectedColumns"
...@@ -262,6 +267,7 @@ ...@@ -262,6 +267,7 @@
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 {
...@@ -394,7 +400,7 @@ export default { ...@@ -394,7 +400,7 @@ export default {
width: 150, width: 150,
customRender: (val, row) => { customRender: (val, row) => {
const residueBackAmount = const residueBackAmount =
Number(row.currentReceiptAmount || 0) - Number(row.backAmount || 0); Number(row.currentReceiptAmount || 0) - Number(row.backAmount || 0) - Number(row.arrearsAmount || 0);
return Number(residueBackAmount.toFixed(2)); return Number(residueBackAmount.toFixed(2));
}, },
}; };
...@@ -404,6 +410,24 @@ export default { ...@@ -404,6 +410,24 @@ export default {
ellipsis: true, ellipsis: true,
width: 150, width: 150,
}); });
base.splice(7, 0, {
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.push({ base.push({
title: "回款日期", title: "回款日期",
dataIndex: "backDate", dataIndex: "backDate",
...@@ -731,8 +755,16 @@ export default { ...@@ -731,8 +755,16 @@ export default {
this.$forceUpdate(); this.$forceUpdate();
}); });
}, },
// 导出账单列表 //导出报表
exportEvt() {}, exportExcel(){
let filter = {
backMoneyNo: this.backMoneyNo,
payorCode: this.form.payorCode,
}
this.$apis.EXPORTBACKRECEIPTLIST(filter).then(res => {
exportFile(res, '已关联账单.xls');
})
}
}, },
}; };
</script> </script>
...@@ -747,6 +779,9 @@ export default { ...@@ -747,6 +779,9 @@ export default {
.table-title { .table-title {
font-size: 15px; font-size: 15px;
margin: 6px 0; margin: 6px 0;
display: flex;
align-items: center;
justify-content: space-between;
} }
.table-content { .table-content {
margin-bottom: 8px; margin-bottom: 8px;
......
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