Commit 99294735 authored by 朱彩云's avatar 朱彩云

feat(eccs-2803): 商保增加就诊日期的展示和查询

parent 533d3695
...@@ -6,20 +6,49 @@ ...@@ -6,20 +6,49 @@
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :xl="6" :lg="6" :sm="12"> <a-col :xl="6" :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="6" :lg="6" :sm="12"> <a-col :xl="6" :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-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="就诊日期">
<a-range-picker
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
v-model="form.admissionDateArr"
:placeholder="['选择开始日期', '选择结束日期']"
/>
</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="保险公司"> <a-form-model-item label="保险公司">
<a-select v-model="form.payorIds" placeholder="请选择保险公司" allowClear show-search mode="multiple" <a-select
:filterOption="filterCode" optionFilterProp="label"> v-model="form.payorIds"
<a-select-option v-for="item in companyOptions" :key="item.corpCode" :value="item.id" placeholder="请选择保险公司"
:label="item.longName"> allowClear
show-search
mode="multiple"
:filterOption="filterCode"
optionFilterProp="label"
>
<a-select-option
v-for="item in companyOptions"
:key="item.corpCode"
:value="item.id"
:label="item.longName"
>
{{ item.longName }} {{ item.longName }}
</a-select-option> </a-select-option>
</a-select> </a-select>
...@@ -27,8 +56,16 @@ ...@@ -27,8 +56,16 @@
</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="看诊医生"> <a-form-model-item label="看诊医生">
<a-select v-model="form.doctorCode" placeholder="请选择看诊医生" allowClear> <a-select
<a-select-option v-for="item in doctorOptions" :key="item.doctorCode" :value="item.doctorCode"> v-model="form.doctorCode"
placeholder="请选择看诊医生"
allowClear
>
<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>
...@@ -36,38 +73,50 @@ ...@@ -36,38 +73,50 @@
</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="收费时间"> <a-form-model-item label="收费时间">
<a-range-picker format="YYYY-MM-DD" v-model="form.dateRange" :placeholder="['开始时间', '结束时间']" <a-range-picker
@change="onSelectVisitTime" /> 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="6" :lg="6" :sm="12"> <a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="是否已关联寄送单"> <a-form-model-item label="是否已关联寄送单">
<a-select v-model="form.isSend" placeholder="请选择是否已关联寄送单" allowClear> <a-select
<a-select-option value="Y" allow-clear> v-model="form.isSend"
placeholder="请选择是否已关联寄送单"
</a-select-option> allowClear
<a-select-option value="N" 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>
</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="是否已回款"> <a-form-model-item label="是否已回款">
<a-select v-model="form.isEobBack" placeholder="请选择是否已回款" allowClear> <a-select
<a-select-option value="Y" allow-clear> v-model="form.isEobBack"
placeholder="请选择是否已回款"
</a-select-option> allowClear
<a-select-option value="N" 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>
</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="账单类型"> <a-form-model-item label="账单类型">
<a-select v-model="form.receiptType" placeholder="请选择账单类型" allowClear> <a-select
<a-select-option v-for="item in receiptTypeOptions" :key="item.value" :value="item.value"> v-model="form.receiptType"
placeholder="请选择账单类型"
allowClear
>
<a-select-option
v-for="item in receiptTypeOptions"
:key="item.value"
:value="item.value"
>
{{ item.name }} {{ item.name }}
</a-select-option> </a-select-option>
</a-select> </a-select>
...@@ -75,13 +124,21 @@ ...@@ -75,13 +124,21 @@
</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="账单编号"> <a-form-model-item label="账单编号">
<a-input v-model="form.receiptNo" placeholder="请输入账单编号" allow-clear /> <a-input
v-model="form.receiptNo"
placeholder="请输入账单编号"
allow-clear
/>
</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="状态"> <a-form-model-item label="状态">
<a-select v-model="form.status" placeholder="请选择状态" allowClear> <a-select v-model="form.status" placeholder="请选择状态" allowClear>
<a-select-option v-for="item in statusOptions" :key="item.code" :value="item.code"> <a-select-option
v-for="item in statusOptions"
:key="item.code"
:value="item.code"
>
{{ item.name }} {{ item.name }}
</a-select-option> </a-select-option>
</a-select> </a-select>
...@@ -104,8 +161,19 @@ ...@@ -104,8 +161,19 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="24" :lg="24" :sm="24"> <a-col :xl="24" :lg="24" :sm="24">
<div class="residue-amount">未清余额合计:<span class="blue-text">{{ ciReceiptTotalVo.residueBackAmount || 0 }} </span> (共计<span class="blue-text"> {{ <div class="residue-amount">
ciReceiptTotalVo.totalNum || 0 }} </span><span v-if="ciReceiptTotalVo.invalidNum">,其中:无效 <span style="color: red;">{{ ciReceiptTotalVo.invalidNum || 0 }}</span></span>) 未清余额合计:<span class="blue-text"
>{{ ciReceiptTotalVo.residueBackAmount || 0 }}
</span>
(共计<span class="blue-text">
{{ ciReceiptTotalVo.totalNum || 0 }} </span
><span v-if="ciReceiptTotalVo.invalidNum"
>,其中:无效
<span style="color: red">{{
ciReceiptTotalVo.invalidNum || 0
}}</span>
</span
>)
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
...@@ -113,12 +181,19 @@ ...@@ -113,12 +181,19 @@
</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" class="success" @click.stop="detailEvt(record)">查看</a-button> <a-button type="link" class="success" @click.stop="detailEvt(record)"
>查看</a-button
>
</template> </template>
<template slot="isSend" slot-scope="text"> <template slot="isSend" slot-scope="text">
{{ text == 'Y' ? '' : text == 'N' ? '' : '' }} {{ text == 'Y' ? '' : text == 'N' ? '' : '' }}
...@@ -130,7 +205,9 @@ ...@@ -130,7 +205,9 @@
{{ text == 'Y' ? '' : text == 'N' ? '' : '' }} {{ text == 'Y' ? '' : text == 'N' ? '' : '' }}
</template> </template>
<template slot="status" slot-scope="text"> <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>
<template slot="redText" slot-scope="text"> <template slot="redText" slot-scope="text">
<span style="color: red">{{ text }}</span> <span style="color: red">{{ text }}</span>
...@@ -142,11 +219,11 @@ ...@@ -142,11 +219,11 @@
</template> </template>
<script> <script>
import BurtPagination from '@/components/Customers/pagation'; import BurtPagination from '@/components/Customers/pagation'
import { mapState } from 'vuex'; import { mapState } from 'vuex'
import moment from 'moment'; import moment from 'moment'
import { receiptTypeOptions } from '@/assets/js/utilsdictOptions.js'; import { receiptTypeOptions } from '@/assets/js/utilsdictOptions.js'
import { exportFile } from '@/utils/index'; import { exportFile } from '@/utils/index'
export default { export default {
data() { data() {
const columns = [ const columns = [
...@@ -161,17 +238,44 @@ export default { ...@@ -161,17 +238,44 @@ export default {
{ title: '收费时间', dataIndex: 'receiptDate', width: 180 }, { title: '收费时间', dataIndex: 'receiptDate', width: 180 },
{ title: '账单编号', dataIndex: 'receiptNo', width: 180 }, { title: '账单编号', dataIndex: 'receiptNo', width: 180 },
{ title: '账单类型', dataIndex: 'receiptTypeStr', width: 130 }, { title: '账单类型', dataIndex: 'receiptTypeStr', width: 130 },
{ title: '状态', dataIndex: 'status', width: 130, customRender: val => { {
return <span class={val === '2' ? 'red-text' : ''}>{val === '2' ? '无效' : '有效'}</span>; title: '状态',
}}, dataIndex: 'status',
width: 130,
customRender: (val) => {
return (
<span class={val === '2' ? 'red-text' : ''}>
{val === '2' ? '无效' : '有效'}
</span>
)
}
},
{ title: '病历号', dataIndex: 'mrnNo', width: 180 }, { title: '病历号', dataIndex: 'mrnNo', width: 180 },
{ title: '客户姓名', dataIndex: 'patientName', width: 120 }, { title: '客户姓名', dataIndex: 'patientName', width: 120 },
{
title: '就诊日期',
dataIndex: 'admissionDate',
width: 120,
customRender: (val) => {
return val ? moment(val).format('YYYY-MM-DD') : ''
}
},
{ title: '保险公司', dataIndex: 'payorName', width: 200 }, { title: '保险公司', dataIndex: 'payorName', width: 200 },
{ title: '保险卡', dataIndex: 'cardNo', width: 200 }, { title: '保险卡', dataIndex: 'cardNo', width: 200 },
{ title: '客户生日', dataIndex: 'birthday', width: 200 }, { title: '客户生日', dataIndex: 'birthday', width: 200 },
{ title: '就诊医生', dataIndex: 'doctorName', width: 150 }, { title: '就诊医生', dataIndex: 'doctorName', width: 150 },
{ title: '是否已关联寄送单', dataIndex: 'isSend', width: 180, scopedSlots: { customRender: 'isSend' } }, {
{ title: '是否已回款', dataIndex: 'isEobBack', width: 180, scopedSlots: { customRender: 'isEobBack' } }, title: '是否已关联寄送单',
dataIndex: 'isSend',
width: 180,
scopedSlots: { customRender: 'isSend' }
},
{
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: 'reduceAmount', width: 180 }, { title: '减免金额', dataIndex: 'reduceAmount', width: 180 },
...@@ -180,8 +284,18 @@ export default { ...@@ -180,8 +284,18 @@ export default {
{ title: '理赔金额', dataIndex: 'actualAmount', width: 180 }, { title: '理赔金额', dataIndex: 'actualAmount', width: 180 },
{ title: '保险已支付', dataIndex: 'backAmount', width: 180 }, { title: '保险已支付', dataIndex: 'backAmount', width: 180 },
{ title: '保险欠费', dataIndex: 'insuranceArrearsAmount', width: 180 }, { title: '保险欠费', dataIndex: 'insuranceArrearsAmount', width: 180 },
{ title: '个人欠费', dataIndex: 'arrearsAmount', width: 180, scopedSlots: { customRender: 'redText' } }, {
{ title: '备注', dataIndex: 'remark', width: 200, scopedSlots: { customRender: 'redText' } }, title: '个人欠费',
dataIndex: 'arrearsAmount',
width: 180,
scopedSlots: { customRender: 'redText' }
},
{
title: '备注',
dataIndex: 'remark',
width: 200,
scopedSlots: { customRender: 'redText' }
},
{ title: '未清余额', dataIndex: 'residueBackAmount', width: 180 }, { title: '未清余额', dataIndex: 'residueBackAmount', width: 180 },
{ title: '账龄', dataIndex: 'diffDay', width: 180 }, { title: '账龄', dataIndex: 'diffDay', width: 180 },
{ {
...@@ -192,7 +306,7 @@ export default { ...@@ -192,7 +306,7 @@ export default {
scopedSlots: { customRender: 'operation' }, scopedSlots: { customRender: 'operation' },
align: 'center' align: 'center'
} }
]; ]
return { return {
columns, columns,
receiptTypeOptions, receiptTypeOptions,
...@@ -200,6 +314,7 @@ export default { ...@@ -200,6 +314,7 @@ export default {
pageForm: { pageForm: {
doctorCode: '', doctorCode: '',
patientName: '', patientName: '',
admissionDateArr: [],
mrnNo: '', mrnNo: '',
paymentCode: '', paymentCode: '',
payorIds: [], payorIds: [],
...@@ -243,8 +358,8 @@ export default { ...@@ -243,8 +358,8 @@ export default {
} }
], ],
ciReceiptTotalVo: {}, ciReceiptTotalVo: {},
iscreated:false iscreated: false
}; }
}, },
components: { components: {
BurtPagination BurtPagination
...@@ -256,13 +371,13 @@ export default { ...@@ -256,13 +371,13 @@ export default {
}, },
created() { created() {
this.iscreated = true this.iscreated = true
this._getCompanyOptions(); this._getCompanyOptions()
this._getDoctorListNoPage(); //获取医生下拉选项 this._getDoctorListNoPage() //获取医生下拉选项
}, },
activated(){ activated() {
if(!this.iscreated){ if (!this.iscreated) {
this._getCompanyOptions(); this._getCompanyOptions()
}else{ } else {
this.iscreated = false this.iscreated = false
} }
}, },
...@@ -270,70 +385,104 @@ export default { ...@@ -270,70 +385,104 @@ export default {
moment, moment,
// 获取未清余额合计 // 获取未清余额合计
getReceiptCount() { getReceiptCount() {
this.$apis.receiptCount({ this.$apis
.receiptCount({
...this.pageForm, ...this.pageForm,
...this.pagination ...this.pagination,
}).then((res) => { admissionDateStart:
this.form.admissionDateArr && this.form.admissionDateArr[0]
? moment(this.form.admissionDateArr[0]).format(
'YYYY-MM-DD 00:00:00'
)
: '',
admissionDateEnd:
this.form.admissionDateArr && this.form.admissionDateArr[1]
? moment(this.form.admissionDateArr[1]).format(
'YYYY-MM-DD 23:59:59'
)
: ''
})
.then((res) => {
if (res.returnCode == '0000') { if (res.returnCode == '0000') {
console.log(res.content) console.log(res.content)
this.ciReceiptTotalVo = res.content this.ciReceiptTotalVo = res.content
} }
}); })
}, },
// 选择框筛选 // 选择框筛选
filterCode(input, option) { filterCode(input, option) {
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0; return (
option.componentOptions.children[0].text
.toLowerCase()
.indexOf(input.toLowerCase()) >= 0
)
}, },
// 获取列表数据 // 获取列表数据
_getChargeList() { _getChargeList() {
const data = { const data = {
...this.pageForm, ...this.pageForm,
...this.pagination ...this.pagination,
}; admissionDateStart:
this.form.admissionDateArr && this.form.admissionDateArr[0]
? moment(this.form.admissionDateArr[0]).format(
'YYYY-MM-DD 00:00:00'
)
: '',
admissionDateEnd:
this.form.admissionDateArr && this.form.admissionDateArr[1]
? moment(this.form.admissionDateArr[1]).format(
'YYYY-MM-DD 23:59:59'
)
: ''
}
this.$apis.getChargeList(data).then((res) => { this.$apis.getChargeList(data).then((res) => {
let content = res.content || {}; let content = res.content || {}
this.dataList = this.dataList =
content.list.map((item) => { content.list.map((item) => {
item.receiptTypeStr = this.receiptTypeDict[item.receiptType] || ''; item.receiptTypeStr = this.receiptTypeDict[item.receiptType] || ''
return item; return item
}) || []; }) || []
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] ? dateString[0] + ' 00:00:00' : ''; this.form.visitTimeStart = dateString[0]
this.form.visitTimeEnd = dateString[1] ? dateString[1] + ' 23:59:59' : ''; ? dateString[0] + ' 00:00:00'
console.log(date, dateString); : ''
this.form.visitTimeEnd = dateString[1] ? dateString[1] + ' 23:59:59' : ''
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) {
...@@ -349,26 +498,29 @@ export default { ...@@ -349,26 +498,29 @@ export default {
}) })
.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._getChargeList(); ...this.form,
dateRange: undefined
})
this._getChargeList()
this.getReceiptCount() this.getReceiptCount()
}); })
}, },
// 新建账单信息 // 新建账单信息
addNewCharge() { addNewCharge() {
...@@ -378,13 +530,13 @@ export default { ...@@ -378,13 +530,13 @@ export default {
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 {
...@@ -404,4 +556,5 @@ export default { ...@@ -404,4 +556,5 @@ export default {
font-size: 14px; font-size: 14px;
// .mg-t(48); // .mg-t(48);
margin: 0 0 10px; margin: 0 0 10px;
}</style> }
</style>
...@@ -6,18 +6,38 @@ ...@@ -6,18 +6,38 @@
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="就诊日期"> <a-form-model-item label="就诊日期">
<a-range-picker format="YYYY年MM月DD日" v-model="form.dateRange" :placeholder="['开始日期', '结束日期']" /> <a-range-picker
format="YYYY-MM-DD"
v-model="form.dateRange"
:placeholder="['开始日期', '结束日期']"
/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="6" :sm="12"> <a-col :lg="6" :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="form.billDate" :placeholder="['选择账单开始日期', '选择账单结束日期']" /> <a-range-picker
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
v-model="form.billDate"
:placeholder="['选择账单开始日期', '选择账单结束日期']"
/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="保险公司"> <a-form-model-item label="保险公司">
<a-select v-model="form.payorCode" placeholder="请选择保险公司" showSearch allowClear optionFilterProp="label"> <a-select
<a-select-option v-for="item in companyOptions" :key="item.longName" :value="item.payorCode" :label="item.longName"> v-model="form.payorCode"
placeholder="请选择保险公司"
showSearch
allowClear
optionFilterProp="label"
>
<a-select-option
v-for="item in companyOptions"
:key="item.longName"
:value="item.payorCode"
:label="item.longName"
>
{{ item.longName }} {{ item.longName }}
</a-select-option> </a-select-option>
</a-select> </a-select>
...@@ -25,7 +45,11 @@ ...@@ -25,7 +45,11 @@
</a-col> </a-col>
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="寄送状态"> <a-form-model-item label="寄送状态">
<a-select v-model="form.sendSts" placeholder="请选择寄送状态" allowClear> <a-select
v-model="form.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>
...@@ -35,48 +59,83 @@ ...@@ -35,48 +59,83 @@
<a-row :gutter="30"> <a-row :gutter="30">
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="快递公司"> <a-form-model-item label="快递公司">
<a-select v-model="form.sendCompany" placeholder="请选择快递公司" showSearch allowClear> <a-select
<a-select-option v-for="(item) in expressList" :key="item.id" :value="item.descCh">{{item.descCh}}</a-select-option> v-model="form.sendCompany"
placeholder="请选择快递公司"
showSearch
allowClear
>
<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="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="快递单号"> <a-form-model-item label="快递单号">
<a-input v-model="form.trackingNo" placeholder="请输入快递单号" allow-clear /> <a-input
v-model="form.trackingNo"
placeholder="请输入快递单号"
allow-clear
/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="寄送批号"> <a-form-model-item label="寄送批号">
<a-input v-model="form.sendBatchNo" placeholder="请输入寄送批号" allow-clear /> <a-input
v-model="form.sendBatchNo"
placeholder="请输入寄送批号"
allow-clear
/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="账单编号"> <a-form-model-item label="账单编号">
<a-input v-model="form.receiptNo" placeholder="请输入账单编号" allow-clear /> <a-input
v-model="form.receiptNo"
placeholder="请输入账单编号"
allow-clear
/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="6" :sm="12"> <a-col :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 :lg="6" :sm="12"> <a-col :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 :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 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="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="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-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
...@@ -84,17 +143,28 @@ ...@@ -84,17 +143,28 @@
</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="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, index"> <template slot="operation" slot-scope="text, record, index">
<a-button type="link" @click.stop="editEvt(record, true)">编辑</a-button> <a-button type="link" @click.stop="editEvt(record, true)"
<a-button type="link" class="success" @click.stop="editEvt(record)">查看</a-button> >编辑</a-button
<a-button type="link" class="danger" @click.stop="delRecord(index)">删除</a-button> >
<a-button type="link" class="success" @click.stop="editEvt(record)"
>查看</a-button
>
<a-button type="link" class="danger" @click.stop="delRecord(index)"
>删除</a-button
>
</template> </template>
</a-table> </a-table>
<!--分页--> <!--分页-->
...@@ -103,30 +173,53 @@ ...@@ -103,30 +173,53 @@
</template> </template>
<script> <script>
import BurtPagination from "@/components/Customers/pagation"; import BurtPagination from '@/components/Customers/pagation'
import moment from 'moment' import moment from 'moment'
export default { export default {
data() { data() {
const columns = [ const columns = [
{ title: "寄送批号", dataIndex: "sendBatchNo", key:"sendBatchNo",align:'center', width: 136}, {
{ title: "保险公司", dataIndex: "payorName", width: 110 }, title: '寄送批号',
{ title: "寄送状态", dataIndex: "sendSts", width: 90,scopedSlots: { customRender: "sendSts" } }, dataIndex: 'sendBatchNo',
{ title: "寄送日期", dataIndex: "sendDate",width: 130,scopedSlots: { customRender: "sendDate" }}, key: 'sendBatchNo',
{ title: "快递单号",dataIndex: "trackingNo",width: 180,}, align: 'center',
{ title: "寄送备注", dataIndex: "sendRemark", width: 100 }, width: 136
{ title: "操作", key: "operation", width: "200px",fixed: "right",scopedSlots: { customRender: "operation" }, align: "center"}, },
]; { title: '保险公司', dataIndex: 'payorName', width: 110 },
{
title: '寄送状态',
dataIndex: 'sendSts',
width: 90,
scopedSlots: { customRender: 'sendSts' }
},
{
title: '寄送日期',
dataIndex: 'sendDate',
width: 130,
scopedSlots: { customRender: 'sendDate' }
},
{ title: '快递单号', dataIndex: 'trackingNo', width: 180 },
{ title: '寄送备注', dataIndex: 'sendRemark', width: 100 },
{
title: '操作',
key: 'operation',
width: '200px',
fixed: 'right',
scopedSlots: { customRender: 'operation' },
align: 'center'
}
]
return { return {
loading: false, loading: false,
columns, columns,
form: { form: {
dateRange: [], dateRange: [],
billDate:[], billDate: [],
payorCode: '', payorCode: '',
sendBatchNo: '', sendBatchNo: '',
sendCompany: '', sendCompany: '',
trackingNo: '', trackingNo: '',
sendSts: '', sendSts: ''
}, },
companyOptions: [], //保险公司 companyOptions: [], //保险公司
expressList: [], //快递列表 expressList: [], //快递列表
...@@ -134,26 +227,26 @@ export default { ...@@ -134,26 +227,26 @@ export default {
pagination: { pagination: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
total: 0, total: 0
}, },
iscreated:false iscreated: false
}; }
}, },
components: { components: {
BurtPagination, BurtPagination
}, },
created() { created() {
this.iscreated = true this.iscreated = true
this.getData(); this.getData()
this._getCompanyOptions(); this._getCompanyOptions()
this.getRefcdByRefgrp(); this.getRefcdByRefgrp()
}, },
activated(){ activated() {
if(!this.iscreated){ if (!this.iscreated) {
this.getData(); this.getData()
this._getCompanyOptions(); this._getCompanyOptions()
this.getRefcdByRefgrp(); this.getRefcdByRefgrp()
}else{ } else {
this.iscreated = false this.iscreated = false
} }
}, },
...@@ -165,94 +258,104 @@ export default { ...@@ -165,94 +258,104 @@ export default {
pageNum: this.pagination.pageNum, pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize, pageSize: this.pagination.pageSize,
...this.form, ...this.form,
visitTimeStart: this.form.dateRange[0]?moment(this.form.dateRange[0]).format('YYYY-MM-DD 00:00:00'):'', visitTimeStart: this.form.dateRange[0]
visitTimeEnd: this.form.dateRange[1]?moment(this.form.dateRange[1]).format('YYYY-MM-DD 00:00:00'):'', ? moment(this.form.dateRange[0]).format('YYYY-MM-DD 00:00:00')
receiptEndDate: this.form.billDate[1] ? moment(this.form.billDate[1]).format('YYYY-MM-DD 00:00:00'):'', : '',
receiptStartDate: this.form.billDate[0] ? moment(this.form.billDate[0]).format('YYYY-MM-DD 00:00:00'):'' visitTimeEnd: this.form.dateRange[1]
? moment(this.form.dateRange[1]).format('YYYY-MM-DD 00:00:00')
: '',
receiptEndDate: this.form.billDate[1]
? moment(this.form.billDate[1]).format('YYYY-MM-DD 00:00:00')
: '',
receiptStartDate: this.form.billDate[0]
? moment(this.form.billDate[0]).format('YYYY-MM-DD 00:00:00')
: ''
} }
delete filter.dateRange; delete filter.dateRange
this.$apis.querySendInfoList(filter) this.$apis.querySendInfoList(filter).then((res) => {
.then((res) => { if (res.returnCode == '0000') {
if (res.returnCode == "0000") { let content = res.content || {}
let content = res.content || {}; this.pagination.total = content.total || 0
this.pagination.total = content.total || 0; this.dataList = content.list || []
this.dataList = content.list || [];
} else { } else {
this.$message.error(res.returnMsg); this.$message.error(res.returnMsg)
} }
}); })
}, },
// 获取保险公司下拉选项 // 获取保险公司下拉选项
_getCompanyOptions() { _getCompanyOptions() {
this.$apis.getCompanyOptions().then((res) => { this.$apis.getCompanyOptions().then((res) => {
this.companyOptions = res.content || []; this.companyOptions = res.content || []
}); })
}, },
// 获取快递列表 // 获取快递列表
getRefcdByRefgrp() { getRefcdByRefgrp() {
this.$apis.getRefcdByRefgrp({ this.$apis
modid: "CI", .getRefcdByRefgrp({
refgrp: "SEND_COMPANY" modid: 'CI',
}).then((res) => { refgrp: 'SEND_COMPANY'
this.expressList = res.content || []; })
}); .then((res) => {
this.expressList = res.content || []
})
}, },
// 重置 // 重置
handlerReset() { handlerReset() {
this.form = { this.form = {
dateRange: [], dateRange: [],
billDate:[], billDate: [],
payorCode: '', payorCode: '',
sendBatchNo: '', sendBatchNo: '',
sendCompany: '', sendCompany: '',
trackingNo: '', trackingNo: '',
sendSts: '', sendSts: ''
} }
}, },
//编辑 //编辑
editEvt(record, isEdit) { editEvt(record, isEdit) {
const { sendBatchNo } = record; const { sendBatchNo } = record
localStorage.setItem('jisongDataDetail', JSON.stringify(record)); localStorage.setItem('jisongDataDetail', JSON.stringify(record))
this.$router.push({ this.$router.push({
path: "/charge-query/lpjManageDetail", path: '/charge-query/lpjManageDetail',
query: { sendBatchNo, isEdit }, query: { sendBatchNo, isEdit }
}); })
}, },
handlerSearch() { handlerSearch() {
this.pagination.pageNum = 1; this.pagination.pageNum = 1
this.getData(); this.getData()
}, },
//删除 //删除
delRecord(index) { delRecord(index) {
this.$modal.confirm({ this.$modal.confirm({
title: "删除", title: '删除',
content: "确定删除该条记录?", content: '确定删除该条记录?',
okText: "确定", okText: '确定',
cancelText: "取消", cancelText: '取消',
onOk: () => { onOk: () => {
this.$apis.DeleteReceiptSendInfo({ this.$apis
sendBatchNo: this.dataList[index].sendBatchNo, .DeleteReceiptSendInfo({
sendBatchNo: this.dataList[index].sendBatchNo
}) })
.then((res) => { .then((res) => {
if (res.returnCode == "0000") { if (res.returnCode == '0000') {
this.$message.success("删除成功"); this.$message.success('删除成功')
this.dataList.splice(index, 1); this.dataList.splice(index, 1)
} else { } else {
this.$message.error(res.returnMsg); this.$message.error(res.returnMsg)
} }
}); })
}, }
}); })
}, },
//新建寄送 //新建寄送
addNewCharge(){ addNewCharge() {
this.$router.push({ this.$router.push({
path: '/charge-query/lpjManageDetail', path: '/charge-query/lpjManageDetail',
query: { isEdit: true }, query: { isEdit: true }
}) })
} }
}, }
}; }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.none-label { .none-label {
...@@ -264,7 +367,7 @@ export default { ...@@ -264,7 +367,7 @@ export default {
.ant-btn .icon-class { .ant-btn .icon-class {
.mg-r(10); .mg-r(10);
} }
.btn-div{ .btn-div {
justify-content: space-between; justify-content: space-between;
} }
</style> </style>
...@@ -196,6 +196,16 @@ ...@@ -196,6 +196,16 @@
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<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.admissionDateStart"
:placeholder="['选择开始日期', '选择结束日期']"
/>
</a-form-model-item>
</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">
...@@ -468,6 +478,12 @@ export default { ...@@ -468,6 +478,12 @@ export default {
fixed: 'left', fixed: 'left',
width: 120 width: 120
}, },
{
title: '就诊日期',
dataIndex: 'admissionDate',
fixed: 'left',
width: 120
},
{ {
title: '病历号', title: '病历号',
dataIndex: 'mrnNo', dataIndex: 'mrnNo',
...@@ -731,8 +747,15 @@ export default { ...@@ -731,8 +747,15 @@ export default {
handlerSearch() { handlerSearch() {
this.pagination.pageNum = 1 this.pagination.pageNum = 1
let visitTimeStart = this.searchForm.visitTimeStart || [] let visitTimeStart = this.searchForm.visitTimeStart || []
let admissionDateStart = this.searchForm.admissionDateStart || []
this.searchData = this.$lodash.cloneDeep({ this.searchData = this.$lodash.cloneDeep({
...this.searchForm, ...this.searchForm,
admissionDateStart: admissionDateStart[0]
? admissionDateStart[0] + ' 00:00:00'
: undefined,
admissionDateEnd: admissionDateStart[0]
? admissionDateStart[0] + ' 23:59:59'
: undefined,
visitTimeEnd: visitTimeStart[1] visitTimeEnd: visitTimeStart[1]
? visitTimeStart[1] + ' 23:59:59' ? visitTimeStart[1] + ' 23:59:59'
: undefined, : undefined,
......
...@@ -284,6 +284,16 @@ ...@@ -284,6 +284,16 @@
/> />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="6" :sm="12" v-if="activeKey1 === '1'">
<a-form-model-item label="就诊日期">
<a-range-picker
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
v-model="searchForm.admissionDateStart"
:placeholder="['选择开始日期', '选择结束日期']"
/>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12" v-if="activeKey1 === '1'"> <a-col :lg="6" :sm="12" v-if="activeKey1 === '1'">
<a-form-model-item label="" class="mar_l40"> <a-form-model-item label="" class="mar_l40">
<a-checkbox <a-checkbox
...@@ -541,6 +551,12 @@ export default { ...@@ -541,6 +551,12 @@ export default {
width: 180, width: 180,
scopedSlots: { customRender: 'patientName' } scopedSlots: { customRender: 'patientName' }
}, },
{
title: '就诊日期',
dataIndex: 'admissionDate',
ellipsis: true,
width: 160
},
{ title: '病历号', dataIndex: 'mrnNo', ellipsis: true, width: 195 }, { title: '病历号', dataIndex: 'mrnNo', ellipsis: true, width: 195 },
{ {
title: '保险公司', title: '保险公司',
...@@ -903,6 +919,7 @@ export default { ...@@ -903,6 +919,7 @@ export default {
// 全选 // 全选
selectAllList() { selectAllList() {
let billDate = this.searchForm.billDate || [] let billDate = this.searchForm.billDate || []
let admissionDateStart = this.searchForm.admissionDateStart || []
this.$apis this.$apis
.queryReceiptInfoList({ .queryReceiptInfoList({
pageNum: 1, pageNum: 1,
...@@ -911,7 +928,13 @@ export default { ...@@ -911,7 +928,13 @@ export default {
payorCode: this.form.payorCode, payorCode: this.form.payorCode,
...this.searchForm, ...this.searchForm,
receiptEndDate: billDate[1] ? billDate[1] + ' 23:59:59' : undefined, receiptEndDate: billDate[1] ? billDate[1] + ' 23:59:59' : undefined,
receiptStartDate: billDate[0] ? billDate[0] + ' 00:00:00' : undefined receiptStartDate: billDate[0] ? billDate[0] + ' 00:00:00' : undefined,
admissionDateStart: admissionDateStart[0]
? admissionDateStart[0] + ' 00:00:00'
: undefined,
admissionDateEnd: admissionDateStart[1]
? admissionDateStart[1] + ' 23:59:59'
: undefined
}) })
.then((res) => { .then((res) => {
if (res.returnCode == '0000') { if (res.returnCode == '0000') {
...@@ -1009,6 +1032,7 @@ export default { ...@@ -1009,6 +1032,7 @@ export default {
return return
} }
let billDate = this.searchForm.billDate || [] let billDate = this.searchForm.billDate || []
let admissionDateStart = this.searchForm.admissionDateStart || []
this.$apis this.$apis
.queryBackReceiptList({ .queryBackReceiptList({
pageNum: 1, pageNum: 1,
...@@ -1016,7 +1040,13 @@ export default { ...@@ -1016,7 +1040,13 @@ export default {
backMoneyNo: this.backMoneyNo, backMoneyNo: this.backMoneyNo,
...this.searchForm, ...this.searchForm,
receiptEndDate: billDate[1] ? billDate[1] + ' 23:59:59' : undefined, receiptEndDate: billDate[1] ? billDate[1] + ' 23:59:59' : undefined,
receiptStartDate: billDate[0] ? billDate[0] + ' 00:00:00' : undefined receiptStartDate: billDate[0] ? billDate[0] + ' 00:00:00' : undefined,
admissionDateStart: admissionDateStart[0]
? admissionDateStart[0] + ' 00:00:00'
: undefined,
admissionDateEnd: admissionDateStart[1]
? admissionDateStart[1] + ' 23:59:59'
: undefined
}) })
.then((res) => { .then((res) => {
if (res.returnCode == '0000') { if (res.returnCode == '0000') {
...@@ -1030,6 +1060,12 @@ export default { ...@@ -1030,6 +1060,12 @@ export default {
: undefined, : undefined,
receiptStartDate: billDate[0] receiptStartDate: billDate[0]
? billDate[0] + ' 00:00:00' ? billDate[0] + ' 00:00:00'
: undefined,
admissionDateStart: admissionDateStart[0]
? admissionDateStart[0] + ' 00:00:00'
: undefined,
admissionDateEnd: admissionDateStart[1]
? admissionDateStart[1] + ' 23:59:59'
: undefined : undefined
}) })
const list = res.content.list || [] const list = res.content.list || []
...@@ -1049,6 +1085,7 @@ export default { ...@@ -1049,6 +1085,7 @@ export default {
// 获取所有账单 // 获取所有账单
_getNewEOBList() { _getNewEOBList() {
let billDate = this.searchForm.billDate || [] let billDate = this.searchForm.billDate || []
let admissionDateStart = this.searchForm.admissionDateStart || []
this.$apis this.$apis
.queryReceiptInfoList({ .queryReceiptInfoList({
pageNum: this.pagination.pageNum, pageNum: this.pagination.pageNum,
...@@ -1057,7 +1094,13 @@ export default { ...@@ -1057,7 +1094,13 @@ export default {
payorCode: this.form.payorCode, payorCode: this.form.payorCode,
...this.searchForm, ...this.searchForm,
receiptEndDate: billDate[1] ? billDate[1] + ' 23:59:59' : undefined, receiptEndDate: billDate[1] ? billDate[1] + ' 23:59:59' : undefined,
receiptStartDate: billDate[0] ? billDate[0] + ' 00:00:00' : undefined receiptStartDate: billDate[0] ? billDate[0] + ' 00:00:00' : undefined,
admissionDateStart: admissionDateStart[0]
? admissionDateStart[0] + ' 00:00:00'
: undefined,
admissionDateEnd: admissionDateStart[1]
? admissionDateStart[1] + ' 23:59:59'
: undefined
}) })
.then((res) => { .then((res) => {
if (res.returnCode == '0000') { if (res.returnCode == '0000') {
...@@ -1072,6 +1115,12 @@ export default { ...@@ -1072,6 +1115,12 @@ export default {
: undefined, : undefined,
receiptStartDate: billDate[0] receiptStartDate: billDate[0]
? billDate[0] + ' 00:00:00' ? billDate[0] + ' 00:00:00'
: undefined,
admissionDateStart: admissionDateStart[0]
? admissionDateStart[0] + ' 00:00:00'
: undefined,
admissionDateEnd: admissionDateStart[1]
? admissionDateStart[1] + ' 23:59:59'
: undefined : undefined
}) })
let content = res.content || {} let content = res.content || {}
......
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