|
|
|
@ -526,10 +526,12 @@ |
|
|
|
:disabled="!form.id">收费申请</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '复制分组')" class="btn"> |
|
|
|
<el-button class="commonbutton" @click="btnCopyGroup" :disabled="form.isLock == 'Y' || form.completeFlag == '3' ? true:false">复制分组</el-button> |
|
|
|
<el-button class="commonbutton" @click="btnCopyGroup" |
|
|
|
:disabled="form.isLock == 'Y' || form.completeFlag == '3' ? true : false">复制分组</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '复制套餐')" class="btn"> |
|
|
|
<el-button class="commonbutton" @click="btnCopyMedicalPackage" :disabled="form.isLock == 'Y' || form.completeFlag == '3' ? true:false">复制套餐</el-button> |
|
|
|
<el-button class="commonbutton" @click="btnCopyMedicalPackage" |
|
|
|
:disabled="form.isLock == 'Y' || form.completeFlag == '3' ? true : false">复制套餐</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -785,7 +787,7 @@ |
|
|
|
: "" |
|
|
|
}} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<div style="display: flex;justify-content: space-between;margin-top: 10px;"> |
|
|
|
<div></div> |
|
|
|
@ -2746,22 +2748,27 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
async getAsb(id) { |
|
|
|
let err = '' |
|
|
|
try { |
|
|
|
let res = await getapi(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`) |
|
|
|
if (res.code > -1) { |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem = res.data |
|
|
|
} else { |
|
|
|
err = res.message |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
err = `${error}` |
|
|
|
} |
|
|
|
return err |
|
|
|
// 刷新登记的检查项目 |
|
|
|
getAsb(id) { |
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
getapi(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`) |
|
|
|
.then(res => { |
|
|
|
if (res.code > - 1) { |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem = res.data |
|
|
|
resolve() |
|
|
|
} else { |
|
|
|
reject(res.message) |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(err => { |
|
|
|
reject(err.message) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
async toCharge(form) { |
|
|
|
// 跳至收费页面 |
|
|
|
toCharge(form) { |
|
|
|
|
|
|
|
if (!form.patientRegisterNo) { |
|
|
|
this.$message.warning({ showClose: true, message: "请先保存人员信息!" }) |
|
|
|
@ -2772,31 +2779,30 @@ export default { |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
let err = await this.getAsb(form.id) |
|
|
|
if (err) { |
|
|
|
this.$message.error(err) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
let chargeMoney = Number(0) |
|
|
|
//支付方式,比如是0自费、2免费、1单位支付 |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { |
|
|
|
if (e.payTypeFlag == '0') chargeMoney += Number(e.total) |
|
|
|
}); |
|
|
|
if (chargeMoney == 0) { |
|
|
|
this.$message.warning({ showClose: true, message: '没有可收费或退费的记录!' }) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
//多次重复点击时,刷新处理 |
|
|
|
this.chargePatientRegisterNo = form.patientRegisterNo |
|
|
|
this.dataTransOpts.refresh.charge.S++ |
|
|
|
this.dialogWin.charge = true |
|
|
|
|
|
|
|
this.getAsb(form.id) |
|
|
|
.then(() => { |
|
|
|
let chargeMoney = Number(0) |
|
|
|
//支付方式,比如是0自费、2免费、1单位支付 |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { |
|
|
|
if (e.payTypeFlag == '0') chargeMoney += Number(e.total) |
|
|
|
}); |
|
|
|
if (chargeMoney == 0) { |
|
|
|
this.$message.warning({ showClose: true, message: '没有可收费或退费的记录!' }) |
|
|
|
} else { |
|
|
|
//多次重复点击时,刷新处理 |
|
|
|
this.chargePatientRegisterNo = form.patientRegisterNo |
|
|
|
//this.dataTransOpts.refresh.charge.S++ |
|
|
|
this.dialogWin.charge = true |
|
|
|
this.dataTransOpts.refresh.charge.S++ |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(err => { |
|
|
|
this.$message.error(err.message) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 收费申请 |
|
|
|
async chargeRequest(form) { |
|
|
|
chargeRequest(form) { |
|
|
|
if (!form.id) { |
|
|
|
this.$message.warning({ showClose: true, message: "请先保存人员信息!" }) |
|
|
|
return |
|
|
|
@ -2806,50 +2812,54 @@ export default { |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
let err = await this.getAsb(form.id) |
|
|
|
if (err) { |
|
|
|
this.$message.error(err) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
let chargeMoney = Number(0) |
|
|
|
//支付方式,比如是0自费、2免费、1单位支付 |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { |
|
|
|
if (e.payTypeFlag == '0') chargeMoney += Number(e.total) |
|
|
|
}); |
|
|
|
if (chargeMoney == 0) { |
|
|
|
this.$message.warning({ showClose: true, message: '没有可收费或退费的记录!' }) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
// 显示 |
|
|
|
this.dataTransOpts.refresh.charge.S++ |
|
|
|
this.dialogWin.AsbChargeRequest = true |
|
|
|
this.getAsb(form.id) |
|
|
|
.then(() => { |
|
|
|
let chargeMoney = Number(0) |
|
|
|
//支付方式,比如是0自费、2免费、1单位支付 |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { |
|
|
|
if (e.payTypeFlag == '0') chargeMoney += Number(e.total) |
|
|
|
}); |
|
|
|
|
|
|
|
if (chargeMoney == 0) { |
|
|
|
this.$message.warning({ showClose: true, message: '没有可收费或退费的记录!' }) |
|
|
|
} else { |
|
|
|
// 显示 |
|
|
|
this.dataTransOpts.refresh.charge.S++ |
|
|
|
this.dialogWin.AsbChargeRequest = true |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(err => { |
|
|
|
this.$message.error(err.message) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 保存立即发送收费申请 |
|
|
|
async immediateToHisCharge(patientRegisterId) { |
|
|
|
try { |
|
|
|
let res = await postapi('/api/app/registerasbitem/GetCanChargeAsbitemsByPatientRegisterId', { patientRegisterId }) |
|
|
|
if (!(res.code > -1 && res.data.length > 0)) return |
|
|
|
|
|
|
|
let body = { |
|
|
|
patientRegisterId, |
|
|
|
registerCheckAsbitems: [] |
|
|
|
} |
|
|
|
immediateToHisCharge(patientRegisterId) { |
|
|
|
postapi('/api/app/registerasbitem/GetCanChargeAsbitemsByPatientRegisterId', { patientRegisterId }) |
|
|
|
.then(res => { |
|
|
|
if (res.code > -1 && res.data.length > 0) { |
|
|
|
let body = { |
|
|
|
patientRegisterId, |
|
|
|
registerCheckAsbitems: [] |
|
|
|
} |
|
|
|
|
|
|
|
res.data.forEach(e => { |
|
|
|
body.registerCheckAsbitems.push({ registerCheckAsbitemId: e.registerCheckAsbitemId }) |
|
|
|
}); |
|
|
|
res.data.forEach(e => { |
|
|
|
body.registerCheckAsbitems.push({ registerCheckAsbitemId: e.registerCheckAsbitemId }) |
|
|
|
}); |
|
|
|
|
|
|
|
let resCharge = await postapi("/api/app/ChargeRequest/Create", body) |
|
|
|
if (resCharge.code > -1) { |
|
|
|
this.dataTransOpts.refresh.patient_register.S++ |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
this.$message.error({ showClose: true, message: `${error}` }) |
|
|
|
} |
|
|
|
// 向 His 或 其他第三方 推送收费申请 |
|
|
|
postapi("/api/app/ChargeRequest/Create", body) |
|
|
|
.then(resCharge => { |
|
|
|
if (resCharge.code > -1) { |
|
|
|
this.dataTransOpts.refresh.patient_register.S++ |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(error => { |
|
|
|
this.$message.error({ showClose: true, message: error.message }) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
//关闭收费窗口时,刷新收费状态信息 |
|
|
|
@ -2982,7 +2992,7 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
// 关闭预约窗口 |
|
|
|
async close_dialogWin_WebBooking() { |
|
|
|
close_dialogWin_WebBooking() { |
|
|
|
// console.log('this.dataTransOpts.tableS.appoint_patient_register',this.dataTransOpts.tableS.appoint_patient_register) |
|
|
|
// console.log('this.dataTransOpts.tableM.appoint_register_asbitem',this.dataTransOpts.tableM.appoint_register_asbitem) |
|
|
|
// 没有选中网上预约记录,直接返回,不做任何处理 |
|
|
|
@ -3000,7 +3010,6 @@ export default { |
|
|
|
this.form.customerOrgParentId = this.dict.personOrgId |
|
|
|
this.form.customerOrgRegisterId = "00000000-0000-0000-0000-000000000001" //默认单位体检次数 |
|
|
|
|
|
|
|
await this.initFormData(this.dataTransOpts.tableS.patient_register.id) |
|
|
|
// "appointPatientRegisterId": "string", |
|
|
|
// "personId": "string", |
|
|
|
// "personName": "string", |
|
|
|
@ -3025,42 +3034,46 @@ export default { |
|
|
|
// "pregnantFlagName": "string", |
|
|
|
// "height": 0, |
|
|
|
// "weight": 0 |
|
|
|
delete appoint_patient_register.medicalCenterId |
|
|
|
Object.assign(this.form, appoint_patient_register, |
|
|
|
{ |
|
|
|
patientName: appoint_patient_register.personName, |
|
|
|
completeFlag: '1', |
|
|
|
} |
|
|
|
) |
|
|
|
|
|
|
|
console.log('this.form', JSON.stringify(this.form)) |
|
|
|
// 明细必填项 |
|
|
|
// "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
|
|
|
// "asbitemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
|
|
|
// "standardPrice": 0, |
|
|
|
// "chargePrice": 0, |
|
|
|
// "payTypeFlag": "string", |
|
|
|
// "isCharge": "string", |
|
|
|
// "amount": 0 |
|
|
|
|
|
|
|
// 预约明细数据 |
|
|
|
// "appointRegisterAsbitemId": "00000000-0000-0000-0000-000000000000", |
|
|
|
// "asbitemId": "3a126b34-f6f0-56a1-e899-a092874acde7", |
|
|
|
// "asbitemName": "腹部平片(立位)", |
|
|
|
// "itemTypeId": "3a126ac6-2fbf-ca50-82a4-73dcc5a5028b", |
|
|
|
// "itemTypeName": "放射科", |
|
|
|
// "appointPatientRegisterId": "3a12ebf4-565a-dbc4-4f2d-d72cd3050cab", |
|
|
|
// "standardPrice": 45.00, |
|
|
|
// "chargePrice": 30.50, |
|
|
|
// "payTypeFlag": "\u0000", |
|
|
|
// "isCharge": "N", |
|
|
|
// "amount": 1, |
|
|
|
// "isInMedicalPackage": "N", |
|
|
|
// "itemTypeDisplayOrder": 28, |
|
|
|
// "displayOrder": 1 |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem = deepCopy(this.dataTransOpts.tableM.appoint_register_asbitem) |
|
|
|
|
|
|
|
this.changeIdNo() // 触发身份证查询档案号 |
|
|
|
this.initFormData(this.dataTransOpts.tableS.patient_register.id) |
|
|
|
.then(() => { |
|
|
|
delete appoint_patient_register.medicalCenterId |
|
|
|
Object.assign(this.form, appoint_patient_register, |
|
|
|
{ |
|
|
|
patientName: appoint_patient_register.personName, |
|
|
|
completeFlag: '1', |
|
|
|
} |
|
|
|
) |
|
|
|
|
|
|
|
console.log('this.form', JSON.stringify(this.form)) |
|
|
|
// 明细必填项 |
|
|
|
// "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
|
|
|
// "asbitemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
|
|
|
// "standardPrice": 0, |
|
|
|
// "chargePrice": 0, |
|
|
|
// "payTypeFlag": "string", |
|
|
|
// "isCharge": "string", |
|
|
|
// "amount": 0 |
|
|
|
|
|
|
|
// 预约明细数据 |
|
|
|
// "appointRegisterAsbitemId": "00000000-0000-0000-0000-000000000000", |
|
|
|
// "asbitemId": "3a126b34-f6f0-56a1-e899-a092874acde7", |
|
|
|
// "asbitemName": "腹部平片(立位)", |
|
|
|
// "itemTypeId": "3a126ac6-2fbf-ca50-82a4-73dcc5a5028b", |
|
|
|
// "itemTypeName": "放射科", |
|
|
|
// "appointPatientRegisterId": "3a12ebf4-565a-dbc4-4f2d-d72cd3050cab", |
|
|
|
// "standardPrice": 45.00, |
|
|
|
// "chargePrice": 30.50, |
|
|
|
// "payTypeFlag": "\u0000", |
|
|
|
// "isCharge": "N", |
|
|
|
// "amount": 1, |
|
|
|
// "isInMedicalPackage": "N", |
|
|
|
// "itemTypeDisplayOrder": 28, |
|
|
|
// "displayOrder": 1 |
|
|
|
this.dataTransOpts.tableM.register_check_asbitem = deepCopy(this.dataTransOpts.tableM.appoint_register_asbitem) |
|
|
|
|
|
|
|
this.changeIdNo() // 触发身份证查询档案号 |
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
// 关闭预约窗口--人寿 (团检、个人都可以) |
|
|
|
@ -3174,7 +3187,7 @@ export default { |
|
|
|
// 复制分组时,设置当前顶级单位及体检次数 |
|
|
|
setCurParentOrgId() { |
|
|
|
// 获取顶级单位 |
|
|
|
console.log('setCurParentOrgId_this.form.customerOrgId',this.form.customerOrgId) |
|
|
|
console.log('setCurParentOrgId_this.form.customerOrgId', this.form.customerOrgId) |
|
|
|
this.getParentCustomerOrgId(this.form.customerOrgId) |
|
|
|
.then(res => { |
|
|
|
if (res) { |
|
|
|
@ -3260,21 +3273,31 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
//选中套餐 |
|
|
|
async packageRowClick(row) { |
|
|
|
this.curPackageId = row.id |
|
|
|
this.packageAsbitems = [] |
|
|
|
try { |
|
|
|
let res = await postapi('/api/app/medicalpackagedetail/getmedicalpackageinasbitem', { medicalPackageId: row.id }) |
|
|
|
this.packageAsbitems = res.data |
|
|
|
} catch (error) { |
|
|
|
console.log(error) |
|
|
|
} |
|
|
|
packageRowClick(row) { |
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
this.curPackageId = row.id |
|
|
|
this.packageAsbitems = [] |
|
|
|
postapi('/api/app/medicalpackagedetail/getmedicalpackageinasbitem', { medicalPackageId: row.id }) |
|
|
|
.then(res => { |
|
|
|
if (res.code > -1) { |
|
|
|
this.packageAsbitems = res.data |
|
|
|
resolve() |
|
|
|
} else { |
|
|
|
reject(res.message) |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(err => { |
|
|
|
reject(err.message) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
//双击选套餐,并确认复制 |
|
|
|
async rowDblclick(row) { |
|
|
|
await this.packageRowClick(row) |
|
|
|
this.copyMedicalPackage() |
|
|
|
rowDblclick(row) { |
|
|
|
this.packageRowClick(row) |
|
|
|
.then(res => { |
|
|
|
this.copyMedicalPackage() |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
//复制套餐(确认选中套餐) |
|
|
|
|