|
|
|
@ -85,7 +85,7 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="mainareaBox"> |
|
|
|
<el-table :data="prAsb" highlight-current-row border ref="patientRegister_patientRegisterAbs" style="border-radius: 5px;" |
|
|
|
<el-table :data="dataTransOpts.tableM.register_check_asbitem" highlight-current-row border ref="patientRegister_patientRegisterAbs" style="border-radius: 5px;" |
|
|
|
:height="(window.pageHeight > 700 ? (window.pageHeight - 440) : 260)" width="100%" :summary-method="getSummaries" |
|
|
|
show-summary :row-class-name="handleRowClassName" @row-dblclick="removeAbs" @selection-change="selecteditems" size="small" |
|
|
|
@row-click="removeAsbItem"> |
|
|
|
@ -264,7 +264,7 @@ export default { |
|
|
|
this.packageAsbs = [] |
|
|
|
|
|
|
|
let result = await proApi.getPrAsb(id) |
|
|
|
this.prAsb = result.data |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem = result.data |
|
|
|
this.refreshAsbitem() |
|
|
|
}, |
|
|
|
|
|
|
|
@ -272,8 +272,8 @@ export default { |
|
|
|
async copyNew(){ |
|
|
|
if(this.oldFormId){ |
|
|
|
let result = await proApi.getPrAsb(this.oldFormId) |
|
|
|
this.prAsb = result.data |
|
|
|
this.prAsb.forEach(e => { |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem = result.data |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { |
|
|
|
e.id = ''; |
|
|
|
e.patientRegisterId = ''; |
|
|
|
e.isCharge = 'N'; |
|
|
|
@ -287,7 +287,7 @@ export default { |
|
|
|
// 刷新未选组合项目 |
|
|
|
refreshAsbitem(){ |
|
|
|
let asbItemAll = deepCopy(this.asbItemAll) |
|
|
|
let choosedAsb = this.prAsb.filter(e => { |
|
|
|
let choosedAsb = this.dataTransOpts.tableM.register_check_asbitem.filter(e => { |
|
|
|
return e.checkCompleteFlag == '0' || !(e.checkCompleteFlag) |
|
|
|
}) // 如果已经检查,则可以重新选进来(复查) |
|
|
|
|
|
|
|
@ -359,31 +359,31 @@ export default { |
|
|
|
|
|
|
|
//选择 已选的组合项目 |
|
|
|
removeAsbItem(row){ |
|
|
|
this.prAsb.forEach((e,index) => { |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach((e,index) => { |
|
|
|
e.index = index; |
|
|
|
return e |
|
|
|
}); |
|
|
|
// 按住了shift键 |
|
|
|
if (this.window.shift) { |
|
|
|
//清除所有选择 |
|
|
|
this.prAsb.forEach(e => { |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { |
|
|
|
e.choosed = false; |
|
|
|
return e |
|
|
|
}); |
|
|
|
|
|
|
|
if (this.PstartPoint == - 1) { |
|
|
|
this.prAsb[row.index].choosed = true; |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[row.index].choosed = true; |
|
|
|
this.PstartPoint = row.index; |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
if (this.PstartPoint > row.index) { |
|
|
|
for (let i = row.index; i <= this.PstartPoint; i++) { |
|
|
|
this.prAsb[i].choosed = true |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].choosed = true |
|
|
|
} |
|
|
|
} else if (this.PstartPoint <= row.index) { |
|
|
|
for (let i = this.PstartPoint; i <= row.index; i++) { |
|
|
|
this.prAsb[i].choosed = true |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].choosed = true |
|
|
|
} |
|
|
|
} |
|
|
|
return |
|
|
|
@ -392,7 +392,7 @@ export default { |
|
|
|
// 按住了ctrl 键 |
|
|
|
if (this.window.ctrl) { |
|
|
|
console.log('this.window.ctrl',this.window.ctrl,this.prAsb) |
|
|
|
this.prAsb[row.index].choosed = true; |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[row.index].choosed = true; |
|
|
|
this.PstartPoint = row.index; |
|
|
|
return |
|
|
|
} |
|
|
|
@ -400,11 +400,11 @@ export default { |
|
|
|
// 未按住了ctrl 、shift 键 |
|
|
|
//清除所有选择 |
|
|
|
//console.log('清除所有选择') |
|
|
|
this.prAsb.forEach(e => { |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { |
|
|
|
e.choosed = false; |
|
|
|
return e |
|
|
|
}); |
|
|
|
this.prAsb[row.index].choosed = true; |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[row.index].choosed = true; |
|
|
|
this.PstartPoint = row.index; |
|
|
|
|
|
|
|
}, |
|
|
|
@ -500,7 +500,7 @@ export default { |
|
|
|
let pojo = { |
|
|
|
asbitemId: asbItemChoosed[i].id, |
|
|
|
asbitemName: asbItemChoosed[i].displayName, |
|
|
|
patientRegisterId: this.prForm.id, |
|
|
|
patientRegisterId: this.prForm.id||this.dict.personOrgId, |
|
|
|
standardPrice: asbItemChoosed[i].price, |
|
|
|
chargePrice: asbItemChoosed[i].price, |
|
|
|
payTypeFlag, |
|
|
|
@ -510,7 +510,7 @@ export default { |
|
|
|
amount: 1, |
|
|
|
total: asbItemChoosed[i].price, |
|
|
|
} |
|
|
|
this.prAsb.push(pojo) |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.push(pojo) |
|
|
|
} |
|
|
|
|
|
|
|
this.refreshAsbitem() |
|
|
|
@ -533,7 +533,7 @@ export default { |
|
|
|
|
|
|
|
let registerAsbitems = [] |
|
|
|
|
|
|
|
this.prAsb.forEach(e => { |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { |
|
|
|
if(!e.id){ |
|
|
|
registerAsbitems.push({ |
|
|
|
asbitemId: e.asbitemId, |
|
|
|
@ -573,7 +573,7 @@ export default { |
|
|
|
let body = [] |
|
|
|
|
|
|
|
|
|
|
|
this.prAsb.forEach(e => { |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { |
|
|
|
if(e.id){ |
|
|
|
body.push({ |
|
|
|
registerAsbitemId:e.id, |
|
|
|
@ -633,7 +633,7 @@ export default { |
|
|
|
absForDel = deepCopy(this.prAsb) |
|
|
|
}else if(oprType && oprType == 'choosed'){ |
|
|
|
absForDel = [] |
|
|
|
this.prAsb.forEach(e =>{ |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach(e =>{ |
|
|
|
if(e.choosed){ |
|
|
|
absForDel.push(e) |
|
|
|
e.choosed = false |
|
|
|
@ -654,7 +654,7 @@ export default { |
|
|
|
}else{ |
|
|
|
lfind = arrayExistObj(this.prAsb, 'asbitemId', e.asbitemId) |
|
|
|
if(lfind > -1){ |
|
|
|
tempRd = Object.assign({},this.prAsb.splice(lfind,1)[0]) |
|
|
|
tempRd = Object.assign({}, this.dataTransOpts.tableM.register_check_asbitem.splice(lfind,1)[0]) |
|
|
|
if(e.id) this.prAsbDels.push(tempRd) |
|
|
|
} |
|
|
|
} |
|
|
|
@ -746,25 +746,25 @@ export default { |
|
|
|
|
|
|
|
if (this.prForm.customerOrgId != this.dict.personOrgId) payTypeFlag = '1' //单位支付 |
|
|
|
|
|
|
|
for(let i = this.prAsb.length - 1;i>-1;i--){ |
|
|
|
lfind = arrayExistObj(this.groupAsbs,'asbitemId',this.prAsb[i].asbitemId) |
|
|
|
for(let i = this.dataTransOpts.tableM.register_check_asbitem.length - 1;i>-1;i--){ |
|
|
|
lfind = arrayExistObj(this.groupAsbs,'asbitemId', this.dataTransOpts.tableM.register_check_asbitem[i].asbitemId) |
|
|
|
if(lfind > -1){ |
|
|
|
//找到了则更新此项目 |
|
|
|
tempRd = Object.assign({},this.groupAsbs.splice(lfind,1)[0]) |
|
|
|
this.prAsb[i].groupPackageId = newId |
|
|
|
if(this.prAsb[i].isCharge != 'Y'){ |
|
|
|
this.prAsb[i].payTypeFlag = payTypeFlag |
|
|
|
this.prAsb[i].amount = tempRd.customerOrgGroupDetailAmount |
|
|
|
this.prAsb[i].standardPrice = tempRd.price |
|
|
|
this.prAsb[i].chargePrice = tempRd.customerOrgGroupDetailPrice |
|
|
|
this.prAsb[i].discount = tempRd.discount |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = newId |
|
|
|
if( this.dataTransOpts.tableM.register_check_asbitem[i].isCharge != 'Y'){ |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].payTypeFlag = payTypeFlag |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].amount = tempRd.customerOrgGroupDetailAmount |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].standardPrice = tempRd.price |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].chargePrice = tempRd.customerOrgGroupDetailPrice |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].discount = tempRd.discount |
|
|
|
} |
|
|
|
}else{ |
|
|
|
//没找到则移除此项目 |
|
|
|
if(this.prAsb[i].isCharge == 'Y' || (this.prAsb[i].checkCompleteFlag && this.prAsb[i].checkCompleteFlag != '0')){ |
|
|
|
this.prAsb[i].groupPackageId = null |
|
|
|
if( this.dataTransOpts.tableM.register_check_asbitem[i].isCharge == 'Y' || ( this.dataTransOpts.tableM.register_check_asbitem[i].checkCompleteFlag && this.dataTransOpts.tableM.register_check_asbitem[i].checkCompleteFlag != '0')){ |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = null |
|
|
|
}else{ |
|
|
|
tempRd = Object.assign({},this.prAsb.splice(i,1)[0]) |
|
|
|
tempRd = Object.assign({}, this.dataTransOpts.tableM.register_check_asbitem.splice(i,1)[0]) |
|
|
|
if(tempRd.id) this.prAsbDels.push(tempRd) |
|
|
|
} |
|
|
|
} |
|
|
|
@ -802,7 +802,7 @@ export default { |
|
|
|
total: Math.round(e.customerOrgGroupDetailAmount * e.customerOrgGroupDetailPrice * 100)/100 |
|
|
|
} |
|
|
|
} |
|
|
|
this.prAsb.push(tempRd) |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.push(tempRd) |
|
|
|
}) |
|
|
|
|
|
|
|
this.refreshAsbitem() |
|
|
|
@ -822,25 +822,25 @@ export default { |
|
|
|
|
|
|
|
if (this.prForm.customerOrgId != this.dict.personOrgId) payTypeFlag = '1' //单位支付 |
|
|
|
|
|
|
|
for(let i = this.prAsb.length - 1;i>-1;i--){ |
|
|
|
lfind = arrayExistObj(this.packageAsbs,'id',this.prAsb[i].asbitemId) |
|
|
|
for(let i = this.dataTransOpts.tableM.register_check_asbitem.length - 1;i>-1;i--){ |
|
|
|
lfind = arrayExistObj(this.packageAsbs,'id', this.dataTransOpts.tableM.register_check_asbitem[i].asbitemId) |
|
|
|
if(lfind > -1){ |
|
|
|
//找到了则更新此项目 |
|
|
|
tempRd = Object.assign({},this.packageAsbs.splice(lfind,1)[0]) |
|
|
|
this.prAsb[i].groupPackageId = newId |
|
|
|
if(this.prAsb[i].isCharge != 'Y'){ |
|
|
|
this.prAsb[i].payTypeFlag = payTypeFlag |
|
|
|
this.prAsb[i].amount = tempRd.medicalPackageDetailAmount |
|
|
|
this.prAsb[i].standardPrice = tempRd.price |
|
|
|
this.prAsb[i].chargePrice = tempRd.medicalPackageDetailPrice |
|
|
|
this.prAsb[i].discount = tempRd.discount |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = newId |
|
|
|
if( this.dataTransOpts.tableM.register_check_asbitem[i].isCharge != 'Y'){ |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].payTypeFlag = payTypeFlag |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].amount = tempRd.medicalPackageDetailAmount |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].standardPrice = tempRd.price |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].chargePrice = tempRd.medicalPackageDetailPrice |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].discount = tempRd.discount |
|
|
|
} |
|
|
|
}else{ |
|
|
|
//没找到则移除此项目 |
|
|
|
if(this.prAsb[i].isCharge == 'Y' || (this.prAsb[i].checkCompleteFlag && this.prAsb[i].checkCompleteFlag != '0')){ |
|
|
|
this.prAsb[i].groupPackageId = null |
|
|
|
if( this.dataTransOpts.tableM.register_check_asbitem[i].isCharge == 'Y' || ( this.dataTransOpts.tableM.register_check_asbitem[i].checkCompleteFlag && this.dataTransOpts.tableM.register_check_asbitem[i].checkCompleteFlag != '0')){ |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = null |
|
|
|
}else{ |
|
|
|
tempRd = Object.assign({},this.prAsb.splice(i,1)[0]) |
|
|
|
tempRd = Object.assign({}, this.dataTransOpts.tableM.register_check_asbitem.splice(i,1)[0]) |
|
|
|
if(tempRd.id) this.prAsbDels.push(tempRd) |
|
|
|
} |
|
|
|
} |
|
|
|
@ -877,7 +877,7 @@ export default { |
|
|
|
total: Math.round(e.medicalPackageDetailAmount * e.medicalPackageDetailPrice * 100)/100 |
|
|
|
} |
|
|
|
} |
|
|
|
this.prAsb.push(tempRd) |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.push(tempRd) |
|
|
|
}) |
|
|
|
|
|
|
|
this.refreshAsbitem() |
|
|
|
@ -885,7 +885,7 @@ export default { |
|
|
|
|
|
|
|
// 从 有分组/套餐 切换成 无分组/套餐 时 |
|
|
|
setGroupPackageNull(){ |
|
|
|
this.prAsb.forEach(e =>{ |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach(e =>{ |
|
|
|
e.groupPackageId = null |
|
|
|
}) |
|
|
|
}, |
|
|
|
@ -941,9 +941,9 @@ export default { |
|
|
|
changeAllDiscount() { |
|
|
|
|
|
|
|
if (!this.discount || this.discount == 0) return |
|
|
|
if (!this.prAsb || this.prAsb.length == 0) return |
|
|
|
if (!this.prAsb || this.dataTransOpts.tableM.register_check_asbitem.length == 0) return |
|
|
|
|
|
|
|
this.prAsb.forEach(e => { |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { |
|
|
|
e.discount = this.discount |
|
|
|
e.chargePrice = Math.round(e.standardPrice * this.discount) / 100 |
|
|
|
e.total = Math.round(e.standardPrice * this.discount * e.amount) / 100 |
|
|
|
@ -956,7 +956,7 @@ export default { |
|
|
|
changeTotal() { |
|
|
|
|
|
|
|
if (!this.total) return |
|
|
|
if (!this.prAsb || this.prAsb.length == 0) return |
|
|
|
if (!this.prAsb || this.dataTransOpts.tableM.register_check_asbitem.length == 0) return |
|
|
|
|
|
|
|
let sumChargeDetails = Number(0) //单个标准价折后价 合计总计 |
|
|
|
let qtyIsOneLast = 0 //数量为1的最后行项目,用于返写金额 |
|
|
|
@ -964,7 +964,7 @@ export default { |
|
|
|
// console.log('this.total / this.totalStand',this.total , this.totalStand) |
|
|
|
this.discount = Math.round((100 * this.total / this.totalStand) * 100)/100 |
|
|
|
|
|
|
|
this.prAsb.forEach((e, index) => { |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach((e, index) => { |
|
|
|
if (e.amount == 1 && e.standardPrice != 0) qtyIsOneLast = index |
|
|
|
e.discount = this.discount |
|
|
|
e.chargePrice = Math.round((e.standardPrice * this.discount / 100) * 100)/100 |
|
|
|
@ -977,13 +977,13 @@ export default { |
|
|
|
//平衡金额(按总价折扣后,再根据折扣合计 会出现金额差) |
|
|
|
if (this.total != sumChargeDetails) { |
|
|
|
console.log('qtyIsOneLast',qtyIsOneLast) |
|
|
|
this.prAsb[qtyIsOneLast].total = |
|
|
|
Math.round((Number(this.prAsb[qtyIsOneLast].total) + Number(this.total) - Number(sumChargeDetails))*100)/100 |
|
|
|
this.prAsb[qtyIsOneLast].chargePrice = |
|
|
|
Math.round(this.prAsb[qtyIsOneLast].total * 100 / this.prAsb[qtyIsOneLast].amount)/100 |
|
|
|
if(this.prAsb[qtyIsOneLast].standardPrice != 0){ |
|
|
|
this.prAsb[qtyIsOneLast].discount = |
|
|
|
Math.round(this.prAsb[qtyIsOneLast].chargePrice * 10000/this.prAsb[qtyIsOneLast].standardPrice)/100 |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].total = |
|
|
|
Math.round((Number( this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].total) + Number(this.total) - Number(sumChargeDetails))*100)/100 |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].chargePrice = |
|
|
|
Math.round( this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].total * 100 / this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].amount)/100 |
|
|
|
if( this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].standardPrice != 0){ |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].discount = |
|
|
|
Math.round( this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].chargePrice * 10000/ this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].standardPrice)/100 |
|
|
|
} |
|
|
|
} |
|
|
|
//this.onSubmit('') |
|
|
|
@ -992,21 +992,21 @@ export default { |
|
|
|
//修改数量 |
|
|
|
changeDiscount(index) { |
|
|
|
//console.log('index',index) |
|
|
|
if (!this.prAsb || this.prAsb.length == 0) return |
|
|
|
if (!this.prAsb[index].discount) return |
|
|
|
//console.log(this.prAsb[index].chargePrice,this.prAsb[index].standardPrice) |
|
|
|
this.prAsb[index].chargePrice = Math.round(this.prAsb[index].standardPrice * this.prAsb[index].discount)/100 |
|
|
|
this.prAsb[index].total = this.prAsb[index].chargePrice * this.prAsb[index].amount |
|
|
|
if (!this.prAsb || this.dataTransOpts.tableM.register_check_asbitem.length == 0) return |
|
|
|
if (! this.dataTransOpts.tableM.register_check_asbitem[index].discount) return |
|
|
|
//console.log( this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice, this.dataTransOpts.tableM.register_check_asbitem[index].standardPrice) |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice = Math.round( this.dataTransOpts.tableM.register_check_asbitem[index].standardPrice * this.dataTransOpts.tableM.register_check_asbitem[index].discount)/100 |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[index].total = this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice * this.dataTransOpts.tableM.register_check_asbitem[index].amount |
|
|
|
// this.onSubmit('') |
|
|
|
}, |
|
|
|
|
|
|
|
//修改单价 |
|
|
|
changePrice(index) { |
|
|
|
//console.log('index',index) |
|
|
|
if (!this.prAsb || this.prAsb.length == 0) return |
|
|
|
if (!this.prAsb[index].chargePrice) return |
|
|
|
//console.log(this.prAsb[index].chargePrice,this.prAsb[index].standardPrice) |
|
|
|
this.prAsb[index].discount = Math.round(this.prAsb[index].chargePrice * 10000 / this.prAsb[index].standardPrice)/100 |
|
|
|
if (!this.prAsb || this.dataTransOpts.tableM.register_check_asbitem.length == 0) return |
|
|
|
if (! this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice) return |
|
|
|
//console.log( this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice, this.dataTransOpts.tableM.register_check_asbitem[index].standardPrice) |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem[index].discount = Math.round( this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice * 10000 / this.dataTransOpts.tableM.register_check_asbitem[index].standardPrice)/100 |
|
|
|
// this.onSubmit('') |
|
|
|
}, |
|
|
|
|
|
|
|
@ -1094,7 +1094,7 @@ export default { |
|
|
|
// } |
|
|
|
// }, |
|
|
|
|
|
|
|
"dataTransOpts.refresh.register_asbitem.M":{ |
|
|
|
"dataTransOpts.refresh.register_check_asbitem.M":{ |
|
|
|
immediate: true, // 立即执行 |
|
|
|
// deep: true, // 深度监听复杂类型内变化 |
|
|
|
handler(newVal,oldVal){ |
|
|
|
@ -1109,7 +1109,7 @@ export default { |
|
|
|
// deep: true, // 深度监听复杂类型内变化 |
|
|
|
handler(newVal, oldVal) { |
|
|
|
if (newVal != oldVal && newVal != '') { |
|
|
|
this.prAsb.forEach(e =>{ |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach(e =>{ |
|
|
|
e.payTypeFlag = newVal; |
|
|
|
return e; |
|
|
|
}); |
|
|
|
|