Commit 0f66ee66 authored by suqh's avatar suqh

Merge branch 'func-eccs-2152' into test

parents d77d3f44 b6ab0bac
...@@ -14,5 +14,8 @@ export default { ...@@ -14,5 +14,8 @@ export default {
eobReceipListExport: "/backstage/auth/eobReceipListExport", //EOB关联账单导出 eobReceipListExport: "/backstage/auth/eobReceipListExport", //EOB关联账单导出
queryBackReceiptList: "/backstage/auth/queryBackReceiptList", //回销关联账单列表查询 queryBackReceiptList: "/backstage/auth/queryBackReceiptList", //回销关联账单列表查询
queryReceiptInfoList: "/backstage/auth/queryReceiptInfoList", //回销账单列表查询 queryReceiptInfoList: "/backstage/auth/queryReceiptInfoList", //回销账单列表查询
deleteReceiptRecord: "/backstage/auth/deleteBackReceipt", // 删除已关联账单
exportBackMoneyReport: "/backstage/auth/backMoneyListExport", // 回款列表导出
exportBackReceiptList: "/backstage/auth/exportBackReceiptList", // 关联账单列表导出
}; };
...@@ -62,6 +62,21 @@ const QUERYBACKRECEIPTINFOLIST = (data) => { ...@@ -62,6 +62,21 @@ const QUERYBACKRECEIPTINFOLIST = (data) => {
return req.post(apis.queryReceiptInfoList, data); return req.post(apis.queryReceiptInfoList, data);
}; };
// 删除已关联账单
const DELETERECEIPTRECORD = (data) => {
return req.post(apis.deleteReceiptRecord, data);
};
// 回款列表导出
const EXPORTBACKMONEYREPORT = (data) => {
return req.post(apis.exportBackMoneyReport, data, { responseType: "blob" });
};
// 关联账单导出
const EXPORTBACKRECEIPTLIST = (data) => {
return req.post(apis.exportBackReceiptList, data, { responseType: "blob" });
};
// 对象数组 // 对象数组
export default { export default {
QUERYEOBLIST, QUERYEOBLIST,
...@@ -76,5 +91,8 @@ export default { ...@@ -76,5 +91,8 @@ export default {
DELETEBACKMONEY, DELETEBACKMONEY,
EOBRECEIPLISTEXPORT, EOBRECEIPLISTEXPORT,
QUERYBACKRECEIPTLIST, QUERYBACKRECEIPTLIST,
QUERYBACKRECEIPTINFOLIST QUERYBACKRECEIPTINFOLIST,
DELETERECEIPTRECORD,
EXPORTBACKMONEYREPORT,
EXPORTBACKRECEIPTLIST
}; };
\ No newline at end of file
...@@ -52,6 +52,11 @@ const MoneyUnitOptions = [ ...@@ -52,6 +52,11 @@ const MoneyUnitOptions = [
{ name: '欧元', value: '04'}, { name: '欧元', value: '04'},
]; ];
// 账单类型
const receiptTypeOptions = [
{ name: '收费', value: '1'},
{ name: '退费', value: '2'},
];
module.exports = { module.exports = {
...@@ -62,4 +67,5 @@ module.exports = { ...@@ -62,4 +67,5 @@ module.exports = {
ApplyStatusOptions, ApplyStatusOptions,
ApproveStatusOptions, ApproveStatusOptions,
MoneyUnitOptions, MoneyUnitOptions,
receiptTypeOptions
} }
\ No newline at end of file
...@@ -4,26 +4,17 @@ ...@@ -4,26 +4,17 @@
<Goback title="账单详情" /> <Goback title="账单详情" />
<a-form-model ref="form" layout="vertical" :model="form"> <a-form-model ref="form" layout="vertical" :model="form">
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :xl="4" :lg="6" :sm="12"> <a-col :xl="5" :lg="6" :sm="12">
<a-form-model-item label="病历号"> <a-form-model-item label="病历号">
<a-input v-model="form.mrnNo" placeholder="请输入病历号" allow-clear /> <a-input v-model="form.mrnNo" placeholder="请输入病历号" allow-clear />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="4" :lg="6" :sm="12"> <a-col :xl="5" :lg="6" :sm="12">
<a-form-model-item label="客户姓名"> <a-form-model-item label="客户姓名">
<a-input v-model="form.patientName" placeholder="请输入客户姓名" allow-clear /> <a-input v-model="form.patientName" placeholder="请输入客户姓名" allow-clear />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="4" :lg="6" :sm="12"> <a-col :xl="5" :lg="6" :sm="12">
<a-form-model-item label="客户类型">
<a-select v-model="form.patientType" placeholder="请选择客户类型" allowClear>
<a-select-option v-for="item in patientTypeOptions" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
<a-form-model-item label="保险公司"> <a-form-model-item label="保险公司">
<a-select v-model="form.payorId" placeholder="请选择保险公司" allowClear> <a-select v-model="form.payorId" placeholder="请选择保险公司" allowClear>
<a-select-option v-for="item in companyOptions" :key="item.corpCode" :value="item.id"> <a-select-option v-for="item in companyOptions" :key="item.corpCode" :value="item.id">
...@@ -32,29 +23,16 @@ ...@@ -32,29 +23,16 @@
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="4" :lg="6" :sm="12"> <a-col :xl="5" :lg="6" :sm="12">
<a-form-model-item label="看诊医生"> <a-form-model-item label="看诊医生">
<a-select v-model="form.doctorCode" placeholder="请选择看诊医生" allowClear> <a-input v-model="form.doctorName" placeholder="请输入看诊医生" allow-clear />
<a-select-option v-for="item in doctorOptions" :key="item.doctorCode" :value="item.doctorCode">
{{ item.doctorDesc }}
</a-select-option>
</a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="5" :lg="6" :sm="12"> <a-col :xl="5" :lg="6" :sm="12">
<a-form-model-item label="就诊时间"> <a-form-model-item label="收费时间">
<a-date-picker value-format="YYYY-MM-DD 00:00:00" v-model="form.receiptDate" placeholder="就诊时间" /> <a-date-picker value-format="YYYY-MM-DD 00:00:00" v-model="form.receiptDate" placeholder="就诊时间" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="3" :lg="6" :sm="12">
<a-form-model-item label="支付方式">
<a-select v-model="form.paymentCode" placeholder="请选择支付方式" allowClear>
<a-select-option v-for="item in paymentOptions" :key="item.code" :value="item.code" allow-clear>
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :xl="16" :lg="12" :sm="12" class="none-label"> <a-col :xl="16" :lg="12" :sm="12" class="none-label">
<a-form-model-item label="button"> <a-form-model-item label="button">
<!-- <a-button>更新数据</a-button> <!-- <a-button>更新数据</a-button>
...@@ -79,7 +57,7 @@ ...@@ -79,7 +57,7 @@
</a-popconfirm> </a-popconfirm>
</template> </template>
<template slot="footer"> <template slot="footer">
<div class="total">总计: <span>{{form.chargeAmount||0}}</span></div> <div class="total">总计: <span>{{sumAmount||0}}</span></div>
</template> </template>
</a-table> </a-table>
<!--分页--> <!--分页-->
...@@ -130,7 +108,7 @@ export default { ...@@ -130,7 +108,7 @@ export default {
{ title: "单位", dataIndex: "itemUnitDesc", width: 180 }, { title: "单位", dataIndex: "itemUnitDesc", width: 180 },
{ title: "金额", dataIndex: "chargeAmount", width: 180 }, { title: "金额", dataIndex: "chargeAmount", width: 180 },
{ title: "折扣(%)", dataIndex: "discountAmount", width: 180 }, { title: "折扣(%)", dataIndex: "discountAmount", width: 180 },
{ title: "折后金额", dataIndex: "actualAmount", width: 180 }, // { title: "折后金额", dataIndex: "actualAmount", width: 180 },
{ title: "减免金额", dataIndex: "reduceAmount", width: 180 }, { title: "减免金额", dataIndex: "reduceAmount", width: 180 },
{ title: "实际金额", dataIndex: "paidAmount", width: 180 }, { title: "实际金额", dataIndex: "paidAmount", width: 180 },
// { title: "免赔额", dataIndex: "deductible", width: 180 }, // { title: "免赔额", dataIndex: "deductible", width: 180 },
...@@ -204,7 +182,14 @@ export default { ...@@ -204,7 +182,14 @@ export default {
computed: { computed: {
...mapState({ ...mapState({
userInfo: (state) => state.common.userInfo userInfo: (state) => state.common.userInfo
}),
sumAmount() {
let total = 0
this.dataList.forEach(item => {
total += Number(item.paidAmount || 0)
}) })
return Number(total.toFixed(2))
}
}, },
filters: { filters: {
payStyleFilters(value) { payStyleFilters(value) {
...@@ -221,6 +206,7 @@ export default { ...@@ -221,6 +206,7 @@ export default {
this.receiptNo = receiptNo || ""; this.receiptNo = receiptNo || "";
let chargeQueryDetail = localStorage.getItem('chargeQueryDetail'); let chargeQueryDetail = localStorage.getItem('chargeQueryDetail');
this.form = chargeQueryDetail? JSON.parse(chargeQueryDetail): {}; this.form = chargeQueryDetail? JSON.parse(chargeQueryDetail): {};
console.log(this.form)
this._getChargeListDetail(); this._getChargeListDetail();
this._getCompanyOptions();//获取保险公司下拉选项 this._getCompanyOptions();//获取保险公司下拉选项
...@@ -232,6 +218,7 @@ export default { ...@@ -232,6 +218,7 @@ export default {
_getChargeListDetail() { _getChargeListDetail() {
const data = { const data = {
receiptNo: this.receiptNo, receiptNo: this.receiptNo,
basereceiptId: this.form.externalId,
...this.pager, ...this.pager,
}; };
this.$apis.GETCHARGELISTDETAIL(data).then((res) => { this.$apis.GETCHARGELISTDETAIL(data).then((res) => {
...@@ -249,7 +236,20 @@ export default { ...@@ -249,7 +236,20 @@ export default {
this.$apis.GETCOMPANYOPTIONS().then((res) => { this.$apis.GETCOMPANYOPTIONS().then((res) => {
console.log("获取保险公司下拉选项", res); console.log("获取保险公司下拉选项", res);
if (res.returnCode == "0000") { if (res.returnCode == "0000") {
this.companyOptions = res.content || []; let existPayor = false
this.companyOptions = res.content.map(item => {
item.id = Number(item.id)
if(item.id === this.form.payorId) {
existPayor = true
}
return item
}) || [];
if(!existPayor) {
this.companyOptions.push({
id: this.form.payorId,
longName: this.form.payorName
})
}
} else { } else {
this.$message.error(res.returnMsg); this.$message.error(res.returnMsg);
} }
......
This diff is collapsed.
...@@ -76,8 +76,8 @@ ...@@ -76,8 +76,8 @@
<a-form-model ref="form" layout="vertical" :model="searchForm"> <a-form-model ref="form" layout="vertical" :model="searchForm">
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :lg="8" :sm="12"> <a-col :lg="8" :sm="12">
<a-form-model-item label="就诊日期"> <a-form-model-item label="账单日期">
<a-range-picker format="YYYY-MM-DD" value-format="YYYY-MM-DD" v-model="searchForm.visitTimeStart" :placeholder="['选择就诊开始日期', '选择就诊结束日期']" /> <a-range-picker format="YYYY-MM-DD" value-format="YYYY-MM-DD" v-model="searchForm.visitTimeStart" :placeholder="['选择账单开始日期', '选择账单结束日期']" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="8" :sm="12"> <a-col :lg="8" :sm="12">
...@@ -91,6 +91,20 @@ ...@@ -91,6 +91,20 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="30">
<a-col :lg="8" :sm="12">
<a-form-model-item label="账单编号">
<a-input v-model="searchForm.receiptNo" placeholder="请输入账单编号" allow-clear />
</a-form-model-item>
</a-col>
<a-col :lg="8" :sm="12">
<a-form-model-item label="状态">
<a-select v-model="searchForm.rStatus" placeholder="请选择状态" allow-clear>
<a-select-option :key="item.code" :value="item.code" v-for="item in statusOptions">{{item.name}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :sm="24" class="none-label"> <a-col :sm="24" class="none-label">
<div class="btn-div flex"> <div class="btn-div flex">
...@@ -119,6 +133,9 @@ ...@@ -119,6 +133,9 @@
<template slot="sendSts" slot-scope="text"> <template slot="sendSts" slot-scope="text">
{{ text==1?'已寄送':'未寄送' }} {{ text==1?'已寄送':'未寄送' }}
</template> </template>
<template slot="status" slot-scope="text">
{{ text==1?'有效':text==2?'无效':'' }}
</template>
<template slot="operation" slot-scope="text, record"> <template slot="operation" slot-scope="text, record">
<!-- <a-button type="link" @click.stop="editEvt(record)">修改</a-button> --> <!-- <a-button type="link" @click.stop="editEvt(record)">修改</a-button> -->
<a-button type="link" class="danger" @click.stop="delRecord(record)">删除</a-button> <a-button type="link" class="danger" @click.stop="delRecord(record)">删除</a-button>
...@@ -220,6 +237,16 @@ export default { ...@@ -220,6 +237,16 @@ export default {
sendDate: [{ required: true, message: "请选择寄送日期", trigger: "change" }], sendDate: [{ required: true, message: "请选择寄送日期", trigger: "change" }],
trackingNo: [{ required: true, message: "请输入寄送单号", trigger: "blur" }], trackingNo: [{ required: true, message: "请输入寄送单号", trigger: "blur" }],
}, },
statusOptions: [
{
name: '无效',
code: 2
},
{
name: '有效',
code: 1
}
]
}; };
}, },
components: { components: {
...@@ -229,20 +256,19 @@ export default { ...@@ -229,20 +256,19 @@ export default {
computed: { computed: {
columns() { columns() {
const base = [ const base = [
{ title: "就诊日期", dataIndex: "receiptDate", width: 160,scopedSlots: { customRender: "receiptDate" } }, { title: "账单日期", dataIndex: "receiptDate", width: 160,scopedSlots: { customRender: "receiptDate" } },
{ title: "病历号", dataIndex: "mrnNo", key:"mrnNo",align:'center', width: 136}, { title: "病历号", dataIndex: "mrnNo", key:"mrnNo",align:'center', width: 136},
{ title: "客户姓名", dataIndex: "patientName", width: 160 }, { title: "客户姓名", dataIndex: "patientName", width: 160 },
{ title: "保险卡号", dataIndex: "memberCardNo", width: 180 }, { title: "保险卡号", dataIndex: "memberCardNo", width: 180 },
{ title: "客户生日", dataIndex: "birthday", width: 160 }, { title: "客户生日", dataIndex: "birthday", width: 160 },
{ title: "账单编号", dataIndex: "receiptNo", key:"receiptNo",align:'center', width: 136}, { title: "账单编号", dataIndex: "receiptNo", key:"receiptNo",align:'center', width: 136},
{ title: "状态", dataIndex: "status", key:"status",align:'center', width: 136},
{ title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 250 }, { title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 250 },
{ title: "应收金额", dataIndex: "chargeAmount", width: 100, align: 'center' }, { title: "应收金额", dataIndex: "chargeAmount", width: 100, align: 'center' },
{ title: "折扣金额", dataIndex: "discountAmount", width: 100, align: 'center' }, { title: "折扣金额", dataIndex: "discountAmount", width: 100, align: 'center' },
{ title: "减免金额", dataIndex: "discountAmount2", width: 100, align: 'center' }, { title: "减免金额", dataIndex: "reduceAmount", width: 100, align: 'center' },
{ title: "客户自付", dataIndex: "selfpaidAmount", width: 100, align: 'center', customRender: (val, row) => { { title: "客户自付", dataIndex: "selfpaidAmount", width: 100, align: 'center' },
return <a-input v-model={row.selfpaidAmount} allow-clear /> { title: "理赔金额", dataIndex: "actualAmount", width: 100, align: 'center' },
} },
{ title: "理赔金额", dataIndex: "paidAmount", width: 100, align: 'center' },
]; ];
if(this.sendBatchNo && ! this.isEditNewBill && this.isEdit){ // 编辑状态下已经保存的数据才可进行操作 if(this.sendBatchNo && ! this.isEditNewBill && this.isEdit){ // 编辑状态下已经保存的数据才可进行操作
return base.concat([ return base.concat([
......
...@@ -42,14 +42,14 @@ ...@@ -42,14 +42,14 @@
<a-form-model-item label="出生日期" prop="birthday"> <a-form-model-item label="出生日期" prop="birthday">
<a-date-picker v-model="form.birthday" allow-clear placeholder="请选择出生日期" value-format="YYYY-MM-DD 00:00:00"></a-date-picker> <a-date-picker v-model="form.birthday" allow-clear placeholder="请选择出生日期" value-format="YYYY-MM-DD 00:00:00"></a-date-picker>
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="客户公司名称" prop="corpName"> <!-- <a-form-model-item label="客户公司名称" prop="corpName">
<a-select v-model="form.corpName" placeholder="请选择客户公司名称" show-search allow-clear <a-select v-model="form.corpName" placeholder="请选择客户公司名称" show-search allow-clear
:filterOption="filterCode" @change="corpChange" @search="corpSearch"> :filterOption="filterCode" @change="corpChange" @search="corpSearch">
<a-select-option v-for="item in comCorpCode" :key="item.id" :value="item.id + '$_' + item.longName"> <a-select-option v-for="item in comCorpCode" :key="item.id" :value="item.id + '$_' + item.longName">
{{ item.longName }} {{ item.longName }}
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item> -->
<a-form-model-item label="保单生效日期" prop="startDate"> <a-form-model-item label="保单生效日期" prop="startDate">
<a-date-picker allow-clear v-model="form.startDate" placeholder="请选择保单生效日期" value-format="YYYY-MM-DD 00:00:00" @change="startDateChange"></a-date-picker> <a-date-picker allow-clear v-model="form.startDate" placeholder="请选择保单生效日期" value-format="YYYY-MM-DD 00:00:00" @change="startDateChange"></a-date-picker>
</a-form-model-item> </a-form-model-item>
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
<a-date-picker allow-clear v-model="form.endDate" placeholder="请选择保单终止日期" value-format="YYYY-MM-DD 00:00:00"></a-date-picker> <a-date-picker allow-clear v-model="form.endDate" placeholder="请选择保单终止日期" value-format="YYYY-MM-DD 00:00:00"></a-date-picker>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="6" :lg="6" :sm="12"> <!-- <a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="保险计划" prop="planName"> <a-form-model-item label="保险计划" prop="planName">
<a-select v-model="form.planName" placeholder="请选择保险计划" show-search allow-clear :filterOption="filterCode" @search="codeSearch" <a-select v-model="form.planName" placeholder="请选择保险计划" show-search allow-clear :filterOption="filterCode" @search="codeSearch"
> >
...@@ -94,7 +94,7 @@ ...@@ -94,7 +94,7 @@
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col> -->
<a-col :xl="6" :lg="6" :sm="12"> <a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="其他备注" prop="remark"> <a-form-model-item label="其他备注" prop="remark">
<a-input allow-clear v-model="form.remark" placeholder="请输入备注信息"></a-input> <a-input allow-clear v-model="form.remark" placeholder="请输入备注信息"></a-input>
......
...@@ -16,7 +16,7 @@ export default{ ...@@ -16,7 +16,7 @@ export default{
<style lang="less" scoped> <style lang="less" scoped>
.burt-container{ .burt-container{
height: calc(100vh - 116px); height: calc(100vh - 86px);
padding: 0; padding: 0;
img{ img{
width: 100%; width: 100%;
......
<template>
<div class="sub-menu">
<router-link
tag="button"
:class="{ btn: true, 'btn-active': isVisit(item.path) }"
v-for="(item, index) in menuStack"
:key="item.path"
:to="item.path"
>
{{ item.title }}
<Icon v-if="menuStack.length>1"
@click="(e)=>closeMenu(e, index)"
:name="isVisit(item.path) ? 'ssiclose_active' : 'ssiclose'"
:size="16"
/>
</router-link>
<slot name="tips" />
</div>
</template>
<script>
import { mapState } from "vuex";
export default {
computed: {
...mapState({
menuStack: (state) => state.common.menuStack,
}),
},
methods: {
isVisit(val) {
const path = this.$route.path;
return path === val;
},
closeMenu(e, index) {
e.stopPropagation();
const menuStack = JSON.parse(JSON.stringify(this.menuStack));
const isVisit = this.isVisit(menuStack[index].path);
menuStack.splice(index, 1);
this.$store.commit("common/setMenuStack", menuStack);
if (isVisit) {
// 关闭的是当前正在查看的
const i = Math.max(0, index - 1);
this.$router.push(menuStack[i].path || "/");
}
},
},
};
</script>
<style lang="less" scoped>
.sub-menu {
width: 100%;
overflow-x: auto;
white-space: nowrap;
.mg-b(16);
.btn {
.fs(14);
.lh(20);
.pa(8, 13, 8, 13);
.mg-r(40);
color: #252631;
font-weight: bold;
border: none;
background-color: #fff;
border-radius: 5px;
cursor: pointer;
}
.btn-active {
color: #fff;
background-color: #2b63ff;
}
}
</style>
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
<Menu></Menu> <Menu></Menu>
<Loading /> <Loading />
<div class="content"> <div class="content">
<SubMenu></SubMenu>
<router-view /> <router-view />
</div> </div>
</div> </div>
...@@ -15,14 +14,12 @@ ...@@ -15,14 +14,12 @@
<script> <script>
import Header from "./components/Header.vue"; import Header from "./components/Header.vue";
import Menu from "./components/menu"; import Menu from "./components/menu";
import SubMenu from "./components/menu/subMenu.vue";
import Loading from "@/components/Loading/Loading.vue"; import Loading from "@/components/Loading/Loading.vue";
export default { export default {
components: { components: {
Header, Header,
Menu, Menu,
SubMenu,
Loading Loading
}, },
data() { data() {
......
This diff is collapsed.
This diff is collapsed.
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