From 6792d11a8b813818a07fef712254e34aaeb66fd7 Mon Sep 17 00:00:00 2001 From: pengjun <158915633@qq.com> Date: Sat, 24 Jan 2026 21:36:16 +0800 Subject: [PATCH] seo --- public/sysConfig.json | 7 +- .../patientRegister/PatientRegisterList.vue | 2 +- .../PatientRegisterRecoverList.vue | 385 ++++++++------ .../PatientRegisterRefuseList.vue | 492 +++++++++++++---- .../PatientRegisterSignList.vue | 501 ++++++++++++++---- .../patientRegister/patientRegisterQuery.vue | 1 + src/components/sumDoctorCheck/ButtonList.vue | 112 ++-- src/components/sumDoctorCheck/SumSug.vue | 137 +++-- .../customerOrg/patientRegisterRecover.vue | 48 +- .../customerOrg/patientRegisterRefuse.vue | 39 +- src/views/customerOrg/patientRegisterSign.vue | 51 +- 11 files changed, 1266 insertions(+), 509 deletions(-) diff --git a/public/sysConfig.json b/public/sysConfig.json index ab718ba..5964923 100644 --- a/public/sysConfig.json +++ b/public/sysConfig.json @@ -1,7 +1,7 @@ { - "apiurl": "http://192.168.0.188:9527", + "apiurl": "http://192.168.0.188:9530", "softName": "神豚体检管理系统", - "pacsApi": "http://192.168.0.188:9527", + "pacsApi": "http://192.168.0.188:9530", "dcmViewers": "https://app.mzaktj.com:4436", "pacsApiHttps": "https://app.mzaktj.com:8042", "dict":{ @@ -10,9 +10,6 @@ { "id": "1", "displayName": "未检" }, { "id": "2", "displayName": "部份已检" }, { "id": "3", "displayName": "已总检" } - ], - "businessPlace":[ - "B座","C座" ] } } \ No newline at end of file diff --git a/src/components/patientRegister/PatientRegisterList.vue b/src/components/patientRegister/PatientRegisterList.vue index 6d7f5e6..8f32f15 100644 --- a/src/components/patientRegister/PatientRegisterList.vue +++ b/src/components/patientRegister/PatientRegisterList.vue @@ -9,7 +9,7 @@ : Math.floor(((window.pageHeight - 250) * 2) / 3) " highlight-current-row @row-click="rowClick" @row-dblclick="dblClick" size="small" row-key="id" @selection-change="handleSelectionChange" @row-contextmenu="onCellRightClick" ref="info" id="info" - :row-class-name="handleRowClassName" use-virtual :row-height="35" @table-body-scroll="scrollFull" + :row-class-name="handleRowClassName" use-virtual :row-height="25" @table-body-scroll="scrollFull" big-data-checkbox :data-changes-scroll-top="false">
+ size="small" highlight-current-row ref="dataList" @selection-change="handleSelectionChange" @row-click="rowClick" @table-body-scroll="scrollFull" use-virtual :row-height="25" big-data-checkbox :data-changes-scroll-top="false"> @@ -89,7 +89,6 @@ -
@@ -150,6 +149,7 @@ export default { UTable, UTableColumn, }, + props: ["refQueryCondition"], data() { return { tableData: [], //列表数据 @@ -167,6 +167,9 @@ export default { patientRegisterNo: '', + patient_register_query_idno: 'Y', // 身份证排他 + patient_register_query_name: 'N', // 姓名排他 + patient_register_read_idno_upPhoto: 'N', // 读身份证查询 是否更新照片 LocalConfig: { normal: { @@ -234,7 +237,34 @@ export default { this.LocalConfig.normal.maxResultCount || 100 ); - this.loadOptsInit = Object.assign({}, this.loadOpts); + this.loadOptsInit = Object.assign({}, this.loadOpts); + + // 获取系统参数 -- 身份证排他 + postapi("/api/app/SysParmValue/GetSysParmValueBySysParmId", + { sysParmId: "patient_register_query_idno" } + ).then((res) => { + if (res.code > -1) { + this.patient_register_query_idno = res.data || "Y"; + } + }); + + // 获取系统参数 -- 姓名排他 + postapi("/api/app/SysParmValue/GetSysParmValueBySysParmId", + { sysParmId: "patient_register_query_name" } + ).then((res) => { + if (res.code > -1) { + this.patient_register_query_name = res.data || "N"; + } + }); + + // 获取系统参数 -- 读身份证 是否更新照片 + postapi("/api/app/SysParmValue/GetSysParmValueBySysParmId", + { sysParmId: "patient_register_read_idno_upPhoto" } + ).then((res) => { + if (res.code > -1) { + this.patient_register_read_idno_upPhoto = res.data || "N"; + } + }); }, //挂载完成 @@ -387,8 +417,8 @@ export default { await this.getPrList(); this.lazyLoading = false }, - - // 获取列表数据 + + // 查询获取人员列表数据 async getPrList() { if ( this.loadOpts.skipCount != 0 && @@ -398,194 +428,198 @@ export default { return; // console.log('getPrList', this.loadOpts) - let body = { - skipCount: this.loadOpts.skipCount, - maxResultCount: this.loadOpts.maxResultCount, - }; - - // console.log(`this.patientRegister.query`, this.patientRegister.query); - if (this.patientRegister.query.customerOrgFlag) { - // if (this.patientRegister.query.CustomerOrgParentId) { - // body.customerOrgId = this.patientRegister.query.CustomerOrgParentId; - // } else { - // if (this.patientRegister.query.customerOrgId) - // body.customerOrgId = this.patientRegister.query.customerOrgId; - // } - if (this.patientRegister.query.customerOrgId) - body.customerOrgId = this.patientRegister.query.customerOrgId; - - // 获取单位体检次数与分组 - try { - if ( - this.patientRegister.query.customerOrgId && - this.patientRegister.query.customerOrgId != this.dict.personOrgId && - this.patientRegister.query.customerOrgRegister.id - ) { - body.customerOrgRegisterId = - this.patientRegister.query.customerOrgRegister.id; - body.customerOrgGroupIds = - this.patientRegister.query.customerOrgGroupIds; + let body = Object.assign({}, this.loadOpts) + let queryType = this.refQueryCondition.queryType + + console.log('getPrList.this.refQueryCondition', this.refQueryCondition) + // 非排他查询条件 ===================== Start ========================== + if (!queryType) { + + // 查询条件--日期 + if (this.refQueryCondition.startDate && this.refQueryCondition.endDate) { + body.dateType = this.refQueryCondition.dateType; + body.startDate = this.refQueryCondition.startDate + body.endDate = this.refQueryCondition.endDate + if (body.startDate > body.endDate) { + this.$message.warning({ + showClose: true, + message: "起始日期不能大于截止日期,数据校验不通过!", + }); + return; } - } catch (error) { - console.error(error) } - } - - if (this.patientRegister.query.sex) - body.sexId = this.patientRegister.query.sex; - - if (this.patientRegister.query.patientName) - body.patientName = this.patientRegister.query.patientName; - - if ( - this.patientRegister.query.medicalTypeIds && - this.patientRegister.query.medicalTypeIds.length > 0 - ) - body.medicalTypeIds = this.patientRegister.query.medicalTypeIds; - - if ( - this.patientRegister.query.completeFlags && - this.patientRegister.query.completeFlags.length > 0 - ) - body.completeFlags = this.patientRegister.query.completeFlags; - - if ( - this.patientRegister.query.personnelTypeIds && - this.patientRegister.query.personnelTypeIds.length > 0 - ) - body.personnelTypeIds = this.patientRegister.query.personnelTypeIds; - - if (this.patientRegister.query.isRecoverGuide) - body.isRecoverGuide = this.patientRegister.query.isRecoverGuide; - //StartDate EndDate - if ( - this.patientRegister.query.startDate && - this.patientRegister.query.endDate - ) { - body.dateType = this.patientRegister.query.dateType; - body.startDate = moment(this.patientRegister.query.startDate).format( - "yyyy-MM-DD" - ); - body.endDate = moment(this.patientRegister.query.endDate).format( - "yyyy-MM-DD" - ); - if (body.startDate > body.endDate) { - this.$message.warning({ - showClose: true, - message: "起始日期不能大于截止日期,数据校验不通过!", - }); - return; + // 查询条件--单位、次数、分组 + if (this.refQueryCondition.customerOrgFlag) { + if (this.refQueryCondition.customerOrgId) body.customerOrgId = this.refQueryCondition.customerOrgId + // 获取单位体检次数与分组 + try { + if ( + this.refQueryCondition.customerOrgId && + this.refQueryCondition.customerOrgId != this.dict.personOrgId && + this.refQueryCondition.customerOrgRegister.id + ) { + body.customerOrgRegisterId = this.refQueryCondition.customerOrgRegister.id; + if (this.refQueryCondition.customerOrgGroupIds) body.customerOrgGroupIds = this.refQueryCondition.customerOrgGroupIds + } + } catch (error) { + console.error(error); + } } - } - if (this.patientRegister.query.phone) - body.phone = this.patientRegister.query.phone; - - if (this.patientRegister.query.idCardNo) { - body.idNo = this.patientRegister.query.idCardNo; + // 电话 + if (this.refQueryCondition.phone) body.phone = this.refQueryCondition.phone + // 性别 + if (this.refQueryCondition.sexId) body.sexId = this.refQueryCondition.sexId + // 体检类别 + if (this.refQueryCondition.medicalTypeIds) body.medicalTypeIds = this.refQueryCondition.medicalTypeIds + // 人员状态 + if (this.refQueryCondition.completeFlags) body.completeFlags = this.refQueryCondition.completeFlags + // 人员类别 + if (this.refQueryCondition.personnelTypeIds) body.personnelTypeIds = this.refQueryCondition.personnelTypeIds + // 表格回收状态 + if (this.refQueryCondition.isRecoverGuide) body.isRecoverGuide = this.refQueryCondition.isRecoverGuide + + // 排他条件有值时 + if (this.refQueryCondition.patientRegisterNo) { + queryType = "patientRegisterNo" + } else if (this.refQueryCondition.pacsNo) { + queryType = "pacsNo" + } else if (this.refQueryCondition.lisNo) { + queryType = "lisNo" + } else if (this.refQueryCondition.patientNo) { + queryType = "patientNo" + } else if (this.refQueryCondition.idCardNo) { + queryType = "idCardNo" + } else if (this.refQueryCondition.patientName) { + queryType = "patientName" + } - try { - let sysParmId = "patient_register_query_idno"; - let sysParam = await postapi( - "/api/app/SysParmValue/GetSysParmValueBySysParmId", - { sysParmId } - ); - // console.log('sysParam', sysParam) - if (sysParam.data != "N") { + } + // 非排他查询条件 ===================== End ========================== + + // 排他查询条件 + let photo = '' + switch (queryType) { + case 'patientName': // 姓名排他判断 + if (this.refQueryCondition.patientName) { + body.patientName = this.refQueryCondition.patientName; + if (this.patient_register_query_name == 'Y') { + body = { + patientName: this.refQueryCondition.patientName, + skipCount: this.loadOpts.skipCount, + maxResultCount: this.loadOpts.maxResultCount, + }; + } + } + break; + case 'idCardNo': // 身份证排他判断 + if (this.refQueryCondition.idCardNo) { + body.idNo = this.refQueryCondition.idCardNo; + if (this.patient_register_query_idno == 'Y') { + body = { + idNo: this.refQueryCondition.idCardNo, + skipCount: this.loadOpts.skipCount, + maxResultCount: this.loadOpts.maxResultCount, + }; + } + } + if (this.refQueryCondition.photo) photo = this.refQueryCondition.photo; + break; + case 'patientNo': // 档案号排他判断 + if (this.refQueryCondition.patientNo) body = { - idNo: this.patientRegister.query.idCardNo, + patientNo: this.refQueryCondition.patientNo, skipCount: this.loadOpts.skipCount, maxResultCount: this.loadOpts.maxResultCount, }; - } - } catch (error) { - console.log(error); - } + break; + case 'patientRegisterNo': // 条码号排他判断 + if (this.refQueryCondition.patientRegisterNo) + body = { + patientRegisterNo: this.refQueryCondition.patientRegisterNo, + skipCount: this.loadOpts.skipCount, + maxResultCount: this.loadOpts.maxResultCount, + }; + break; + case 'pacsNo': // 检查条码排他判断 + if (this.refQueryCondition.pacsNo) + body = { + pacsNo: this.refQueryCondition.pacsNo, + skipCount: this.loadOpts.skipCount, + maxResultCount: this.loadOpts.maxResultCount, + }; + break; + case 'lisNo': // 检验条码排他判断 + if (this.refQueryCondition.lisNo) + body = { + lisNo: this.refQueryCondition.lisNo, + skipCount: this.loadOpts.skipCount, + maxResultCount: this.loadOpts.maxResultCount, + }; + break; + default: // + break; } - if (this.patientRegister.query.patientNo) - body = { - patientNo: this.patientRegister.query.patientNo, - skipCount: this.loadOpts.skipCount, - maxResultCount: this.loadOpts.maxResultCount, - }; - - if (this.patientRegister.query.patientRegisterNo) - body = { - patientRegisterNo: this.patientRegister.query.patientRegisterNo, - skipCount: this.loadOpts.skipCount, - maxResultCount: this.loadOpts.maxResultCount, - }; - - // console.log("/api/app/patientregister/getlistinfilter", body); - let upPhoto = "patient_register_read_idno_upPhoto"; // 是否读身份证查询更新照片 - let upPhotoParam = await postapi( - "/api/app/SysParmValue/GetSysParmValueBySysParmId", - { sysParmId: upPhoto } - ); - let photo = this.patientRegister.photo; - this.patientRegister.photo = ""; - - postapi("/api/app/patientregister/getlistinfilter", body).then( - async (res) => { - if (res.code > -1) { - // 刷新最大记录数 - this.loadOpts.totalCount = res.data.totalCount; - let curLoad = res.data.items; - - // let oldCount = 0 - // 处理: + // 带费且合计 /api/app/PatientRegister/GetPatientRegisterWithCharge + // 不带费且合计 /api/app/patientregister/getlistinfilter + postapi( + "/api/app/patientregister/getlistinfilter", + body + ).then(async (res) => { + if (res.code > -1) { + // 刷新最大记录数 + this.loadOpts.totalCount = res.data.totalCount; + let curLoad = res.data.items; + + // let oldCount = 0 + // 处理: + // 1、分组/套餐 排序混乱的问题 + // 2、扫身份证查询时,无照片自动更新照片(参数控制) + curLoad.forEach((e) => { // 1、分组/套餐 排序混乱的问题 - // 2、扫身份证查询时,无照片自动更新照片(参数控制) - curLoad.forEach((e) => { - // 1、分组/套餐 排序混乱的问题 - if (e.customerOrgId == this.dict.personOrgId) { - e.groupPack = e.medicalPackageId; - } else { - e.groupPack = e.customerOrgGroupId; - } - - // 2、扫身份证查询时,无照片自动更新照片(参数控制) - if (upPhotoParam == "Y" && photo) { - if (!e.photo) { - savePeoplePhoto(e.id, photo); - } - } - }); + if (e.customerOrgId == this.dict.personOrgId) { + e.groupPack = e.medicalPackageId; + } else { + e.groupPack = e.customerOrgGroupId; + } - // 不是连续扫码时,需要判断是否分页查询(连续扫码不清原来的数据) - console.log( - "this.patientRegister.query", - this.patientRegister.query.isSeries, - this.patientRegister.query.patientRegisterNo - ); - if ( - !( - this.patientRegister.query.isSeries == "Y" && - this.patientRegister.query.patientRegisterNo - ) - ) { - if (body.skipCount == 0) { - //查询 - this.tableData = []; + // 2、扫身份证查询时,无照片自动更新照片(参数控制) + if (this.patient_register_read_idno_upPhoto == "Y" && photo) { + if (!e.photo) { + savePeoplePhoto(e.id, photo); } } + }); - this.tableData = this.tableData.concat(curLoad); - // else { - // // 懒加载 ,原数据集不用清空 - // oldCount = this.tableData.length - // } - // curLoad.forEach((e, index) => { - // this.tableData.push(Object.assign({ index: Number(oldCount) + Number(index), choosed: false }, e)) - // }) - + // 不是连续扫码时,需要判断是否分页查询(连续扫码不清原来的数据) + // console.log("this.refQueryCondition", this.refQueryCondition.isSeries, this.refQueryCondition.patientRegisterNo); + if (this.refQueryCondition.isSeries == "Y" && this.refQueryCondition.patientRegisterNo) { + // 如果已经存在列表中,则不在添加 + for (let index = curLoad.length - 1; index > -1; index--) { + const e = curLoad[index]; + if (arrayExistObj(this.tableData, 'id', e.id) > -1) curLoad.splice(index, 1) + } + } else { + if (body.skipCount == 0) { + //查询 + this.tableData = []; + } } + + this.tableData = this.tableData.concat(curLoad); + // else { + // // 懒加载 ,原数据集不用清空 + // oldCount = this.tableData.length + // } + // curLoad.forEach((e, index) => { + // this.tableData.push(Object.assign({ index: Number(oldCount) + Number(index), choosed: false }, e)) + // }) } - ); + }); }, - + //滚动加载数据 async scrollFull(scroll, event) { @@ -625,6 +659,7 @@ export default { // } // }) }, + btnExport(elId) { let tableDatas = deepCopy(this.tableData) tableDatas.forEach((e, index) => { @@ -647,9 +682,9 @@ export default { //监听事件 watch: { //触发查询事件 - "patientRegister.query.times"(newVal, oldVal) { + "refQueryCondition.queryConditionTimes"(newVal, oldVal) { if (newVal != oldVal) { - //alert('触发查询事件') + console.log('表格回收--触发查询 refQueryCondition.queryConditionTimes', oldVal, newVal) this.Query(); } }, diff --git a/src/components/patientRegister/PatientRegisterRefuseList.vue b/src/components/patientRegister/PatientRegisterRefuseList.vue index ef6de28..7c9c6e8 100644 --- a/src/components/patientRegister/PatientRegisterRefuseList.vue +++ b/src/components/patientRegister/PatientRegisterRefuseList.vue @@ -3,48 +3,48 @@
- - - + + + - - + + - - + + - - + + - - - + + + - - - - - - + + + + + + - - + + - - - + + + - - - - - - - - + + + + + + + + - - + + - - + + - - - - - + + + + + - - - + + + - - + + - - + +
- - - - + + + - - - + + + - - + +
@@ -183,15 +183,16 @@ import { dddw, objCopy, arrayReduce, setCheckStatusColor, setPrStatusColor} from import PatientRegisterEdit from "../../components/patientRegister/PatientRegisterEdit.vue"; import Camera from "../../components/patientRegister/Camera.vue"; - +import { UTable, UTableColumn } from "umy-ui"; export default { components: { PatientRegisterEdit, - Camera, + Camera,UTable, UTableColumn }, + props: ["refQueryCondition"], data() { return { - dataList: [], //列表数据 + tableData: [], //列表数据 multipleSelection: [], //选中的数据列表 quick: { id: "", @@ -199,14 +200,74 @@ export default { patientNo: "", patientName: "", }, + + patient_register_query_idno: 'Y', // 身份证排他 + patient_register_query_name: 'N', // 姓名排他 + patient_register_read_idno_upPhoto: 'N', // 读身份证查询 是否更新照片 + + LocalConfig: { + normal: { + maxResultCount: 100, //分页时单页记录数 + }, + }, + loadOpts: { + totalCount: 0, + skipCount: 0, + maxResultCount: 100, + }, + loadOptsInit: {}, }; }, - created() { }, + created() { + try { + let LocalConfig = JSON.parse(window.localStorage.getItem("LocalConfig") || null) + if (LocalConfig?.normal?.maxResultCount){ + this.LocalConfig.normal.maxResultCount = LocalConfig.normal.maxResultCount + } + + } catch (error) { + console.log('window.localStorage.getItem("LocalConfig")', error); + } + + // console.log('this.LocalConfig',this.LocalConfig) + this.loadOpts.maxResultCount = Number( + this.LocalConfig.normal.maxResultCount || 100 + ); + + this.loadOptsInit = Object.assign({}, this.loadOpts); + + // 获取系统参数 -- 身份证排他 + postapi("/api/app/SysParmValue/GetSysParmValueBySysParmId", + { sysParmId: "patient_register_query_idno" } + ).then((res) => { + if (res.code > -1) { + this.patient_register_query_idno = res.data || "Y"; + } + }); + + // 获取系统参数 -- 姓名排他 + postapi("/api/app/SysParmValue/GetSysParmValueBySysParmId", + { sysParmId: "patient_register_query_name" } + ).then((res) => { + if (res.code > -1) { + this.patient_register_query_name = res.data || "N"; + } + }); + + // 获取系统参数 -- 读身份证 是否更新照片 + postapi("/api/app/SysParmValue/GetSysParmValueBySysParmId", + { sysParmId: "patient_register_read_idno_upPhoto" } + ).then((res) => { + if (res.code > -1) { + this.patient_register_read_idno_upPhoto = res.data || "N"; + } + }); + }, //挂载完成 mounted() { - this.dataList = [] + this.tableData = [] this.doctorCheck.RegisterCheckList = [] }, computed: { @@ -394,75 +455,280 @@ export default { }, //查询 - query() { - let body = {}; - - console.log(`this.patientRegister.query`, this.patientRegister.query); - if (this.patientRegister.query.customerOrgFlag) { - if (this.patientRegister.query.CustomerOrgParentId) { - body.customerOrgId = this.patientRegister.query.CustomerOrgParentId; - } else { - if (this.patientRegister.query.customerOrgId) - body.customerOrgId = this.patientRegister.query.customerOrgId[0]; - } + async Query() { + // 查询时,清掉明细数据 (滚动时不清) + this.tableDataCurrentRow = {}; // 清除选择 + if ( + !( + this.patientRegister.query.isSeries == "Y" && + this.patientRegister.query.patientRegisterNo + ) + ) { + this.tableData = []; } + - if (this.patientRegister.query.sex) - body.sexId = this.patientRegister.query.sex; + this.loadOpts = Object.assign(this.loadOpts, this.loadOptsInit); + await this.getPrList(); + }, - if (this.patientRegister.query.patientName) - body.patientName = this.patientRegister.query.patientName; + //数据量多时,滚动加载 + async load() { + this.loadOpts.skipCount++; + await this.getPrList(); + this.lazyLoading = false + }, + + // 查询获取人员列表数据 + async getPrList() { + if ( + this.loadOpts.skipCount != 0 && + this.loadOpts.skipCount * this.loadOpts.maxResultCount >= + this.loadOpts.totalCount + ) + return; + // console.log('getPrList', this.loadOpts) + + let body = Object.assign({}, this.loadOpts) + let queryType = this.refQueryCondition.queryType + + console.log('getPrList.this.refQueryCondition', this.refQueryCondition) + // 非排他查询条件 ===================== Start ========================== + if (!queryType) { + + // 查询条件--日期 + if (this.refQueryCondition.startDate && this.refQueryCondition.endDate) { + body.dateType = this.refQueryCondition.dateType; + body.startDate = this.refQueryCondition.startDate + body.endDate = this.refQueryCondition.endDate + if (body.startDate > body.endDate) { + this.$message.warning({ + showClose: true, + message: "起始日期不能大于截止日期,数据校验不通过!", + }); + return; + } + } - if (this.patientRegister.query.completeFlag) - body.completeFlag = this.patientRegister.query.completeFlag; + // 查询条件--单位、次数、分组 + if (this.refQueryCondition.customerOrgFlag) { + if (this.refQueryCondition.customerOrgId) body.customerOrgId = this.refQueryCondition.customerOrgId + // 获取单位体检次数与分组 + try { + if ( + this.refQueryCondition.customerOrgId && + this.refQueryCondition.customerOrgId != this.dict.personOrgId && + this.refQueryCondition.customerOrgRegister.id + ) { + body.customerOrgRegisterId = this.refQueryCondition.customerOrgRegister.id; + if (this.refQueryCondition.customerOrgGroupIds) body.customerOrgGroupIds = this.refQueryCondition.customerOrgGroupIds + } + } catch (error) { + console.error(error); + } + } - //StartDate EndDate - if ( - this.patientRegister.query.startDate && - this.patientRegister.query.endDate - ) { - body.startDate = moment(this.patientRegister.query.startDate).format( - "yyyy-MM-DD" - ); - body.endDate = moment(this.patientRegister.query.endDate).format( - "yyyy-MM-DD" - ); - if (body.startDate > body.endDate) { - this.$message.warning({ showClose: true, message: "起始日期不能大于截止日期,数据校验不通过!" }); - return; + // 电话 + if (this.refQueryCondition.phone) body.phone = this.refQueryCondition.phone + // 性别 + if (this.refQueryCondition.sexId) body.sexId = this.refQueryCondition.sexId + // 体检类别 + if (this.refQueryCondition.medicalTypeIds) body.medicalTypeIds = this.refQueryCondition.medicalTypeIds + // 人员状态 + if (this.refQueryCondition.completeFlags) body.completeFlags = this.refQueryCondition.completeFlags + // 人员类别 + if (this.refQueryCondition.personnelTypeIds) body.personnelTypeIds = this.refQueryCondition.personnelTypeIds + // 表格回收状态 + if (this.refQueryCondition.isRecoverGuide) body.isRecoverGuide = this.refQueryCondition.isRecoverGuide + + // 排他条件有值时 + if (this.refQueryCondition.patientRegisterNo) { + queryType = "patientRegisterNo" + } else if (this.refQueryCondition.pacsNo) { + queryType = "pacsNo" + } else if (this.refQueryCondition.lisNo) { + queryType = "lisNo" + } else if (this.refQueryCondition.patientNo) { + queryType = "patientNo" + } else if (this.refQueryCondition.idCardNo) { + queryType = "idCardNo" + } else if (this.refQueryCondition.patientName) { + queryType = "patientName" } + + } + // 非排他查询条件 ===================== End ========================== + + // 排他查询条件 + let photo = '' + switch (queryType) { + case 'patientName': // 姓名排他判断 + if (this.refQueryCondition.patientName) { + body.patientName = this.refQueryCondition.patientName; + if (this.patient_register_query_name == 'Y') { + body = { + patientName: this.refQueryCondition.patientName, + skipCount: this.loadOpts.skipCount, + maxResultCount: this.loadOpts.maxResultCount, + }; + } + } + break; + case 'idCardNo': // 身份证排他判断 + if (this.refQueryCondition.idCardNo) { + body.idNo = this.refQueryCondition.idCardNo; + if (this.patient_register_query_idno == 'Y') { + body = { + idNo: this.refQueryCondition.idCardNo, + skipCount: this.loadOpts.skipCount, + maxResultCount: this.loadOpts.maxResultCount, + }; + } + } + if (this.refQueryCondition.photo) photo = this.refQueryCondition.photo; + break; + case 'patientNo': // 档案号排他判断 + if (this.refQueryCondition.patientNo) + body = { + patientNo: this.refQueryCondition.patientNo, + skipCount: this.loadOpts.skipCount, + maxResultCount: this.loadOpts.maxResultCount, + }; + break; + case 'patientRegisterNo': // 条码号排他判断 + if (this.refQueryCondition.patientRegisterNo) + body = { + patientRegisterNo: this.refQueryCondition.patientRegisterNo, + skipCount: this.loadOpts.skipCount, + maxResultCount: this.loadOpts.maxResultCount, + }; + break; + case 'pacsNo': // 检查条码排他判断 + if (this.refQueryCondition.pacsNo) + body = { + pacsNo: this.refQueryCondition.pacsNo, + skipCount: this.loadOpts.skipCount, + maxResultCount: this.loadOpts.maxResultCount, + }; + break; + case 'lisNo': // 检验条码排他判断 + if (this.refQueryCondition.lisNo) + body = { + lisNo: this.refQueryCondition.lisNo, + skipCount: this.loadOpts.skipCount, + maxResultCount: this.loadOpts.maxResultCount, + }; + break; + default: // + break; } - if (this.patientRegister.query.idCardNo) - body = { idNo: this.patientRegister.query.idCardNo }; + // 带费且合计 /api/app/PatientRegister/GetPatientRegisterWithCharge + // 不带费且合计 /api/app/patientregister/getlistinfilter + postapi( + "/api/app/patientregister/getlistinfilter", + body + ).then(async (res) => { + if (res.code > -1) { + // 刷新最大记录数 + this.loadOpts.totalCount = res.data.totalCount; + let curLoad = res.data.items; + + // let oldCount = 0 + // 处理: + // 1、分组/套餐 排序混乱的问题 + // 2、扫身份证查询时,无照片自动更新照片(参数控制) + curLoad.forEach((e) => { + // 1、分组/套餐 排序混乱的问题 + if (e.customerOrgId == this.dict.personOrgId) { + e.groupPack = e.medicalPackageId; + } else { + e.groupPack = e.customerOrgGroupId; + } + + // 2、扫身份证查询时,无照片自动更新照片(参数控制) + if (this.patient_register_read_idno_upPhoto == "Y" && photo) { + if (!e.photo) { + savePeoplePhoto(e.id, photo); + } + } + }); + + // 不是连续扫码时,需要判断是否分页查询(连续扫码不清原来的数据) + // console.log("this.refQueryCondition", this.refQueryCondition.isSeries, this.refQueryCondition.patientRegisterNo); + if (this.refQueryCondition.isSeries == "Y" && this.refQueryCondition.patientRegisterNo) { + // 如果已经存在列表中,则不在添加 + for (let index = curLoad.length - 1; index > -1; index--) { + const e = curLoad[index]; + if (arrayExistObj(this.tableData, 'id', e.id) > -1) curLoad.splice(index, 1) + } + } else { + if (body.skipCount == 0) { + //查询 + this.tableData = []; + } + } + + this.tableData = this.tableData.concat(curLoad); + // else { + // // 懒加载 ,原数据集不用清空 + // oldCount = this.tableData.length + // } + // curLoad.forEach((e, index) => { + // this.tableData.push(Object.assign({ index: Number(oldCount) + Number(index), choosed: false }, e)) + // }) + } + }); + }, + - if (this.patientRegister.query.patientNo) - body = { patientNo: this.patientRegister.query.patientNo }; + //滚动加载数据 + async scrollFull(scroll, event) { + if (!scroll.judgeFlse) return; - if (this.patientRegister.query.patientRegisterNo) - body = { - patientRegisterNo: this.patientRegister.query.patientRegisterNo, - }; + // 正在加载时阻止重复触发 + if (this.lazyLoading) return; + if ( + (Number(this.loadOpts.skipCount) + 1) * + Number(this.loadOpts.maxResultCount) >= + Number(this.loadOpts.totalCount) + ) { + return; + } - console.log("/api/app/patientregister/getlistinfilter", body); - this.dataList = [] - this.doctorCheck.RegisterCheckList = [] - postapi("/api/app/patientregister/getlistinfilter", body) - .then((res) => { - if (res.code > -1) { - this.dataList = res.data.items; - } - }) + this.lazyLoading = true; + try { + await this.load(); + } catch (e) { + console.error('scrollFull load error', e); + } + // this.dom = this.$refs['tableData'].bodyWrapper + // console.log('obj', this.dom) + + // this.dom.addEventListener('scroll', async () => { + // // console.log('scrollTop',this.dom.scrollTop,'clientHeight',this.dom.clientHeight,'scrollHeight',this.dom.scrollHeight); + // if (this.dom.scrollTop + this.dom.clientHeight + 20 > this.dom.scrollHeight && !this.lazyLoading) { + // // 获取到的不是全部数据 当滚动到底部 + // //console.log('scrollTop', obj.scrollTop, 'clientHeight', obj.clientHeight, 'scrollHeight', obj.scrollHeight); + // if (Number(this.loadOpts.skipCount) * Number(this.loadOpts.maxResultCount) >= Number(this.loadOpts.totalCount)) { + // this.lazyLoading = false + // } else { + // this.lazyLoading = true + // this.load() + // // this.dom.scrollTop = this.dom.scrollTop - 100 + // } + // } + // }) }, }, //监听事件 watch: { //触发查询事件 - "patientRegister.query.times"(newVal, oldVal) { + "refQueryCondition.queryConditionTimes"(newVal, oldVal) { if (newVal != oldVal) { - //alert('触发查询事件') - this.query(); + console.log('弃检--触发查询 refQueryCondition.queryConditionTimes', oldVal, newVal) + this.Query(); } }, }, diff --git a/src/components/patientRegister/PatientRegisterSignList.vue b/src/components/patientRegister/PatientRegisterSignList.vue index 4ba2726..6fe2bf8 100644 --- a/src/components/patientRegister/PatientRegisterSignList.vue +++ b/src/components/patientRegister/PatientRegisterSignList.vue @@ -1,126 +1,122 @@