Commit defa0e33 authored by 任鸿志's avatar 任鸿志

fix(settle): 优化结算流程和逻辑

- 修改了医保个账支付的输入框样式
- 优化了结算类型切换的逻辑
- 增加了慢病和省职未审核时禁止结算的提示
- 调整了结算金额的计算方式
- 优化了对话框的显示逻辑
parent 2c36ab9f
...@@ -141,7 +141,19 @@ ...@@ -141,7 +141,19 @@
><span style="color: #666666" ><span style="color: #666666"
>( 姓名:{{ patientData.name }} <span style="margin: 0px 10px"> 门诊号码: {{ patientData.patient_id }} </span>病人ID:{{ patientData.id_card }} >( 姓名:{{ patientData.name }} <span style="margin: 0px 10px"> 门诊号码: {{ patientData.patient_id }} </span>病人ID:{{ patientData.id_card }}
<span style="color: red">{{man_name=='1'?'自费':man_name=='2'?'门诊统筹':man_name=='3'?'医保个账':man_name=='4'?'门诊慢性病':selectTableArr[0] ? selectTableArr[0].settle_type.name : '' }}</span> <span style="color: red">{{
man_name == '1'
? '自费'
: man_name == '2'
? '门诊统筹'
: man_name == '3'
? '医保个账'
: man_name == '4'
? '门诊慢性病'
: selectTableArr[0]
? selectTableArr[0].settle_type.name
: ''
}}</span>
</span> </span>
<span style="margin-left: 10px">{{ this.channels }}</span> <span style="margin-left: 10px">{{ this.channels }}</span>
</div> </div>
...@@ -367,13 +379,7 @@ ...@@ -367,13 +379,7 @@
<el-form-item> <el-form-item>
<div class="form_item"> <div class="form_item">
<el-tag class="label" color="#E7EEFF" style="color: #1a5bfd; font-weight: 600"><span>医保个账支付</span></el-tag> <el-tag class="label" color="#E7EEFF" style="color: #1a5bfd; font-weight: 600"><span>医保个账支付</span></el-tag>
<el-input <el-input v-model="bxxxinfo.grzhzf" @input="gjzhifu()" @blur="grzhzfBlur()" type="number" :disabled="form.insurance_type == 'LONGDISTANCE'"></el-input>
v-model="bxxxinfo.grzhzf"
@input="gjzhifu()"
@blur="grzhzfBlur()"
type="number"
:disabled="form.insurance_type == 'LONGDISTANCE'"
></el-input>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -636,7 +642,7 @@ export default { ...@@ -636,7 +642,7 @@ export default {
name: 'Outpatient', name: 'Outpatient',
data() { data() {
return { return {
is_sy:false, is_sy: false,
saveLoding: false, saveLoding: false,
invoicepostData: {}, invoicepostData: {},
invoicepostVisible: false, invoicepostVisible: false,
...@@ -692,7 +698,6 @@ export default { ...@@ -692,7 +698,6 @@ export default {
label: '医保个账', label: '医保个账',
}, },
{ {
value: '1', value: '1',
label: '自费', label: '自费',
...@@ -1054,10 +1059,7 @@ export default { ...@@ -1054,10 +1059,7 @@ export default {
let chongzhi = this.source_pay_amount * 1 + this.xj_amount * 1 let chongzhi = this.source_pay_amount * 1 + this.xj_amount * 1
this.form.djf = this.form.djf =
// this.round( // this.round(
this.round( this.round(this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2) - chongzhi, 2)
this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2) - chongzhi,
2,
)
// - this.bxxxinfo.personal_pay_syd,2) // - this.bxxxinfo.personal_pay_syd,2)
// this.round( // - chongzhi, // this.round( // - chongzhi,
// 2, // 2,
...@@ -1388,7 +1390,7 @@ export default { ...@@ -1388,7 +1390,7 @@ export default {
}, },
//选中左边处方,展示右边方法 //选中左边处方,展示右边方法
seletei(e) { seletei(e) {
this.man_name='' this.man_name = ''
let searchByFind = this.tableData.cost.filter(item => item.settle_type.name === e) let searchByFind = this.tableData.cost.filter(item => item.settle_type.name === e)
let arr = [] let arr = []
for (let index = 0; index < searchByFind.length; index++) { for (let index = 0; index < searchByFind.length; index++) {
...@@ -1693,7 +1695,7 @@ export default { ...@@ -1693,7 +1695,7 @@ export default {
}, },
//调取待结算清单 //调取待结算清单
getWaiting(e) { getWaiting(e) {
this.man_name='' this.man_name = ''
var that = this var that = this
this.is_sy = false this.is_sy = false
this.gz_name = false this.gz_name = false
...@@ -1730,7 +1732,7 @@ export default { ...@@ -1730,7 +1732,7 @@ export default {
} }
}) })
// 医技预约channel=4不走审核 // 医技预约channel=4不走审核
if ((!this.ismb && this.man_name !='1') || this.channel == '4') { if ((!this.ismb && this.man_name != '1') || this.channel == '4') {
if (this.orders.length > 0) { if (this.orders.length > 0) {
this.ybjs() this.ybjs()
} else { } else {
...@@ -1798,7 +1800,7 @@ export default { ...@@ -1798,7 +1800,7 @@ export default {
this.carddialogFormVisible = true this.carddialogFormVisible = true
}, },
ybjs() { ybjs() {
if (this.checktipes() && this.man_name !='1' || this.man_name =='2') { if ((this.checktipes() && this.man_name != '1') || this.man_name == '2') {
// this.yibaoshow = true // this.yibaoshow = true
this.yibaoshowNew = true this.yibaoshowNew = true
this.yujiesuanload = false this.yujiesuanload = false
...@@ -1910,7 +1912,7 @@ export default { ...@@ -1910,7 +1912,7 @@ export default {
} else { } else {
this.qrjs() this.qrjs()
} }
} else if ((this.ztvalue.value == 'SELF_PAY' || this.man_name == '1' )&& this.man_name != '2') { } else if ((this.ztvalue.value == 'SELF_PAY' || this.man_name == '1') && this.man_name != '2') {
this.selfPre() this.selfPre()
} else { } else {
this.qrjs() this.qrjs()
...@@ -2051,7 +2053,7 @@ export default { ...@@ -2051,7 +2053,7 @@ export default {
sy: this.is_sy, sy: this.is_sy,
source_type: this.payData?.targetSys, source_type: this.payData?.targetSys,
source_trade_no: this.payData?.tradeNo, source_trade_no: this.payData?.tradeNo,
is_gz: this.man_name=='3'?true:false, is_gz: this.man_name == '3' ? true : false,
channel: this.channel, channel: this.channel,
xj_amount: this.xj_amount, xj_amount: this.xj_amount,
source_pay_amount: this.source_pay_amount, source_pay_amount: this.source_pay_amount,
...@@ -2274,12 +2276,12 @@ export default { ...@@ -2274,12 +2276,12 @@ export default {
}, },
// 切换结算类型 // 切换结算类型
changePersonType(x) { changePersonType(x) {
if (this.form.insurance_type=='PROVINCE' || this.man_name=='4') { if (this.form.insurance_type == 'PROVINCE' || this.man_name == '4') {
this.$message({ this.$message({
message: '省职或慢病患者请到15号医保审核窗口,审核后缴费', message: '省职或慢病患者请到15号医保审核窗口,审核后缴费',
type: 'error', type: 'error',
}) })
this.man_name='' this.man_name = ''
return false return false
} }
...@@ -2317,7 +2319,7 @@ export default { ...@@ -2317,7 +2319,7 @@ export default {
get_zfbl({ get_zfbl({
item_code: row.item_code, item_code: row.item_code,
//yltclb:row.settle_type.is_mb==true?'4':'6', //yltclb:row.settle_type.is_mb==true?'4':'6',
rqlb:this.is_sy?'E': this.patientData.crowd_type, rqlb: this.is_sy ? 'E' : this.patientData.crowd_type,
//xzbz:row.settle_type.is_gs==true?'D':'C', //xzbz:row.settle_type.is_gs==true?'D':'C',
settle_type: row.settle_type.code, settle_type: row.settle_type.code,
}) })
...@@ -2390,6 +2392,7 @@ export default { ...@@ -2390,6 +2392,7 @@ export default {
} else { } else {
this.selectCardYiboPre(data, x, y, data?.mzdbjbs_arr[0]?.code) this.selectCardYiboPre(data, x, y, data?.mzdbjbs_arr[0]?.code)
} }
// 慢病未审核禁止结算
if (this.selectTableArr.some(item => item.reviewed != '1')) { if (this.selectTableArr.some(item => item.reviewed != '1')) {
this.$alert('存在未审核的收费项目,请审核后再进行结算!', '提示', { this.$alert('存在未审核的收费项目,请审核后再进行结算!', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
...@@ -2398,12 +2401,19 @@ export default { ...@@ -2398,12 +2401,19 @@ export default {
// type: 'info', // type: 'info',
// message: `action: ${ action }` // message: `action: ${ action }`
// }); // });
} },
})
});
return false return false
} }
} else { } else {
// 省职未审核禁止结算
if (this.selectTableArr.some(item => item.reviewed != '1') && this.form.insurance_type == 'PROVINCE') {
this.$alert('存在未审核的收费项目,请审核后再进行结算!', '提示', {
confirmButtonText: '确定',
callback: action => {},
})
return false
}
this.selectCardYiboPre(data, x, y, data?.mzdbjbs_arr[0]?.code) this.selectCardYiboPre(data, x, y, data?.mzdbjbs_arr[0]?.code)
} }
// if (data?.mzdbjbs_arr.length > 1 && this.selectTableArr[0]?.settle_type.is_mb) { // if (data?.mzdbjbs_arr.length > 1 && this.selectTableArr[0]?.settle_type.is_mb) {
...@@ -2421,8 +2431,8 @@ export default { ...@@ -2421,8 +2431,8 @@ export default {
}, },
// 医保预结算 // 医保预结算
selectCardYiboPre(data, x, y, zhenduan) { selectCardYiboPre(data, x, y, zhenduan) {
if (this.man_name=='2' || this.man_name=='3' || this.man_name=='1') { if (this.man_name == '2' || this.man_name == '3' || this.man_name == '1') {
zhenduan='' zhenduan = ''
} }
this.yujiesuanLoading = true this.yujiesuanLoading = true
this.xj_amount = 0 this.xj_amount = 0
...@@ -2437,7 +2447,7 @@ export default { ...@@ -2437,7 +2447,7 @@ export default {
settlementPre({ settlementPre({
sy: this.is_sy, sy: this.is_sy,
channel: this.channel, channel: this.channel,
is_gz: this.man_name=='3'?true:false, is_gz: this.man_name == '3' ? true : false,
injury_date: this.GSdatatime, injury_date: this.GSdatatime,
p_jbbm: this.selectTableArr[0]?.settle_type.is_mb ? zhenduan : '', p_jbbm: this.selectTableArr[0]?.settle_type.is_mb ? zhenduan : '',
patient_id: this.patientData.patient_id, patient_id: this.patientData.patient_id,
...@@ -2480,16 +2490,16 @@ export default { ...@@ -2480,16 +2490,16 @@ export default {
// console.log(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2),this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2), this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2), this.round(this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2) - this.bxxxinfo.personal_pay_syd,2),'oooooooooooooooooo') // console.log(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2),this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2), this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2), this.round(this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2) - this.bxxxinfo.personal_pay_syd,2),'oooooooooooooooooo')
this.bxxxinfo.grzhzf = 0 this.bxxxinfo.grzhzf = 0
let djf =this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2) //this.round(this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2) - this.bxxxinfo.personal_pay_syd,2) let djf = this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2) //this.round(this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2) - this.bxxxinfo.personal_pay_syd,2)
if (this.bxxxinfo.personal_balance >= djf) { if (this.bxxxinfo.personal_balance >= djf) {
this.bxxxinfo.grzhzf = djf this.bxxxinfo.grzhzf = djf
if ( this.form.insurance_type == 'LONGDISTANCE') { if (this.form.insurance_type == 'LONGDISTANCE') {
this.bxxxinfo.grzhzf = 0 this.bxxxinfo.grzhzf = 0
} }
} }
if (this.bxxxinfo.personal_balance < djf) { if (this.bxxxinfo.personal_balance < djf) {
this.bxxxinfo.grzhzf = this.bxxxinfo.personal_balance this.bxxxinfo.grzhzf = this.bxxxinfo.personal_balance
if ( this.form.insurance_type == 'LONGDISTANCE') { if (this.form.insurance_type == 'LONGDISTANCE') {
this.bxxxinfo.grzhzf = 0 this.bxxxinfo.grzhzf = 0
} }
if (res2.data.family_type != '1') { if (res2.data.family_type != '1') {
...@@ -2514,7 +2524,7 @@ export default { ...@@ -2514,7 +2524,7 @@ export default {
// console.log(this.bxxxinfo.his_deduct_amount, this.form.insurance_type, '++++++++++++') // console.log(this.bxxxinfo.his_deduct_amount, this.form.insurance_type, '++++++++++++')
this.form.djf =this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2) //this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2) this.form.djf = this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2) //this.round(this.round(this.round(this.bxxxinfo.patient_burden - this.bxxxinfo.gjzhzf, 2) - this.bxxxinfo.his_deduct_amount, 2) - this.bxxxinfo.grzhzf, 2)
// this.form.djf=0 // this.form.djf=0
console.log(this.form.djf, 'djf') console.log(this.form.djf, 'djf')
// 验证违规 // 验证违规
...@@ -2530,7 +2540,6 @@ export default { ...@@ -2530,7 +2540,6 @@ export default {
// this.weiguiData = response.data.result // this.weiguiData = response.data.result
// // this.ViolationShow = true // // this.ViolationShow = true
// } else { // } else {
// } // }
}) })
this.dialogVisible = true this.dialogVisible = true
...@@ -2554,7 +2563,12 @@ export default { ...@@ -2554,7 +2563,12 @@ export default {
this.xj_amount = 0 this.xj_amount = 0
this.source_pay_amount = 0 this.source_pay_amount = 0
this.form = {} this.form = {}
settleSelfPre({ patient_id: this.patientData.patient_id, prescription_nos: this.cost_id, settle_type: this.selectTableArr[0] ? this.selectTableArr[0].settle_type.code : '', channel: this.channel, }) settleSelfPre({
patient_id: this.patientData.patient_id,
prescription_nos: this.cost_id,
settle_type: this.selectTableArr[0] ? this.selectTableArr[0].settle_type.code : '',
channel: this.channel,
})
.then(res => { .then(res => {
this.yujiesuanLoading = false this.yujiesuanLoading = false
this.dialogVisible = true this.dialogVisible = true
......
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