diff --git a/src/components/patientRegister/PatientRegisterEdit.vue b/src/components/patientRegister/PatientRegisterEdit.vue index b92d6da..ed14d75 100644 --- a/src/components/patientRegister/PatientRegisterEdit.vue +++ b/src/components/patientRegister/PatientRegisterEdit.vue @@ -21,6 +21,9 @@
个人预约
+
+ 人寿预约 +
同步团检预约 @@ -591,6 +594,11 @@ + + + + @@ -672,7 +680,7 @@ import { birthdayToAge, ageToBirthday, deepCopy, arrayFilter, arrayReduce, parsIcCardtoLocal, reMadeOrgTree, arrayExistObj, isValidMobileNumber } from "../../utlis/proFunc"; -import { getTreePids,madeTree } from "../../utlis/tree"; +import { getTreePids, madeTree } from "../../utlis/tree"; import { photoParse, savePeoplePhoto, } from "../../utlis/proApi"; import Camera from "./Camera.vue"; import PatientRegisterItem from "./PatientRegisterItem.vue"; @@ -683,7 +691,7 @@ import Charge from "../../views/charge/charge.vue"; import PatientRegisterEditQuery from "../../components/patientRegister/PatientRegisterEditQuery.vue"; import OccDisease from "../../components/occDisease/OccDisease.vue" import WebBooking from "../../components/webBooking/WebBooking.vue" - +import WebBookingMzak from "../../components/webBooking/WebBookingMzak.vue" import PatientLisRequest from "../../components/patientRegister/PatientLisRequest.vue"; import PatientPacsRequest from "../../components/patientRegister/PatientPacsRequest.vue"; import Queue from "../../components/queue/Queue.vue"; @@ -700,7 +708,7 @@ export default { OccDisease, PatientLisRequest, PatientPacsRequest, - WebBooking, + WebBooking, WebBookingMzak, Queue }, // isDoctor: '0:标准人员登记/1:医生诊台登记(可修改单位)' @@ -877,7 +885,7 @@ export default { thirdInterfaceId: '', // 网上预约用到 queueParams: {}, // 分诊排队参数 - + }; }, @@ -1115,16 +1123,16 @@ export default { } }, - changeChooseOrgId(v){ + changeChooseOrgId(v) { let parentId = null - if(v){ + if (v) { parentId = v[v.length - 1] // 已经查询过或无叶子节点的无需再查询 - let lfind = arrayExistObj(this.patientRegister.customerOrgs,'parentId',parentId) - if(lfind > -1) return - lfind = arrayExistObj(this.patientRegister.customerOrgs,'id',parentId) - if(lfind > -1 && this.patientRegister.customerOrgs[lfind].isChild == 'N') return - }else{ + let lfind = arrayExistObj(this.patientRegister.customerOrgs, 'parentId', parentId) + if (lfind > -1) return + lfind = arrayExistObj(this.patientRegister.customerOrgs, 'id', parentId) + if (lfind > -1 && this.patientRegister.customerOrgs[lfind].isChild == 'N') return + } else { return } @@ -1146,7 +1154,7 @@ export default { this.patientRegister.customerOrgs.push(e) } }); - this.patientRegister.customerOrgTreeAll = madeTree(this.patientRegister.customerOrgs,'treeChildren','parentId','id',null) + this.patientRegister.customerOrgTreeAll = madeTree(this.patientRegister.customerOrgs, 'treeChildren', 'parentId', 'id', null) // console.log('this.patientRegister.customerOrgTreeAll', this.patientRegister.customerOrgTreeAll) resolve(treeData) } @@ -1391,7 +1399,7 @@ export default { patientRegisterId: row.id } this.dialogWin.queue = true - this.dataTransOpts.plus.queue++ + this.dataTransOpts.plus.queue++ }, //修改单位体检次数 @@ -2236,7 +2244,7 @@ export default { .finally(() => { this.printing = false }) - } else if (this.LocalConfig.patientRegister.printGuideLabel.indexOf('patient') > -1 && this.LocalConfig.patientRegister.printGuideLabel.indexOf('lis') > -1 ) { + } else if (this.LocalConfig.patientRegister.printGuideLabel.indexOf('patient') > -1 && this.LocalConfig.patientRegister.printGuideLabel.indexOf('lis') > -1) { this.guidePrintEasy('0008', isPreview, toOutShell) .then(res => { return this.lisPrint('0002', isPreview, toOutShell) @@ -2289,7 +2297,7 @@ export default { .finally(() => { this.printing = false }) - } else if (this.LocalConfig.patientRegister.printGuideLabel.indexOf('lis') > -1) { + } else if (this.LocalConfig.patientRegister.printGuideLabel.indexOf('lis') > -1) { this.lisPrint('0002', isPreview, toOutShell) .then(res => { resolve(res) @@ -2356,7 +2364,7 @@ export default { this.patientRegister.prList[lfind].guidePrintTimes = 1; } } - resolve(res) + resolve(res) } else { reject(res.message) } @@ -2639,10 +2647,10 @@ export default { let e = this.dataTransOpts.tableM.register_check_asbitem[i]; if (e.isCharge == 'Y' || e.checkCompleteFlag != '0') { continue - } else { + } else { // 已登记的项目 在 this.occAsbitems 中,则不删除 (如果删除的话,条码会变) lfind = arrayExistObj(this.occAsbitems, 'id', e.asbitemId) - if(lfind == -1) this.dataTransOpts.tableM.register_check_asbitem.splice(i, 1) + if (lfind == -1) this.dataTransOpts.tableM.register_check_asbitem.splice(i, 1) } } @@ -2712,6 +2720,19 @@ export default { this.dialogWin.WebBooking = true }, + // 显示预约 + btnWebBookingMzak() { + + this.dataTransOpts.tableS.appoint_patient_register = {} + this.dataTransOpts.tableM.appoint_register_asbitem = [] + + this.dataTransOpts.tableS.appoint_patient_register = {} + this.dataTransOpts.tableM.appoint_register_asbitem = [] + + this.dataTransOpts.plus.WebBookingMzak++ + this.dialogWin.WebBookingMzak = true + }, + // 关闭预约窗口 async close_dialogWin_WebBooking() { // console.log('this.dataTransOpts.tableS.appoint_patient_register',this.dataTransOpts.tableS.appoint_patient_register) @@ -2794,6 +2815,81 @@ export default { this.changeIdNo() // 触发身份证查询档案号 }, + // 关闭预约窗口--人寿 (团检、个人都可以) + async close_dialogWin_WebBookingMzak() { + // 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) + // 没有选中网上预约记录,直接返回,不做任何处理 + let appoint_patient_register = this.dataTransOpts.tableS.appoint_patient_register + if (!appoint_patient_register.appointPatientRegisterId) return + + await this.initFormData(this.dataTransOpts.tableS.patient_register.id) + // "appointPatientRegisterId": "string", + // "personId": "string", + // "personName": "string", + // "idNo": "string", + // "sexId": "string", + // "sexName": "string", + // "maritalStatusId": "string", + // "maritalStatusName": "string", + // "customerOrgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + // "customerOrgName": "string", + // "childCustomerOrgName": "string", + // "customerOrgGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + // "customerOrgGroupName": "string", + // "medicalPackageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + // "medicalPackageName": "string", + // "completeFlag": "string", + // "appointDate": "2024-06-09T11:46:34.962Z", + // "remark": "string", + // "medicalCenterId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + // "customerOrgRegisterId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + // "pregnantFlag": "string", + // "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) + + // 触发分组 项目 + if (this.form.customerOrgGroupId) this.changeCustomerOrgGroupId() + + this.changeIdNo() // 触发身份证查询档案号 + }, + + btnLabel() { if (!this.form.id) { this.$message.warning({ showClose: true, message: '人员信息尚未保存!' }) diff --git a/src/components/third/ThirdMedicalCenterBookDateList.vue b/src/components/third/ThirdMedicalCenterBookDateList.vue new file mode 100644 index 0000000..43b7eb6 --- /dev/null +++ b/src/components/third/ThirdMedicalCenterBookDateList.vue @@ -0,0 +1,219 @@ + + + diff --git a/src/components/third/ThirdMedicalCenterEdit.vue b/src/components/third/ThirdMedicalCenterEdit.vue new file mode 100644 index 0000000..12f81d2 --- /dev/null +++ b/src/components/third/ThirdMedicalCenterEdit.vue @@ -0,0 +1,178 @@ + + + diff --git a/src/components/third/thirdMedicalCenter.vue b/src/components/third/thirdMedicalCenter.vue new file mode 100644 index 0000000..30aba9b --- /dev/null +++ b/src/components/third/thirdMedicalCenter.vue @@ -0,0 +1,340 @@ + + + diff --git a/src/components/webBooking/WebBookingMzak.vue b/src/components/webBooking/WebBookingMzak.vue new file mode 100644 index 0000000..05fc9c9 --- /dev/null +++ b/src/components/webBooking/WebBookingMzak.vue @@ -0,0 +1,497 @@ + + + diff --git a/src/router/index.js b/src/router/index.js index da063f9..40df082 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -230,6 +230,12 @@ const routes = [{ component: () => import ("../components/commonTable/commonTableType.vue"), }, + { + path: "/thirdMedicalCenter", + name: '第三方体检中心', + component: () => + import ("../components/third/thirdMedicalCenter.vue"), + }, { path: "/summary-items", name: '汇总项目类别', diff --git a/src/store/index.js b/src/store/index.js index 5afceb0..ddec595 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -429,6 +429,8 @@ export default new Vuex.Store({ room_detail: { S: 0, M: 0 }, // 房间关联的组合项目 common_table: { S: 0, M: 0 }, // 公共表 common_table_type: { S: 0, M: 0 }, // 公共表 + third_medical_center: { S: 0, M: 0 }, // 公共表 + third_medical_center_booking_date: { S: 0, M: 0 }, // 公共表 }, //表当前数据(单条记录 S--single) @@ -468,6 +470,8 @@ export default new Vuex.Store({ room_detail: { id: '' }, // 房间关联组合项目 common_table: { id: '' }, // 公共表 common_table_type: { id: '' }, // 公共表 + third_medical_center: { id: '' }, // 公共表 + third_medical_center_booking_date: { id: '' }, // 公共表 }, //表当前数据(多条记录 M--more) tableM: { @@ -509,6 +513,7 @@ export default new Vuex.Store({ PatientRegisterForChoose: 0, // 体检人员查询窗口 OccDisease: 0, // 职业病 WebBooking: 0, // 网上预约 + WebBookingMzak: 0, // 人寿预约 ImportOrgData: 0, // 导入企业(青藏公司)数据 queue: 0, // 排队信息 } @@ -532,6 +537,7 @@ export default new Vuex.Store({ OccDisease: false, // 职业病 Label: false, // 补打条码 WebBooking: false, // 网上预约 + WebBookingMzak: false, // 网上预约--人寿 ImportOrgData: false, // 导入企业(青藏公司)数据 RoomEdit: false, //房间 queue: false, // 排队信息 @@ -539,6 +545,7 @@ export default new Vuex.Store({ CommonTableTypeEdit: false, //公共表类别 CommonTableEdit: false, //公共表 PacsTemplate: false, // pacs结果模版 + ThirdMedicalCenterEdit:false, } }, diff --git a/src/views/basic-dictionary/ThirdPartyInterfaces.vue b/src/views/basic-dictionary/ThirdPartyInterfaces.vue index 1223d86..7c97cbe 100644 --- a/src/views/basic-dictionary/ThirdPartyInterfaces.vue +++ b/src/views/basic-dictionary/ThirdPartyInterfaces.vue @@ -395,6 +395,9 @@ export default { },{ id:"11", displayName:"危急值短信推送" + },{ + id:"12", + displayName:"第三方预约对接" }] } }, diff --git a/src/views/customerOrg/customerOrgGroup.vue b/src/views/customerOrg/customerOrgGroup.vue index 2967bdd..28890f4 100644 --- a/src/views/customerOrg/customerOrgGroup.vue +++ b/src/views/customerOrg/customerOrgGroup.vue @@ -30,7 +30,7 @@
+ @row-click="rowClick" id="customerOrgGroups"> @@ -96,6 +96,9 @@
保存排序
+
+ 导出分组 +
@@ -115,6 +118,7 @@