Commit c773b33f authored by yanglilong's avatar yanglilong

fix(custom): 理赔件管理bug修复

parent 9a6458d5
......@@ -2,5 +2,6 @@
"semi": false,
"singleQuote": true,
"trailingComma": "none",
"bracketSpacing": true
"bracketSpacing": true,
"endOfLine": "auto"
}
......@@ -7,8 +7,20 @@
<a-row :gutter="30">
<a-col :lg="8" :sm="12">
<a-form-model-item label="保险公司">
<a-select v-model="form.payorCode" placeholder="请选择保险公司" allow-clear showSearch :disabled="!isEdit" optionFilterProp="label">
<a-select-option v-for="item in companyOptions" :key="item.id" :value="item.payorCode" :label="item.longName">
<a-select
v-model="form.payorCode"
placeholder="请选择保险公司"
allow-clear
showSearch
:disabled="!isEdit"
optionFilterProp="label"
>
<a-select-option
v-for="item in companyOptions"
:key="item.id"
:value="item.payorCode"
:label="item.longName"
>
{{ item.longName }}
</a-select-option>
</a-select>
......@@ -16,7 +28,12 @@
</a-col>
<a-col :lg="8" :sm="12">
<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="2">未寄送</a-select-option>
</a-select>
......@@ -24,19 +41,40 @@
</a-col>
<a-col :lg="8" :sm="12">
<a-form-model-item label="快递公司">
<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
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>
</a-form-model-item>
</a-col>
<a-col :lg="8" :sm="12">
<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-col>
<a-col :lg="8" :sm="12">
<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>
......@@ -44,30 +82,58 @@
</a-col>
<a-col :lg="8" :sm="12">
<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-col>
<a-col :lg="8" :sm="12">
<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-col>
<a-col :lg="8" :sm="12">
<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-col>
<a-col :lg="8" :sm="12">
<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-col>
<a-col :sm="24" class="none-label" v-if="isEdit">
<div class="btn-div flex">
<span></span>
<a-form-model-item label="button">
<a-button class="mar-left10" type="primary" @click.stop="addNewCharge">
<Icon :name="sendBatchNo?'ssibaocun':'ssiadd'" :size="14" />{{sendBatchNo?'保存寄送':'新建寄送'}}</a-button>
<a-button
class="mar-left10"
type="primary"
@click.stop="addNewCharge(true)"
>
<Icon
:name="sendBatchNo ? 'ssibaocun' : 'ssiadd'"
:size="14"
/>{{ sendBatchNo ? '保存寄送' : '新建寄送' }}</a-button
>
</a-form-model-item>
</div>
</a-col>
......@@ -77,30 +143,56 @@
<a-row :gutter="30">
<a-col :lg="8" :sm="12">
<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-col>
<a-col :lg="8" :sm="12">
<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-col>
<a-col :lg="8" :sm="12">
<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-col>
</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-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
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>
......@@ -111,15 +203,28 @@
<div class="total-div flex">
<div>
<span>总账单数:</span>
<span class="blue-text">{{ totalListNum + selectedRowKeys.length }}</span>
<span :style="{color: 'red'}" v-if="invalidNum > 0">(无效{{ invalidNum }} 条)</span>
<span class="blue-text">{{
totalListNum + selectedRowKeys.length
}}</span>
<span :style="{ color: 'red' }" v-if="invalidNum > 0"
>(无效{{ invalidNum }} 条)</span
>
</div>
<div>
<span>理赔金额合计:</span>
<span class="blue-text">{{ totalAmount }}</span>
<span :style="{color: 'red'}" v-if="invalidActualAmount > 0">(无效{{ invalidActualAmount }}元)</span>
<span :style="{ color: 'red' }" v-if="invalidActualAmount > 0"
>(无效{{ invalidActualAmount }}元)</span
>
</div>
<a-button v-if="isEditNewBill" size="small" type="primary" @click="checkAll">全选</a-button>
<a-button
v-if="isEditNewBill"
size="small"
type="primary"
@click="checkAll"
>全选</a-button
>
</div>
<a-form-model-item label="button">
<a-button type="primary" @click="handlerSearch">
......@@ -128,8 +233,17 @@
<a-button class="mar-left10" type="primary" @click="exportEvt">
<Icon name="ssidaochu" :size="14" />导出
</a-button>
<a-button class="mar-left10" type="primary" @click.stop="addNewBill" v-if="isEdit">
<Icon :name="isEditNewBill?'ssibaocun':'ssiadd'" :size="14" />{{isEditNewBill? '保存账单': '添加账单'}}</a-button>
<a-button
class="mar-left10"
type="primary"
@click.stop="addNewBill"
v-if="isEdit"
>
<Icon
:name="isEditNewBill ? 'ssibaocun' : 'ssiadd'"
:size="14"
/>{{ isEditNewBill ? '保存账单' : '添加账单' }}</a-button
>
</a-form-model-item>
</div>
</a-col>
......@@ -137,34 +251,62 @@
</a-form-model>
<!-- table -->
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false"
:row-selection="isEditNewBill? { selectedRowKeys: selectedRowKeys, onChange: onSelectChange }: null">
<a-table
:columns="columns"
:data-source="dataList"
:scroll="{ x: true }"
:pagination="false"
:row-selection="
isEditNewBill
? { selectedRowKeys: selectedRowKeys, onChange: onSelectChange }
: null
"
>
<template slot="sendDate" slot-scope="text">
{{ text? moment(text).format('YYYY-MM-DD'): '' }}
{{ text ? moment(text).format('YYYY-MM-DD') : '' }}
</template>
<template slot="sendSts" slot-scope="text">
{{ text==1?'已寄送':'未寄送' }}
{{ text == 1 ? '已寄送' : '未寄送' }}
</template>
<template slot="status" slot-scope="text">
<span :style="{color: text == 2 ? 'red' : ''}">{{ text==1?'有效':text==2?'无效':'' }}</span>
<span :style="{ color: text == 2 ? 'red' : '' }">{{
text == 1 ? '有效' : text == 2 ? '无效' : ''
}}</span>
</template>
<template slot="operation" slot-scope="text, record">
<!-- <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>
</a-table>
<!--分页-->
<BurtPagination :pagination="pagination" @pageChange="getPageData" />
<a-modal title="编辑" :visible="dialogShow" width="700px" :maskClosable="false"
okText="确定" cancelText="取消"
@ok="handleEditOK" @cancel="dialogShow = false">
<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">
<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>
......@@ -172,7 +314,11 @@
</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
v-model="editFormObj.sendSts"
placeholder="请选择寄送状态"
allowClear
>
<a-select-option :value="1">已寄送</a-select-option>
<a-select-option :value="2">未寄送</a-select-option>
</a-select>
......@@ -180,19 +326,29 @@
</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-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-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-textarea
v-model.trim="editFormObj.sendRemark"
placeholder="寄送备注"
/>
</a-form-model-item>
</a-col>
</a-row>
......@@ -202,10 +358,10 @@
</template>
<script>
import Goback from "@/components/Customers/goback";
import BurtPagination from "@/components/Customers/pagation";
import Goback from '@/components/Customers/goback'
import BurtPagination from '@/components/Customers/pagation'
import moment from 'moment'
import Big from 'big.js';
import Big from 'big.js'
// import { numValid } from "@/utils/index"
export default {
......@@ -237,18 +393,22 @@ export default {
pagination: {
pageNum: 1,
pageSize: 200,
total: 0,
total: 0
},
editFormObj: {
payorCode: '',
sendSts: '',
sendDate: '',
trackingNo: '',
sendRemark: '',
sendRemark: ''
},
editRules: {
sendDate: [{ required: true, message: "请选择寄送日期", trigger: "change" }],
trackingNo: [{ required: true, message: "请输入寄送单号", trigger: "blur" }],
sendDate: [
{ required: true, message: '请选择寄送日期', trigger: 'change' }
],
trackingNo: [
{ required: true, message: '请输入寄送单号', trigger: 'blur' }
]
},
statusOptions: [
{
......@@ -265,15 +425,19 @@ export default {
selectActualAmount: 0,
invalidNum: 0,
invalidActualAmount: 0
};
}
},
components: {
Goback,
BurtPagination,
BurtPagination
},
computed: {
totalAmount(){
console.log(this.totalActualAmount,this.selectActualAmount,Number(this.totalActualAmount * 100) + this.selectActualAmount * 100)
totalAmount() {
console.log(
this.totalActualAmount,
this.selectActualAmount,
Number(this.totalActualAmount * 100) + this.selectActualAmount * 100
)
if (this.isEditNewBill) {
return Big(this.totalActualAmount).plus(this.selectActualAmount)
} else {
......@@ -282,95 +446,175 @@ export default {
},
columns() {
const base = [
{ title: "账单日期", dataIndex: "receiptDate", width: 120,fixed: "left",scopedSlots: { customRender: "receiptDate" } },
{ title: "状态", dataIndex: "status", key:"status",align:'center',fixed: "left", width: 60,scopedSlots: { customRender: "status" } },
{ title: "客户姓名", dataIndex: "patientName",fixed: "left", width: 120 },
{ title: "病历号", dataIndex: "mrnNo", key:"mrnNo",align:'center', width: 136},
{ title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 250 },
{ title: "保险卡号", dataIndex: "memberCardNo", width: 140 },
{ title: "客户生日", dataIndex: "birthday", width: 120 },
{ title: "就诊医生", dataIndex: "doctorName", width: 100, align: 'center' },
{ title: "应收金额", dataIndex: "chargeAmount", width: 100, align: 'center' },
{ title: "折扣金额", dataIndex: "discountAmount", width: 100, align: 'center' },
{ title: "减免金额", dataIndex: "reduceAmount", width: 100, align: 'center' },
{ title: "客户自付", dataIndex: "selfpaidAmount", width: 100, align: 'center' },
{ title: "理赔金额", dataIndex: "actualAmount", width: 100, align: 'center' },
{ title: "账单编号", dataIndex: "receiptNo", key:"receiptNo",align:'center'},
];
if(this.sendBatchNo && ! this.isEditNewBill && this.isEdit){ // 编辑状态下已经保存的数据才可进行操作
{
title: '账单日期',
dataIndex: 'receiptDate',
width: 120,
fixed: 'left',
scopedSlots: { customRender: 'receiptDate' }
},
{
title: '状态',
dataIndex: 'status',
key: 'status',
align: 'center',
fixed: 'left',
width: 60,
scopedSlots: { customRender: 'status' }
},
{
title: '客户姓名',
dataIndex: 'patientName',
fixed: 'left',
width: 120
},
{
title: '病历号',
dataIndex: 'mrnNo',
key: 'mrnNo',
align: 'center',
width: 136
},
{
title: '保险公司',
dataIndex: 'payorName',
ellipsis: true,
width: 250
},
{ title: '保险卡号', dataIndex: 'memberCardNo', width: 140 },
{ title: '客户生日', dataIndex: 'birthday', width: 120 },
{
title: '就诊医生',
dataIndex: 'doctorName',
width: 100,
align: 'center'
},
{
title: '应收金额',
dataIndex: 'chargeAmount',
width: 100,
align: 'center'
},
{
title: '折扣金额',
dataIndex: 'discountAmount',
width: 100,
align: 'center'
},
{
title: '减免金额',
dataIndex: 'reduceAmount',
width: 100,
align: 'center'
},
{
title: '客户自付',
dataIndex: 'selfpaidAmount',
width: 100,
align: 'center'
},
{
title: '理赔金额',
dataIndex: 'actualAmount',
width: 100,
align: 'center'
},
{
title: '账单编号',
dataIndex: 'receiptNo',
key: 'receiptNo',
align: 'center'
}
]
if (this.sendBatchNo && !this.isEditNewBill && this.isEdit) {
// 编辑状态下已经保存的数据才可进行操作
return base.concat([
{ title: "操作", key: "operation", width: "100px",fixed: "right",scopedSlots: { customRender: "operation" }},
]);
{
title: '操作',
key: 'operation',
width: '100px',
fixed: 'right',
scopedSlots: { customRender: 'operation' }
}
])
}
return base
}
},
created() {
const { sendBatchNo, isEdit } = this.$route.query;
this.sendBatchNo = sendBatchNo;
this.isEdit = isEdit;
this._getCompanyOptions();
this.getRefcdByRefgrp();
if(this.sendBatchNo){
let jisongDataDetail = localStorage.getItem('jisongDataDetail');
this.form = jisongDataDetail? JSON.parse(jisongDataDetail): {};
this.getData();
const { sendBatchNo, isEdit } = this.$route.query
this.sendBatchNo = sendBatchNo
this.isEdit = isEdit
this._getCompanyOptions()
this.getRefcdByRefgrp()
if (this.sendBatchNo) {
let jisongDataDetail = localStorage.getItem('jisongDataDetail')
this.form = jisongDataDetail ? JSON.parse(jisongDataDetail) : {}
this.getData()
}
},
methods: {
moment,
onSelectChange(selectedRowKeys) {
let arr = [];
let arr = []
this.selectActualAmount = 0
for(let i=0; i<selectedRowKeys.length; i++){
let idx = selectedRowKeys[i];
if(this.dataList[idx].sendBatchNo){
this.$msg.destroy();
for (let i = 0; i < selectedRowKeys.length; i++) {
let idx = selectedRowKeys[i]
if (this.dataList[idx].sendBatchNo) {
this.$msg.destroy()
this.$message.warning('寄送批号已存在')
}else{
arr.push(idx);
if(idx.status == 2){
} else {
arr.push(idx)
if (idx.status == 2) {
this.invalidNum++
this.invalidActualAmount = Big(this.invalidActualAmount).plus(this.dataList[idx].actualAmount)
this.invalidActualAmount = Big(this.invalidActualAmount).plus(
this.dataList[idx].actualAmount
)
}
this.selectActualAmount = Big(this.selectActualAmount).plus(this.dataList[idx].actualAmount)
this.selectActualAmount = Big(this.selectActualAmount).plus(
this.dataList[idx].actualAmount
)
}
}
this.selectedRowKeys = arr;
this.selectedRowKeys = arr
},
// 全选
checkAll() {
this.$apis.queryNoSendReceipList({
this.$apis
.queryNoSendReceipList({
pageNum: 1,
pageSize: this.pagination.total,
payorCode: this.form.payorCode,
...this.searchData
})
.then((res) => {
if (res.returnCode == "0000") {
const dataList = res.content.list || [];
const selectedRowKeys = dataList.map((item, index) => index);
if (res.returnCode == '0000') {
const dataList = res.content.list || []
const selectedRowKeys = dataList.map((item, index) => index)
this.onSelectChange(selectedRowKeys)
const index = Math.ceil(dataList.length / this.pagination.pageSize)
for(let i = 1; i < index + 1 ; i++) {
this.cacheDataList[i] = dataList.slice((i-1)*this.pagination.pageSize, i*this.pagination.pageSize)
for (let i = 1; i < index + 1; i++) {
this.cacheDataList[i] = dataList.slice(
(i - 1) * this.pagination.pageSize,
i * this.pagination.pageSize
)
}
} else {
this.$message.error(res.returnMsg);
this.$message.error(res.returnMsg)
}
});
})
},
// 分页回调
getPageData(pager) {
console.log(pager, 1111)
if(pager){
if (pager) {
this.pagination = {
...this.pagination,
...pager
}
}
if(this.isEditNewBill) { // 新增时添加了账单信息 那分页也应该是调账单信息接口
if (this.isEditNewBill) {
// 新增时添加了账单信息 那分页也应该是调账单信息接口
this._getNewBillList()
} else {
this.getData()
......@@ -378,39 +622,40 @@ export default {
},
// 获取列表数据
getData() {
this.selectedRowKeys = [];
this.selectedRowKeys = []
let filter = {
pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize,
sendBatchNo: this.sendBatchNo || undefined,
...this.searchData
}
this.$apis.querySendReceipList(filter)
.then((res) => {
if (res.returnCode == "0000") {
let content = res.content || {};
this.pagination.total = content.total || 0;
this.dataList = content.list || [];
this.$apis.querySendReceipList(filter).then((res) => {
if (res.returnCode == '0000') {
let content = res.content || {}
this.pagination.total = content.total || 0
this.dataList = content.list || []
this.cacheDataList[filter.pageNum] = this.dataList
this.getTotal()
} else {
this.$message.error(res.returnMsg);
this.$message.error(res.returnMsg)
}
});
})
},
// 计算总保费
getTotal(){
getTotal() {
let totalNum = 0
let totalMoney= 0
let totalMoney = 0
let invalidNum = 0
let invalidActualAmount = 0
if(this.dataList.length>0){
this.dataList.forEach((item)=>{
if (this.dataList.length > 0) {
this.dataList.forEach((item) => {
totalNum++
totalMoney = Big(totalMoney).plus(item.actualAmount)
if(item.status == 2){
if (item.status == 2) {
invalidNum++
invalidActualAmount = Big(invalidActualAmount).plus(item.actualAmount)
invalidActualAmount = Big(invalidActualAmount).plus(
item.actualAmount
)
}
})
}
......@@ -422,71 +667,81 @@ export default {
// 获取保险公司下拉选项
_getCompanyOptions() {
this.$apis.getCompanyOptions().then((res) => {
this.companyOptions = res.content || [];
});
this.companyOptions = res.content || []
})
},
// 获取快递列表
getRefcdByRefgrp() {
this.$apis.getRefcdByRefgrp({
modid: "CI",
refgrp: "SEND_COMPANY"
}).then((res) => {
this.expressList = res.content || [];
});
this.$apis
.getRefcdByRefgrp({
modid: 'CI',
refgrp: 'SEND_COMPANY'
})
.then((res) => {
this.expressList = res.content || []
})
},
//查看
detailEvt(record) {
const { receiptNo } = record;
const { receiptNo } = record
this.$router.push({
name: "chargeQueryDetail",
query: { receiptNo },
});
name: 'chargeQueryDetail',
query: { receiptNo }
})
},
editEvt(record) {
this.editFormObj = {
ciReceiptSendVos: [
{
id: record.id,
receiptNo: record.receiptNo,
receiptNo: record.receiptNo
}
],
payorCode: record.payorCode || "",
sendSts: Number(record.sendSts) || "",
sendDate: record.sendDate || "",
trackingNo: record.trackingNo || "",
sendRemark: record.sendRemark || "",
};
this.dialogShow = true;
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.saceReceipSendInfo({
this.$apis
.saceReceipSendInfo({
...this.editFormObj,
sendDate: moment(this.editFormObj.sendDate).format('YYYY-MM-DD 00:00:00')
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();
if (res.returnCode == '0000') {
this.$message.success('编辑成功')
this.dialogShow = false
this.getData()
} else {
this.$message.error(res.returnMsg);
this.$message.error(res.returnMsg)
}
});
})
}
});
})
},
handlerSearch() {
this.pagination.pageNum = 1;
this.pagination.pageNum = 1
let visitTimeStart = this.searchForm.visitTimeStart || []
this.searchData = this.$lodash.cloneDeep({
...this.searchForm,
visitTimeEnd: visitTimeStart[1] ? visitTimeStart[1] + ' 23:59:59' : undefined,
visitTimeStart: visitTimeStart[0] ? visitTimeStart[0] + ' 00:00:00' : undefined,
});
if(this.isEditNewBill) { // 新增时添加了账单信息 那分页也应该是调账单信息接口
visitTimeEnd: visitTimeStart[1]
? visitTimeStart[1] + ' 23:59:59'
: undefined,
visitTimeStart: visitTimeStart[0]
? visitTimeStart[0] + ' 00:00:00'
: undefined
})
if (this.isEditNewBill) {
// 新增时添加了账单信息 那分页也应该是调账单信息接口
this._getNewBillList()
} else {
this.getData()
......@@ -495,35 +750,35 @@ export default {
//删除
delRecord(data) {
this.$modal.confirm({
title: "删除",
content: "确定删除该条记录?",
okText: "确定",
cancelText: "取消",
title: '删除',
content: '确定删除该条记录?',
okText: '确定',
cancelText: '取消',
onOk: () => {
this.$apis.deleteSendReceipt({
ciReceiptSendVos: [
{receiptNo: data.receiptNo}
],
sendBatchNo: this.sendBatchNo,
this.$apis
.deleteSendReceipt({
ciReceiptSendVos: [{ receiptNo: data.receiptNo }],
sendBatchNo: this.sendBatchNo
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("删除成功");
if (res.returnCode == '0000') {
this.$message.success('删除成功')
this.getData()
// this.dataList.splice(index, 1);
} else {
this.$message.error(res.returnMsg);
this.$message.error(res.returnMsg)
}
});
},
});
})
}
})
},
//导出
exportEvt(){
exportEvt() {
let visitTimeStart = this.searchForm.visitTimeStart || []
let api = ''
if(!this.isEditNewBill) { // 新增时添加了账单信息 那分页也应该是调账单信息接口
if (!this.isEditNewBill) {
// 新增时添加了账单信息 那分页也应该是调账单信息接口
api = this.$apis.sendReceipListExport
} else {
api = this.$apis.noSendReceipListExport
......@@ -532,36 +787,44 @@ export default {
sendBatchNo: this.sendBatchNo || undefined,
...this.searchForm,
payorCode: this.form.payorCode || undefined,
visitTimeEnd: visitTimeStart[1] ? visitTimeStart[1] + ' 23:59:59' : undefined,
visitTimeStart: visitTimeStart[0] ? visitTimeStart[0] + ' 00:00:00' : undefined,
})
.then(res => {
visitTimeEnd: visitTimeStart[1]
? visitTimeStart[1] + ' 23:59:59'
: undefined,
visitTimeStart: visitTimeStart[0]
? visitTimeStart[0] + ' 00:00:00'
: undefined
}).then((res) => {
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");
aLink.style.display="none";
aLink.href=url;
aLink.setAttribute("download",!this.isEditNewBill?"寄送账单.xls":'未寄送账单.xls');
document.body.appendChild(aLink);
aLink.click();
document.body.removeChild(aLink);
window.URL.revokeObjectURL(url);
type: 'application/vnd.ms-excel;charset=utf-8'
})
let url = window.URL.createObjectURL(blob)
let aLink = document.createElement('a')
aLink.style.display = 'none'
aLink.href = url
aLink.setAttribute(
'download',
!this.isEditNewBill ? '寄送账单.xls' : '未寄送账单.xls'
)
document.body.appendChild(aLink)
aLink.click()
document.body.removeChild(aLink)
window.URL.revokeObjectURL(url)
})
},
//添加账单
addNewBill(){
if(this.isEditNewBill){ //保存
this.addNewCharge()
.then(()=>{
this.isEditNewBill = false;
addNewBill() {
if (this.isEditNewBill) {
//保存
this.addNewCharge().then(() => {
this.isEditNewBill = false
})
}else{ //查询所有未加入的账单
this.pagination.pageNum = 1;
this.isEditNewBill = true;
} else {
//查询所有未加入的账单
this.pagination.pageNum = 1
this.isEditNewBill = true
this.cacheDataList = {}
if(this.isEditNewBill) { // 新增时添加了账单信息 那分页也应该是调账单信息接口
if (this.isEditNewBill) {
// 新增时添加了账单信息 那分页也应该是调账单信息接口
this._getNewBillList()
} else {
this.getData()
......@@ -569,43 +832,43 @@ export default {
}
},
_getNewBillList() {
console.log(2133)
this.$apis.queryNoSendReceipList({
this.$apis
.queryNoSendReceipList({
pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize,
payorCode: this.form.payorCode,
...this.searchData
})
.then((res) => {
if (res.returnCode == "0000") {
if (res.returnCode == '0000') {
// this.selectedRowKeys = [];
let content = res.content || {};
this.pagination.total = content.total || 0;
this.dataList = content.list || [];
let content = res.content || {}
this.pagination.total = content.total || 0
this.dataList = content.list || []
this.cacheDataList[this.pagination.pageNum] = this.dataList
} else {
this.$message.error(res.returnMsg);
this.$message.error(res.returnMsg)
}
});
})
},
checkBeforeSave() {
if(!this.form.trackingNo){
this.$message.warning("请输入快递单号");
return false;
if (!this.form.trackingNo) {
this.$message.warning('请输入快递单号')
return false
}
if(!this.form.sendDate){
this.$message.warning("请选择寄送日期");
return false;
if (!this.form.sendDate) {
this.$message.warning('请选择寄送日期')
return false
}
let allData = []
for(let i in this.cacheDataList){
for (let i in this.cacheDataList) {
allData = allData.concat(this.cacheDataList[i])
}
let ciReceiptSendVos = [];
if(this.isEditNewBill){
ciReceiptSendVos = [];
allData.forEach((item,index)=>{
if(this.selectedRowKeys.indexOf(index)!=-1){
let ciReceiptSendVos = []
if (this.isEditNewBill) {
ciReceiptSendVos = []
allData.forEach((item, index) => {
if (this.selectedRowKeys.indexOf(index) != -1) {
ciReceiptSendVos.push({
id: item.id,
receiptNo: item.receiptNo,
......@@ -614,7 +877,7 @@ export default {
}
})
} else {
ciReceiptSendVos = allData.map(item => {
ciReceiptSendVos = allData.map((item) => {
return {
id: item.id,
receiptNo: item.receiptNo,
......@@ -637,35 +900,40 @@ export default {
}
},
//新建/保存寄送
addNewCharge(){
return new Promise((resolve,reject)=>{
addNewCharge(flag = false) {
return new Promise((resolve, reject) => {
let formData = this.checkBeforeSave()
if(!formData){
if (!formData) {
reject()
return false;
return false
}
this.$apis.saceReceipSendInfo(formData)
.then((res) => {
if (res.returnCode == "0000") {
this.sendBatchNo = res.content;
this.$message.success("成功");
this.$apis.saceReceipSendInfo(formData).then((res) => {
if (res.returnCode == '0000') {
this.sendBatchNo = res.content
this.$message.success('成功')
// this.selectedRowKeys = [];
this.cacheDataList = {}
if(!this.isEditNewBill) { // 新增时添加了账单信息 那分页也应该是调账单信息接口
if (flag) {
this.isEditNewBill = false
this.getData()
return true
}
if (!this.isEditNewBill) {
// 新增时添加了账单信息 那分页也应该是调账单信息接口
this._getNewBillList()
} else {
this.getData()
}
resolve();
resolve()
} else {
this.$message.error(res.returnMsg);
reject();
this.$message.error(res.returnMsg)
reject()
}
});
})
})
}
},
};
}
}
</script>
<style lang="less" scoped>
.none-label {
......@@ -677,12 +945,12 @@ export default {
.ant-btn .icon-class {
.mg-r(10);
}
.btn-div{
.btn-div {
justify-content: space-between;
}
.total-div{
gap:20px;
div span:first-child{
.total-div {
gap: 20px;
div span:first-child {
font-weight: bold;
font-family: PingFangSC-Medium, PingFang SC;
font-size: 14px;
......
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