diff --git a/src/components/patientRegister/PatientRegisterEdit.vue b/src/components/patientRegister/PatientRegisterEdit.vue index 751cf1f..042b3fd 100644 --- a/src/components/patientRegister/PatientRegisterEdit.vue +++ b/src/components/patientRegister/PatientRegisterEdit.vue @@ -1227,7 +1227,7 @@ export default { // console.log('body',body) // Invalid date - delete body.registerManType; + delete body.registerManType; delete body.patientRegisterNo; delete body.medicalTimes; // delete body.completeFlag; @@ -1299,7 +1299,7 @@ export default { this.form.id = res.data.id this.dataTransOpts.tableS.patient_register = deepCopy(res.data) delete this.dataTransOpts.tableS.patient_register.registerCheckAsbitems - + this.dataTransOpts.tableM.register_check_asbitem = deepCopy(res.data.registerCheckAsbitems) // //触发已选组合项目保存 // this.prAsbOpraOpts.formId = res.data.id @@ -1632,30 +1632,42 @@ export default { return } - try { - let res = await proApi.getPrAsb(this.form.id) - if (res.code == -1) { - this.$message.warning(`操作失败,原因:${res.message}`) - return - } - } catch (error) { - this.$message.warning(`操作失败,原因:${error}`) + let chargeMoney = Number(0) + //支付方式,比如是0自费、2免费、1单位支付 + this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { + if (e.payTypeFlag == '0' && e.isCharge == 'N') chargeMoney += Number(e.total) + }); + if (chargeMoney == 0) { + this.$message.warning({ showClose: true, message: '没有可收费的记录!' }) return } - this.dialogWin.charge = true + + // try { + // let res = await proApi.getPrAsb(this.form.id) + // if (res.code == -1) { + // this.$message.warning(`操作失败,原因:${res.message}`) + // return + // } + // } catch (error) { + // this.$message.warning(`操作失败,原因:${error}`) + // return + // } + + //多次重复点击时,刷新处理 this.chargePatientRegisterNo = patientRegisterNo setTimeout(() => { this.dataTransOpts.refresh.charge.S++ - }, 20) + }, 10) + this.dialogWin.charge = true }, //关闭收费窗口时,刷新收费状态信息 closeDialogCharge() { // this.prAsbOpraOpts.prAsbQuery++ - this.dataTransOpts.refresh.register_check_asbitem.M++ + this.dataTransOpts.refresh.register_check_asbitem.D++ }, //触发人员信息保存(更新) diff --git a/src/components/patientRegister/PatientRegisterEditItemBatch.vue b/src/components/patientRegister/PatientRegisterEditItemBatch.vue index 73078dd..2aee035 100644 --- a/src/components/patientRegister/PatientRegisterEditItemBatch.vue +++ b/src/components/patientRegister/PatientRegisterEditItemBatch.vue @@ -55,13 +55,16 @@ 删除全部
- 全个人支付 + 全个人支付
- 全单位支付 + 全单位支付
- 全赠送 + 全赠送
@@ -112,7 +115,7 @@ export default { asbitemsTemp: [], //删除或增加项目临时用 asbitemCurr: {}, //当前选中要删除的项目(批量调整) }, - asbitemBatchInit:{}, + asbitemBatchInit: {}, asbItemQuick: [], //快速选择未过滤前全部项目 quickAsb: [], //可供快速选择的组合项目 @@ -258,8 +261,7 @@ export default { //批量调整项目(确定按钮) async asbitemBatchHandle() { - let msg = "", - body = {}; + let msg = "", body = {}; if (this.asbitemBatch.asbitemsTemp.length == 0) { this.$message.warning("没有选择组合项目,不可执行此操作!"); return; @@ -275,36 +277,63 @@ export default { return; } - let createRegisterAsbitemDtos = deepCopy( + let registerCheckAsbitems = deepCopy( this.asbitemBatch.asbitemsTemp ); - createRegisterAsbitemDtos.forEach((e) => { - delete e.asbitemName; - return e; - }); + // createRegisterAsbitemDtos.forEach((e) => { + // delete e.asbitemName; + // return e; + // }); + this.elProgress.display = true; this.elProgress.percentage = 0; + let isContinue = true // 遇到错误是否继续 for (let i = 0; i < this.multipleSelection.length; i++) { - createRegisterAsbitemDtos.forEach((e) => { - e.patientRegisterId = this.multipleSelection[i].id; - return e; - }); + if (!isContinue) break; + // createRegisterAsbitemDtos.forEach((e) => { + // e.patientRegisterId = this.multipleSelection[i].id; + // return e; + // }); + // body = { + // medicalCenterId: this.multipleSelection[i].medicalCenterId, + // createRegisterAsbitemDtos, + // }; // 旧参数 + body = { - medicalCenterId: this.multipleSelection[i].medicalCenterId, - createRegisterAsbitemDtos, - }; + patientRegisterId: this.multipleSelection[i].id, + registerCheckAsbitems + } + + try { - await postapi( - "/api/app/registerasbitem/createregisterasbitemincustomerorgmany", - body - ); - } catch (error) { - console.log("批量增加项目错误,原因:", error); + //旧 /api/app/registerasbitem/createregisterasbitemincustomerorgmany + let res = await postapi("/api/PatientRegister/BatchAddAsbitems", body); + if (res.code == -1) { + try { + await this.$confirm(`人员 ${this.multipleSelection[i].patientName} 增加项目失败, 是否继续操作其他人员?`, "提示", { + confirmButtonText: "是", + cancelButtonText: "否", + type: "warning", + }) + } catch (error) { + console.log(error) // 取消 + isContinue = false; + } + } + } catch (err) { + try { + await this.$confirm(`人员 ${this.multipleSelection[i].patientName} 增加项目失败, 是否继续操作其他人员?`, "提示", { + confirmButtonText: "是", + cancelButtonText: "否", + type: "warning", + }) + } catch (error) { + console.log(error) // 取消 + isContinue = false; + } } - this.elProgress.percentage = Math.floor( - ((i + 1) * 100) / this.multipleSelection.length - ); + this.elProgress.percentage = Math.floor(((i + 1) * 100) / this.multipleSelection.length); } } else { // { @@ -342,8 +371,9 @@ export default { } } - console.log("操作成功!"); this.dialogWin.PatientRegisterEditItemBatch = false; + + this.elProgress.display = false; // 操作成功后,刷新列表 this.patientRegister.query.times++ }, @@ -369,7 +399,7 @@ export default { // deep: true, // 深度监听复杂类型内变化 handler(newVal, oldVal) { console.log(`watch: 刷新在用组合项目 newVal: ${newVal} oldVal:${oldVal}`) - if(newVal != oldVal) this.dictInit() + if (newVal != oldVal) this.dictInit() } }, }, diff --git a/src/components/patientRegister/PatientRegisterList.vue b/src/components/patientRegister/PatientRegisterList.vue index de53a7e..a16d89f 100644 --- a/src/components/patientRegister/PatientRegisterList.vue +++ b/src/components/patientRegister/PatientRegisterList.vue @@ -975,9 +975,9 @@ export default { if (this.multipleSelection.length < 1) { this.$message.info("请选择要操作的记录!"); return; - } - this.dialogWin.PatientRegisterEditGroupBatch = true; + } this.dataTransOpts.plus.PatientRegisterEditGroupBatch++ + this.dialogWin.PatientRegisterEditGroupBatch = true; }, @@ -1000,9 +1000,9 @@ export default { return } - this.dialogWin.PatientRegisterEditItemBatch = true; - this.dataTransOpts.plus.PatientRegisterEditItemBatch++ - + this.dataTransOpts.plus.PatientRegisterEditItemBatch++ //如果放在弹窗显示后面,在首次加载子组件时,会触发两次数据处理 + this.dialogWin.PatientRegisterEditItemBatch = true; + }, //检验申请