From a7e023c815d27a4f11144861380d6fd6ea874fd6 Mon Sep 17 00:00:00 2001
From: pengjun <158915633@qq.com>
Date: Fri, 27 Sep 2024 20:27:28 +0800
Subject: [PATCH] dj
---
.../patientRegister/PatientRegisterEdit.vue | 132 ++++-
.../third/ThirdMedicalCenterBookDateList.vue | 219 ++++++++
.../third/ThirdMedicalCenterEdit.vue | 178 +++++++
src/components/third/thirdMedicalCenter.vue | 340 ++++++++++++
src/components/webBooking/WebBookingMzak.vue | 497 ++++++++++++++++++
src/router/index.js | 6 +
src/store/index.js | 7 +
.../basic-dictionary/ThirdPartyInterfaces.vue | 3 +
src/views/customerOrg/customerOrgGroup.vue | 48 +-
9 files changed, 1411 insertions(+), 19 deletions(-)
create mode 100644 src/components/third/ThirdMedicalCenterBookDateList.vue
create mode 100644 src/components/third/ThirdMedicalCenterEdit.vue
create mode 100644 src/components/third/thirdMedicalCenter.vue
create mode 100644 src/components/webBooking/WebBookingMzak.vue
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 @@
+
+
+
+
+ 基础资料 /第三方体检中心
+
+
+
+
+
+
+
+
+
+
+ {{ dddw(customerOrgGroups,'id',scope.row.customerOrgGroupId,'displayName') }}
+
+
+
+
+
+ {{ scope.row.creationTime ? moment(scope.row.creationTime).format("yyyy-MM-DD HH:mm:ss") : "" }}
+
+
+
+
+
+ {{ scope.row.lastModificationTime ? moment(scope.row.lastModificationTime).format("yyyy-MM-DD HH:mm:ss")
+ : "" }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 新增
+
+
+ 编辑
+
+
+ 删除
+
+
+ 置顶
+
+
+ 置底
+
+
+ 保存排序
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+ 至
+
+
+
+ 检索关键字
+
+
+
+ 状态
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.customerOrgGroupId ? scope.row.customerOrgGroupId : scope.row.medicalPackageName }}
+
+
+
+
+
+
+ {{ dddw(localDict.medicalStatus,'value',scope.row.medicalStatus,'label') }}
+
+
+
+
+
+
+
+ {{ asbDesc }}
+
+
+ 测试
+
+
+ 确定
+ 关闭
+
+
+
+
+
+
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 @@