Commit 9556345d authored by yanglilong's avatar yanglilong

'理赔件管理'

parent fa0cb01e
......@@ -5,4 +5,7 @@ export default {
getDoctorListNoPage:"/backstage/auth/doctorListNoPage",//医生列表
getChargeListDetail:"/backstage/auth/receiptDetailList",//账单明细
getReceiptPaymentDetail:"/backstage/auth/receiptPaymentDetail",//账单明细
queryCiReceipSendList:"/backstage/auth/queryCiReceipSendList",//理赔件账单寄送查询
saveReceipSendInfo:"/backstage/auth/saveReceipSendInfo",//保存理赔件账单寄送信息
deleteReceiptSendInfo:"/backstage/auth/deleteReceiptSendInfo",//删除寄送信息
};
......@@ -21,11 +21,26 @@ const GETCHARGELISTDETAIL = function (data) {
const GETRECEIPTPAYMENTDETAIL= function (data) {
return req.post(apis.getReceiptPaymentDetail, data);
};
// 理赔件账单寄送查询
const QUERYCIRECEIPSENDLIST= function (data) {
return req.post(apis.queryCiReceipSendList, data);
};
// 保存理赔件账单寄送信息
const SAVERECEIPSENDINFO= function (data) {
return req.post(apis.saveReceipSendInfo, data);
};
// 删除寄送信息
const DELETERECEIPTSENDINFO= function (data) {
return req.post(apis.deleteReceiptSendInfo, data);
};
// 对象数组
export default {
GETCHARGELIST,
GETCOMPANYOPTIONS,
GETDOCTORlISTNOPAGE,
GETCHARGELISTDETAIL,
GETRECEIPTPAYMENTDETAIL
GETRECEIPTPAYMENTDETAIL,
QUERYCIRECEIPSENDLIST,
SAVERECEIPSENDINFO,
DELETERECEIPTSENDINFO,
};
......@@ -14,6 +14,11 @@ export default {
path: "detail",
name: "chargeQueryDetail",
component: () => import(/* webpackChunkName: "chargeQuery" */"@/views/charge-query/detail.vue")
},
{
path: "lpjManage",
name: "chargeQueryLpjManage",
component: () => import(/* webpackChunkName: "chargeQuery" */"@/views/charge-query/lpjManage.vue")
}
]
};
......@@ -44,6 +44,10 @@ export default [
path: "/charge-query",
title: "账单查询",
},
{
path: "/charge-query/lpjManage",
title: "理赔件管理",
},
],
},
{
......
<template>
<!-- 收费查询-账单查询 -->
<div class="white_bg burt-container custom-info">
<!-- form -->
<a-form-model ref="form" layout="vertical" :model="form">
<a-row :gutter="30">
<a-col :lg="8" :sm="12">
<a-form-model-item label="就诊日期">
<a-range-picker format="YYYY年MM月DD日" v-model="form.dateRange" :placeholder="['开始日期', '结束日期']" />
</a-form-model-item>
</a-col>
<a-col :lg="4" :sm="12">
<a-form-model-item label="保险公司">
<a-select v-model="form.payorCode" placeholder="请选择保险公司" allowClear>
<a-select-option v-for="item in companyOptions" :key="item.id" :value="item.payorCode">
{{ item.longName }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="4" :sm="12">
<a-form-model-item label="理赔状态">
<a-select v-model="form.sendSts" placeholder="请选择理赔状态" allowClear>
<a-select-option :value="1">已寄送</a-select-option>
<a-select-option :value="2">未寄送</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="30">
<!-- <a-col :lg="7" :sm="12">
<a-form-model-item label="寄送批号">
<a-input v-model="form.sendBatchNo" placeholder="请输入寄送批号" allow-clear />
</a-form-model-item>
</a-col> -->
<a-col :lg="6" :sm="12">
<a-form-model-item label="寄送方式">
<a-select v-model="form.sendMode" placeholder="请选择寄送方式" allowClear>
<a-select-option :value="1">快递</a-select-option>
<a-select-option :value="2">邮件</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="4" :sm="12">
<a-form-model-item label="寄送日期">
<a-date-picker format="YYYY年MM月DD日" v-model="form.sendDate" placeholder="选择日期" />
</a-form-model-item>
</a-col>
<a-col :lg="4" :sm="12">
<a-form-model-item label="快递公司">
<a-select v-model="form.sendCompany" placeholder="请选择快递公司" allowClear>
<a-select-option :value="1">顺丰</a-select-option>
<a-select-option :value="2">韵达</a-select-option>
<a-select-option :value="3">中通</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="7" :sm="12">
<a-form-model-item label="快递单号">
<a-input v-model="form.trackingNo" placeholder="请输入快递单号" allow-clear />
</a-form-model-item>
</a-col>
<a-col :lg="9" :sm="12">
<a-form-model-item label="寄送地址">
<a-input v-model="form.sendAddress" placeholder="请输入寄送地址" allow-clear />
</a-form-model-item>
</a-col>
<a-col :lg="7" :sm="12">
<a-form-model-item label="邮箱">
<a-input v-model="form.sendEmail" placeholder="请输入邮箱" allow-clear />
</a-form-model-item>
</a-col>
<a-col :lg="8" :sm="12">
<a-form-model-item label="寄送备注">
<a-input v-model="form.sendRemark" placeholder="请输入寄送备注" allow-clear />
</a-form-model-item>
</a-col>
<a-col :sm="24" class="none-label">
<div class="btn-div flex">
<a-button>更新数据</a-button>
<a-form-model-item label="button">
<a-button class="mar-left10" type="primary" @click="addNewCharge">
<Icon name="ssiadd" :size="14" />新建寄送</a-button>
<a-button class="mar-left10" type="primary" @click="handlerReset">
<Icon name="ssireset" :size="14" />重置
</a-button>
<a-button class="mar-left10" type="primary" @click="handlerSearch">
<Icon name="ssisearch_active" :size="14" />查询
</a-button>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
<!-- table -->
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
<template slot="sendDate" slot-scope="text">
{{ text? moment(text).format('YYYY-MM-DD'): '' }}
</template>
<template slot="operation" slot-scope="text, record, index">
<a-button type="link" @click.stop="editEvt(record)">修改</a-button>
<a-button type="link" class="danger" @click.stop="delRecord(index)">删除</a-button>
</template>
</a-table>
<!--分页-->
<BurtPagination :pagination="pagination" @pageChange="getData" />
<a-modal title="编辑" :visible="dialogShow" width="700px" :maskClosable="false"
okText="确定" cancelText="取消"
@ok="handleEditOK" @cancel="dialogShow = false">
<a-form-model ref="editForm" :model="editFormObj" :rules="editRules">
<a-row :gutter="30">
<a-col :lg="12" :xs="24">
<a-form-model-item label="保险公司" prop="payorCode">
<a-select v-model="editFormObj.payorCode" placeholder="请选择保险公司" allowClear>
<a-select-option v-for="item in companyOptions" :key="item.id" :value="item.payorCode">
{{ item.longName }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="12" :sm="24">
<a-form-model-item label="寄送状态" prop="sendSts">
<a-select v-model="editFormObj.sendSts" placeholder="请选择寄送状态" allowClear>
<a-select-option :value="1">已寄送</a-select-option>
<a-select-option :value="2">未寄送</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="12" :sm="24">
<a-form-model-item label="寄送日期" prop="sendDate">
<a-date-picker format="YYYY年MM月DD日" v-model="editFormObj.sendDate" placeholder="选择日期" />
</a-form-model-item>
</a-col>
<a-col :lg="12" :xs="24">
<a-form-model-item label="快递单号" prop="trackingNo">
<a-input v-model.trim="editFormObj.trackingNo" placeholder="快递单号" />
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="30">
<a-col :lg="12" :xs="24">
<a-form-model-item label="寄送备注" prop="sendRemark">
<a-textarea v-model.trim="editFormObj.sendRemark" placeholder="寄送备注" />
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</a-modal>
</div>
</template>
<script>
import BurtPagination from "@/components/CUSTOMER/pagation";
import moment from 'moment'
export default {
data() {
const columns = [
{ title: "寄送批号", dataIndex: "sendBatchNo", key:"sendBatchNo",align:'center', width: 136},
{ title: "病历号", dataIndex: "patientNo", key:"patientNo",align:'center', width: 136},
{ title: "客户姓名", dataIndex: "patientName", width: 98 },
{ title: "保险公司", dataIndex: "payorName", width: 110 },
{ title: "就诊日期", dataIndex: "visitTimeStart", width: 200,scopedSlots: { customRender: "visitTimeStart" } },
{ title: "寄送状态", dataIndex: "sendSts", width: 90,scopedSlots: { customRender: "sendSts" } },
{ title: "寄送日期", dataIndex: "sendDate",width: 130,scopedSlots: { customRender: "sendDate" }},
{ title: "快递单号",dataIndex: "trackingNo",width: 180,},
{ title: "账单金额", dataIndex: "chargeAmount", width: 100, align: 'center' },
{ title: "折后金额", dataIndex: "discountAmount", width: 100, align: 'center' },
{ title: "客户自负", dataIndex: "paidAmount", width: 100, align: 'center' },
{ title: "理赔金额", dataIndex: "paidamount", width: 100, align: 'center' },
{ title: "寄送备注", dataIndex: "sendRemark", width: 100 },
{ title: "操作", key: "operation", width: "175px",fixed: "right",scopedSlots: { customRender: "operation" }},
];
return {
loading: false,
dialogShow: false,
columns,
form: {
dateRange: [],
payorCode: '',
sendSts: '',
sendMode: '',
sendDate: '',
sendCompany: '',
trackingNo: '',
sendAddress: '',
sendEmail: '',
sendRemark: ''
},
companyOptions: [], //保险公司
selectedRowKeys: [], // Check here to configure the default column
dataList: [],
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
editFormObj: {
payorCode: '',
sendSts: '',
sendDate: '',
trackingNo: '',
sendRemark: '',
},
editRules: {
sendDate: [{ required: true, message: "请选择寄送日期", trigger: "change" }],
trackingNo: [{ required: true, message: "请输入寄送单号", trigger: "blur" }],
},
};
},
components: {
BurtPagination,
},
created() {
this.getData();
this._getCompanyOptions();
},
methods: {
moment,
onSelectChange(selectedRowKeys) {
this.selectedRowKeys = selectedRowKeys;
},
// 获取列表数据
getData() {
this.selectedRowKeys = [];
this.$apis.QUERYCIRECEIPSENDLIST({
pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize,
...this.form
}).then((res) => {
if (res.returnCode == "0000") {
let content = res.content || {};
this.pagination.total = content.total || 0;
this.dataList = content.list || [];
} else {
this.$message.error(res.returnMsg);
}
});
},
// 获取保险公司下拉选项
_getCompanyOptions() {
this.$apis.GETCOMPANYOPTIONS().then((res) => {
this.companyOptions = res.content || [];
});
},
// 重置
handlerReset() {
this.form = {
dateRange: [],
payorCode: '',
sendSts: '',
sendMode: '',
sendDate: '',
sendCompany: '',
trackingNo: '',
sendAddress: '',
sendEmail: '',
sendRemark: ''
}
},
//查看
detailEvt(record) {
const { receiptNo } = record;
this.$router.push({
name: "chargeQueryDetail",
query: { receiptNo },
});
},
editEvt(record) {
this.editFormObj = {
ciReceiptSendVos: [
{
id: record.id,
receiptNo: record.receiptNo,
}
],
payorCode: record.payorCode || "",
sendSts: Number(record.sendSts) || "",
sendDate: record.sendDate || "",
trackingNo: record.trackingNo || "",
sendRemark: record.sendRemark || "",
};
this.dialogShow = true;
},
//编辑保存
handleEditOK() {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$apis.SAVERECEIPSENDINFO({
...this.editFormObj,
sendDate: moment(this.editFormObj.sendDate).format('YYYY-MM-DD 00:00:00')
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("编辑成功");
this.dialogShow = false;
this.getData();
} else {
this.$message.error(res.returnMsg);
}
});
}
});
},
handlerSearch() {
this.pagination.pageNum = 1;
this.getData();
},
//删除
delRecord(index) {
this.$modal.confirm({
title: "删除",
content: "确定删除该条记录?",
okText: "确定",
cancelText: "取消",
onOk: () => {
this.$apis.DELETERECEIPTSENDINFO({
sendBatchNo: this.dataList[index].sendBatchNo,
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("删除成功");
this.dataList.splice(index, 1);
} else {
this.$message.error(res.returnMsg);
}
});
},
});
},
//新建寄送
addNewCharge(){
if(!this.form.dateRange[0]){
this.$message.warning("请选择就诊日期");
return;
}
if(!this.form.sendDate){
this.$message.warning("请选择寄送日期");
return;
}
if(this.selectedRowKeys.length == 0){
this.$message.warning("未选择账单");
return;
}
let ciReceiptSendVos = [];
this.dataList.forEach((item,index)=>{
if(this.selectedRowKeys.indexOf(index)!=-1){
ciReceiptSendVos.push({
id: item.id,
receiptNo: item.receiptNo,
})
}
})
let formData = {
...this.form,
ciReceiptSendVos: ciReceiptSendVos,
sendDate: moment(this.form.sendDate).format('YYYY-MM-DD 00:00:00'),
visitTimeStart: moment(this.form.dateRange[0]).format('YYYY-MM-DD 00:00:00'),
visitTimeEnd: moment(this.form.dateRange[1]).format('YYYY-MM-DD 00:00:00'),
}
delete formData.dateRange;
this.$apis.SAVERECEIPSENDINFO(formData)
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("编辑成功");
this.getData();
} else {
this.$message.error(res.returnMsg);
}
});
}
},
};
</script>
<style lang="less" scoped>
.none-label {
text-align: right;
.ant-form-item-label {
opacity: 0;
}
}
.ant-btn .icon-class {
.mg-r(10);
}
.btn-div{
justify-content: space-between;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment