From 0d7ecc59f5c28982468a6515555feb1ae780c16d Mon Sep 17 00:00:00 2001 From: pengjun <158915633@qq.com> Date: Mon, 22 Dec 2025 19:13:11 +0800 Subject: [PATCH] seo --- .../customerOrg/customerOrgGroupAsbitem.vue | 211 +++++++++++++----- .../doctorCheck/RegisterCheckEdit.vue | 4 +- .../patientRegister/patientRegisterQuery.vue | 6 + src/store/index.js | 1 + src/views/doctorCheck/doctorCheck.vue | 2 + 5 files changed, 167 insertions(+), 57 deletions(-) diff --git a/src/components/customerOrg/customerOrgGroupAsbitem.vue b/src/components/customerOrg/customerOrgGroupAsbitem.vue index 119f9ff..5d56114 100644 --- a/src/components/customerOrg/customerOrgGroupAsbitem.vue +++ b/src/components/customerOrg/customerOrgGroupAsbitem.vue @@ -104,7 +104,8 @@ 复制
- 粘贴 + 粘贴
保存 @@ -172,9 +173,9 @@
体检单位: - + {{ item.displayName }} @@ -222,7 +223,7 @@ : "" }} - +
@@ -239,10 +240,10 @@ import moment from 'moment'; import { mapState } from "vuex"; import { getapi, postapi, putapi } from "@/api/api"; -import { getPagePriv, checkPagePriv, arrayExistObj, tcdate, arrayFilter, arrayReduce, deepCopy, objCopy,dddw } from "../../utlis/proFunc"; +import { getPagePriv, checkPagePriv, arrayExistObj, tcdate, arrayFilter, arrayReduce, deepCopy, objCopy, dddw } from "../../utlis/proFunc"; export default { - props: ['customerOrgGroup', 'curOrgGroups','customerOrgAll','curOrgRegister','curOrgRegisterList','refreshMoney'], + props: ['customerOrgGroup', 'curOrgGroups', 'customerOrgAll', 'curOrgRegister', 'curOrgRegisterList', 'refreshMoney'], data() { return { pagePriv: { @@ -268,10 +269,10 @@ export default { customerOrgGroups: [], //历次分组 curGroupId: '', //当前选中套餐ID groupAsbitems: [], //选中分组包含组合项目 - customerOrgId:'', // 当前选中企业ID - customerOrgDisp:[], // 显示单位 - customerOrgRegisterList:[], //当前体检次数集合 - customerOrgRegister:{}, // 当前选择体检次数 + customerOrgId: '', // 当前选中企业ID + customerOrgDisp: [], // 显示单位 + customerOrgRegisterList: [], //当前体检次数集合 + customerOrgRegister: {}, // 当前选择体检次数 dialogVisible: false, @@ -283,6 +284,8 @@ export default { addrulst: [], //添加保存的Id price: "", //价格 title: 1, + + hc_warn_mode: '1', //0-仅提醒;1-提醒并决择;2-有互斥项目时不允许保存 }; }, computed: { @@ -301,7 +304,7 @@ export default { created() { - + //获取用户当前页面的权限 let userPriv = window.sessionStorage.getItem('userPriv') if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName)) @@ -309,9 +312,9 @@ export default { this.dictInit() }, mounted() { - + this.getCustomerOrgGroupAsbitems(this.customerOrgGroup.id); - + }, updated() { @@ -415,7 +418,7 @@ export default { this.getCustomerOrgGroup(v.id); }, - + //获取体检次数下的分组 getCustomerOrgGroup(customerOrgRegisterId) { // this.isDrag = false; @@ -465,7 +468,7 @@ export default { }, //按项目类别显示组合项目,并过滤已选择的组合项目 // 刷新快速选择数据集 - refAsbItemByChoosed() { + refAsbItemByChoosed() { //刷新显示 未选组合项目 arrayReduce(this.dict.asbItem, [...this.customerOrgGroupAsbitems], "id=asbitemId"); arrayReduce(this.dict.asbItemQuick, [...this.customerOrgGroupAsbitems], "id=asbitemId"); @@ -549,16 +552,33 @@ export default { arrayReduce(asbItemChoosed, this.customerOrgGroupAsbitems, "id=asbitemId") for (let i = asbItemChoosed.length - 1; i > - 1; i--) { - if (this.customerOrgGroup.forSexId == 'A') break //未选性别时,无需判断组合项目性别限制 - if (asbItemChoosed[i].forSexId == 'A' || asbItemChoosed[i].forSexId == 'U') continue - if (asbItemChoosed[i].forSexId != this.customerOrgGroup.forSexId) { - message.push(asbItemChoosed[i].displayName) //.warning(`所选项目:${asbItemChoosed[i].displayName},不适合当前人员性别`) - checked = false - asbItemChoosed.splice(i, 1) + //未选性别时,无需判断组合项目性别限制 + if (this.customerOrgGroup.forSexId == 'A' && this.customerOrgGroup.maritalStatusId == 'A') { + break; + } else { + if (this.customerOrgGroup.forSexId != 'A'){ + if (!(asbItemChoosed[i].forSexId == 'A' || asbItemChoosed[i].forSexId == 'U')) { + if (asbItemChoosed[i].forSexId != this.customerOrgGroup.forSexId) { + message.push(asbItemChoosed[i].displayName) //.warning(`所选项目:${asbItemChoosed[i].displayName},不适合当前人员性别`) + checked = false + asbItemChoosed.splice(i, 1) + } + } + } + // 再判断婚姻 + if (!(checked || asbItemChoosed[i].maritalStatusId == 'A' || asbItemChoosed[i].maritalStatusId == 'U')) { + if (asbItemChoosed[i].maritalStatusId != this.customerOrgGroup.maritalStatusId) { + message.push(asbItemChoosed[i].displayName) //.warning(`所选项目:${asbItemChoosed[i].displayName},不适合当前人员性别`) + checked = false + asbItemChoosed.splice(i, 1) + } + } } + + } //console.log(222,checked) - if (!checked) this.$message.warning(`所选项目【${JSON.stringify(message)}】不适合当前人员性别`) + if (!checked) this.$message.warning(`所选项目【${JSON.stringify(message)}】不适合当前人员性别或婚姻状态`) for (let i = 0; i < asbItemChoosed.length; i++) { let pojo = { @@ -702,7 +722,7 @@ export default { lfind = arrayExistObj(this.customerOrgGroupAsbitems, 'asbitemId', absForDel[i].asbitemId) if (lfind > -1) this.customerOrgGroupAsbitems.splice(lfind, 1) - lfind = arrayExistObj(this.dict.asbItemAll,'id',absForDel[i].asbitemId) + lfind = arrayExistObj(this.dict.asbItemAll, 'id', absForDel[i].asbitemId) if (lfind > -1) this.dict.asbItem.push(this.dict.asbItemAll[lfind]) absForDel.splice(i, 1) @@ -710,7 +730,7 @@ export default { } - if(Array.isArray(this.itemTypeIds) && this.itemTypeIds.length > 0 ) this.changeItemTypeIds(this.itemTypeIds) + if (Array.isArray(this.itemTypeIds) && this.itemTypeIds.length > 0) this.changeItemTypeIds(this.itemTypeIds) //按项目类别显示组合项目,并过滤已选择的组合项目 // 刷新快速选择数据集 this.refAsbItemByChoosed() @@ -984,19 +1004,10 @@ export default { }) let group = deepCopy(this.customerOrgGroup); - postapi('/api/app/customerorggroupdetail/createcustomerorggroupdetailmany', body - ) - // .then(res => { - // if(res.code != -1){ - // delete group.id; - // delete group.customerOrgId; - // delete group.isComplete; - // group.price = this.groupPrice - // // console.log('this.customerOrgGroup',this.customerOrgGroup) - // // console.log('group',group) - // return putapi(`/api/app/customer-org-group/${this.customerOrgGroup.id}`, group) - // } - // }) 后台合并事务 + this.checkAsbItemHC() + .then(() => { + return postapi('/api/app/customerorggroupdetail/createcustomerorggroupdetailmany', body) + }) .then(res => { if (res && res.code != -1) { console.log("操作成功"); @@ -1042,36 +1053,126 @@ export default { }, // 快速复制/粘贴 分组项目 - btnCopyGroupAsbitem(){ - if(this.customerOrgGroupAsbitems.length == 0){ - this.$message.warning({showClose:true,message:'没有可复制的项目,请先选择分组'}) + btnCopyGroupAsbitem() { + if (this.customerOrgGroupAsbitems.length == 0) { + this.$message.warning({ showClose: true, message: '没有可复制的项目,请先选择分组' }) return } this.dataTransOpts.copyGroupAsbitem = deepCopy(this.customerOrgGroupAsbitems) - this.$message.success({showClose:true,message:'操作成功!'}) + this.$message.success({ showClose: true, message: '操作成功!' }) }, // 快速复制/粘贴 分组项目 - btnPastGroupAsbitem(){ - let lfind = -1 + btnPastGroupAsbitem() { + let lfind = -1, lfind2 = -1 this.dataTransOpts.copyGroupAsbitem.forEach(e => { - lfind = arrayExistObj(this.customerOrgGroupAsbitems,'asbitemId',e.asbitemId) - if(lfind == -1){ - let pojo = Object.assign({},e,{id:Date.now(),}) - this.customerOrgGroupAsbitems.push(pojo) + lfind = arrayExistObj(this.customerOrgGroupAsbitems, 'asbitemId', e.asbitemId) + if (lfind == -1) { + + lfind2 = arrayExistObj(this.dict.asbItemAll, 'id', e.asbitemId) + if (lfind2 > -1) { + let pojo = Object.assign({}, e, { id: Date.now(), }) + if (this.customerOrgGroup.forSexId == 'A' && this.customerOrgGroup.maritalStatusId == 'A') { + this.customerOrgGroupAsbitems.push(pojo) + } else { + let pasteAble = true // 默认可复制 + if (this.customerOrgGroup.forSexId != 'A'){ + if (!(this.dict.asbItemAll[lfind2].forSexId == 'A' || this.dict.asbItemAll[lfind2].forSexId == 'U')) { + if (this.dict.asbItemAll[lfind2].forSexId != this.customerOrgGroup.forSexId) { + this.$message.warning({showClose:true,message:`${this.dict.asbItemAll[lfind2].displayName} 不适合当前性别`}) + pasteAble = false + } + } + } + // 再判断婚姻 + if (!(checked || this.dict.asbItemAll[lfind2].maritalStatusId == 'A' || this.dict.asbItemAll[lfind2].maritalStatusId == 'U')) { + if (this.dict.asbItemAll[lfind2].maritalStatusId != this.customerOrgGroup.maritalStatusId) { + this.$message.warning({showClose:true,message:`${this.dict.asbItemAll[lfind2].displayName} 不适合当前婚姻状态`}) + pasteAble = false + } + } + if(pasteAble) this.customerOrgGroupAsbitems.push(pojo) + } + } } }); this.dataTransOpts.copyGroupAsbitem = [] this.refAsbItemByChoosed() - this.$message.success({showClose:true,message:'操作成功!'}) - } + this.$message.success({ showClose: true, message: '操作成功!' }) + }, + + // 检查项目互斥 + checkAsbItemHC() { + return new Promise((resolve, reject) => { + let asbitemIds = [] + //console.log('this.dataTransOpts.tableM.register_check_asbitem',this.dataTransOpts.tableM.register_check_asbitem) + this.customerOrgGroupAsbitems.forEach(e => { + asbitemIds.push(e.asbitemId) + }); + + let message = '' + if (asbitemIds.length == 0) { + resolve() + } else { + postapi('/api/app/AsbitemMutualExclusion/GetAsbitemIsMutualExclusion', { asbitemIds }) + .then(res => { + if (res.code > -1) { + if (res?.data?.message) message = res.data.message + } + }) + .finally(() => { + if (message) { + switch (this.hc_warn_mode) { + case '1': '' + this.$confirm(`${message} 是否继续?`, "提示", { + confirmButtonText: "是", + cancelButtonText: " 否 ", + type: "warning", + }) + .then(() => { + resolve() + }) + .catch((err) => { + reject(message) + // if (err == "cancel") { + // console.log("已取消删除"); + // } + }); + break; + case '2': + this.$message.error({ showClose: true, message }) + reject(message) + break; + default: + this.$message.warning({ showClose: true, message }) + resolve() + break; + } + } else { + resolve() + } + }) + } + }) + + }, + - }, //监听事件 watch: { + // 切换分组时,如果未选项目类别,则清空 左侧待选的项目 + "dataTransOpts.tableS.customer_org_group.id": { + handler(newVal, oldVal) { + if (newVal != oldVal) { + if (!(Array.isArray(this.itemTypeIds) && this.itemTypeIds.length > 0)) { + this.dict.asbItem = [] + } + } + } + }, // 体检分组ID未切换换时 也可以强制刷新数据 "dataTransOpts.refresh.customer_org_group_detail.M": { // immediate:true, @@ -1082,13 +1183,13 @@ export default { }, // 显示复制分组页面时,刷单位与体检次数数据 - "groupVisble":{ + "groupVisble": { handler(newVal, oldVal) { - if(newVal){ - console.log('customerOrgGroup',this.customerOrgGroup,this.customerOrgAll,this.curOrgRegisterList) + if (newVal) { + console.log('customerOrgGroup', this.customerOrgGroup, this.customerOrgAll, this.curOrgRegisterList) this.customerOrgDisp = deepCopy(this.customerOrgAll) this.customerOrgRegisterList = deepCopy(this.curOrgRegisterList) - this.customerOrgRegister = deepCopy(this.curOrgRegister) + this.customerOrgRegister = deepCopy(this.curOrgRegister) this.customerOrgId = this.customerOrgGroup.customerOrgId this.customerOrgGroups = deepCopy(this.curOrgGroups) } diff --git a/src/components/doctorCheck/RegisterCheckEdit.vue b/src/components/doctorCheck/RegisterCheckEdit.vue index b882616..2bdf178 100644 --- a/src/components/doctorCheck/RegisterCheckEdit.vue +++ b/src/components/doctorCheck/RegisterCheckEdit.vue @@ -20,13 +20,13 @@
审核医生 + style="width: 80px" size="small" :disabled="doctorCheck.RegisterCheckEdit.isAudit == 'Y' ? true:false">
审核日期 - +
diff --git a/src/components/patientRegister/patientRegisterQuery.vue b/src/components/patientRegister/patientRegisterQuery.vue index f8781ab..e02c5a2 100644 --- a/src/components/patientRegister/patientRegisterQuery.vue +++ b/src/components/patientRegister/patientRegisterQuery.vue @@ -194,6 +194,12 @@ export default { this.patientRegister.query.sex = '' this.patientRegister.query.phone = '' this.patientRegister.query.idCardNo = '' + + this.patientRegister.query.medicalTypeIds = null + this.patientRegister.query.completeFlags = null + this.patientRegister.query.personnelTypeIds = null + this.patientRegister.query.isRecoverGuide = null + }, init(customerOrgId) { diff --git a/src/store/index.js b/src/store/index.js index 00d68c2..eaa1933 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -213,6 +213,7 @@ export default new Vuex.Store({ patientName: '', //姓名 sex: '', //性别 idCardNo: '', //身份证号 + phone:'', // 手机号 isReportPrint:'', // 报告是否打印 isSeries: 'N', isSmsComplete: "N", diff --git a/src/views/doctorCheck/doctorCheck.vue b/src/views/doctorCheck/doctorCheck.vue index 662d42c..221c7e5 100644 --- a/src/views/doctorCheck/doctorCheck.vue +++ b/src/views/doctorCheck/doctorCheck.vue @@ -835,6 +835,8 @@ export default { //auditorUserId: "3fa85f64-5717-4562-b3fc-2c963f66afa6", //auditTime: "string" 不传时,取当前时间 } + if(this.doctorCheck.RegisterCheckEdit.auditorUserId) body.auditorUserId = this.doctorCheck.RegisterCheckEdit.auditorUserId + console.log(`/api/app/registercheck/updateauditordoctor`, body) postapi(`/api/app/registercheck/updateauditordoctor`, body)