pengjun 3 days ago
parent
commit
2f538945af
  1. 3
      src/components/doctorCheck/CheckItemList.vue
  2. 55
      src/views/charge/charge.vue

3
src/components/doctorCheck/CheckItemList.vue

@ -1220,9 +1220,6 @@ export default {
onContextmenuTemplate(event) { onContextmenuTemplate(event) {
if (!this.$peisAPI) return if (!this.$peisAPI) return
let menus = [ let menus = [
{ type: 'separator' },
{ label: '显示明细历次结果', itemId: '显示明细历次结果', enabled: true },
{ label: '预览影像报告', itemId: '预览影像报告', enabled: true }
// { label: '', itemId: '', enabled: true }, // { label: '', itemId: '', enabled: true },
// { // {
// label: '', // label: '',

55
src/views/charge/charge.vue

@ -37,15 +37,16 @@
<el-input placeholder="姓名" v-model="query.patientName" size="small" style="width: 100px;" <el-input placeholder="姓名" v-model="query.patientName" size="small" style="width: 100px;"
clearable /> clearable />
</div> </div>
<el-radio-group v-model="query.chargeFlag" @input="btnQuery" size="mini" style="margin-top:8px;margin-left: 21px;">
<el-radio-group v-model="query.chargeFlag" @input="btnQuery" size="mini"
style="margin-top:8px;margin-left: 21px;">
<el-radio label="N">未收费</el-radio> <el-radio label="N">未收费</el-radio>
<el-radio label="Y">已收费</el-radio> <el-radio label="Y">已收费</el-radio>
<el-radio label="B">已退费</el-radio> <el-radio label="B">已退费</el-radio>
</el-radio-group> </el-radio-group>
<div v-if="query.chargeFlag != 'N'" style="margin-left:21px;"> <div v-if="query.chargeFlag != 'N'" style="margin-left:21px;">
<span>发票号</span> <span>发票号</span>
<el-input placeholder="发票/收据号" v-model="query.invoiceNo" size="small"
style="width: 90px;" clearable />
<el-input placeholder="发票/收据号" v-model="query.invoiceNo" size="small" style="width: 90px;"
clearable />
</div> </div>
</div> </div>
<div> <div>
@ -117,18 +118,16 @@
<div style="display: flex; flex-wrap: wrap;height:40px; width: 100%;align-items: center;"> <div style="display: flex; flex-wrap: wrap;height:40px; width: 100%;align-items: center;">
<div class="query"> <div class="query">
<span>条码号</span> <span>条码号</span>
<el-input v-model="info.patientRegisterNo" size="small"
style="margin-left: 3px; width: 120px;" disabled />
<el-input v-model="info.patientRegisterNo" size="small" style="margin-left: 3px; width: 120px;"
disabled />
</div> </div>
<div class="query"> <div class="query">
<span>档案号</span> <span>档案号</span>
<el-input v-model="info.patientNo" size="small"
style="margin-left: 3px; width: 90px;" disabled />
<el-input v-model="info.patientNo" size="small" style="margin-left: 3px; width: 90px;" disabled />
</div> </div>
<div class="query"> <div class="query">
<span>姓名</span> <span>姓名</span>
<el-input v-model="info.patientName" size="small"
style="margin-left: 3px; width: 80px;" disabled />
<el-input v-model="info.patientName" size="small" style="margin-left: 3px; width: 80px;" disabled />
</div> </div>
</div> </div>
</div> </div>
@ -747,6 +746,7 @@ export default {
this.cardSeq = index this.cardSeq = index
this.cardDatas = [] // this.cardDatas = [] //
this.queryCard.value = '' this.queryCard.value = ''
this.cardChoosed = {}
this.winDialog.queryCard = true // this.winDialog.queryCard = true //
}, },
@ -778,6 +778,10 @@ export default {
// //
btnOkCard() { btnOkCard() {
if(!this.cardChoosed.id){
this.$message.warning({showClose:true,message:'请选择会员卡'})
return
}
// //
let lfind = arrayExistObj(this.chargePays, 'cardRegisterId', this.cardChoosed.id) let lfind = arrayExistObj(this.chargePays, 'cardRegisterId', this.cardChoosed.id)
if (lfind > -1) { if (lfind > -1) {
@ -971,7 +975,7 @@ export default {
}); });
//this.form.preTotal = totalPlan; //this.form.preTotal = totalPlan;
// //
this.handleBalance(totalPlan, totalCompute);
this.handleBalance(totalPlan, Math.round(100 * totalCompute) / 100);
this.findBalance() this.findBalance()
}, },
@ -979,11 +983,20 @@ export default {
// //
handleBalance(totalPlan, totalCompute) { handleBalance(totalPlan, totalCompute) {
if (totalPlan != totalCompute) { if (totalPlan != totalCompute) {
for (let i = this.selectedData.length - 1; i = 0; i--) {
lfind = lfind = arrayExistObj(this.asbItemsForFee, 'id', this.selectedData[i].id);
if (lfind > -1 && this.selectedData[i].amount == 1) {
this.asbItemsForFee[lfind].chargePrice = this.asbItemsForFee[lfind].chargePrice + totalPlan - totalCompute;
this.selectedData[i].chargePrice = this.asbItemsForFee[lfind].chargePrice;
//console.log('', totalPlan, totalCompute, this.selectedData)
for (let i = this.selectedData.length - 1; i >= 0; i--) {
// lfind = arrayExistObj(this.asbItemsForFee, 'id', this.selectedData[i].id);
// if (lfind > -1 && this.selectedData[i].amount == 1) {
// this.asbItemsForFee[lfind].chargePrice = this.asbItemsForFee[lfind].chargePrice + totalPlan - totalCompute;
// this.selectedData[i].chargePrice = this.asbItemsForFee[lfind].chargePrice;
// break;
// }
//console.log('this.selectedData[i].amount', this.selectedData[i].amount)
if (this.selectedData[i].amount == 1) {
let chargePrice = this.selectedData[i].chargePrice
this.selectedData[i].chargePrice = Math.round((Number(chargePrice) + Number(totalPlan) - totalCompute)*100)/100 ;
this.selectedData[i].discount = Math.round(this.selectedData[i].chargePrice * 10000/this.selectedData[i].standardPrice)/100
//console.log(' ', i, chargePrice, this.selectedData[i].chargePrice)
break; break;
} }
} }
@ -1111,7 +1124,7 @@ export default {
this.$message.warning("收费方式合计收款不可小于应收金额!"); this.$message.warning("收费方式合计收款不可小于应收金额!");
return; return;
} }
let chargeMoney = 0
this.chargePays.forEach(e => { this.chargePays.forEach(e => {
if (e.chargeMoney) { if (e.chargeMoney) {
if (e.payModeId == '01') { if (e.payModeId == '01') {
@ -1128,9 +1141,12 @@ export default {
cardRegisterId: e.cardRegisterId, cardRegisterId: e.cardRegisterId,
}); });
} }
chargeMoney += e.chargeMoney
} }
}); });
let detailsTotal = 0
this.selectedData.forEach(e => { this.selectedData.forEach(e => {
asbitems.push({ asbitems.push({
asbitemId: e.asbitemId, asbitemId: e.asbitemId,
@ -1138,8 +1154,15 @@ export default {
amount: e.amount, amount: e.amount,
registerAsbitemId: e.id, registerAsbitemId: e.id,
}); });
detailsTotal += Math.round(100 * e.amount * e.chargePrice) / 100
}); });
if (Math.round(chargeMoney * 100) / 100 !== Math.round(detailsTotal * 100) / 100) {
this.$message.warning({ showClose: true, message: `明细合计 ${Math.round(detailsTotal * 100) / 100} 与 总金额 ${Math.round(chargeMoney * 100) / 100} 不一致` })
return
}
body = { body = {
patientRegisterId: this.form.patientRegisterId, patientRegisterId: this.form.patientRegisterId,
invoiceNo: this.form.invoiceNo, invoiceNo: this.form.invoiceNo,

Loading…
Cancel
Save