From 36acf6c513ddefcc78fe99c499df3c119f8acadf Mon Sep 17 00:00:00 2001 From: yangkexiang <1677036288@qq.com> Date: Wed, 17 Jun 2026 15:43:20 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E8=A1=A5=E5=85=85"vxe-pc-ui"=E4=BE=9D?= =?UTF-8?q?=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- healthlink-his-ui/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/healthlink-his-ui/package.json b/healthlink-his-ui/package.json index 3a2ac93ba..0b7f22a71 100755 --- a/healthlink-his-ui/package.json +++ b/healthlink-his-ui/package.json @@ -68,6 +68,7 @@ "vue-plugin-hiprint": "^0.0.60", "vue-router": "^4.6.4", "vxe-table": "^4.19.6", + "vxe-pc-ui": "^4.14.26", "xe-utils": "^4.0.8" }, "devDependencies": { From 84cc974597d9da9711fba082ba4cd69df36c0a7b Mon Sep 17 00:00:00 2001 From: yangkexiang <1677036288@qq.com> Date: Wed, 17 Jun 2026 16:00:26 +0800 Subject: [PATCH 02/19] =?UTF-8?q?=E5=9C=A8=20mrhomepage.js=20=E4=B8=AD?= =?UTF-8?q?=E8=A1=A5=E4=BA=86=E7=BC=BA=E5=A4=B1=E7=9A=84=E4=B8=89=E4=B8=AA?= =?UTF-8?q?=20API=20=E5=87=BD=E6=95=B0=E5=AF=BC=E5=87=BA=EF=BC=9AsaveDeath?= =?UTF-8?q?Discussion=E3=80=81listDeathDiscussions=E3=80=81getPendingDeadl?= =?UTF-8?q?ine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- healthlink-his-ui/src/api/mrhomepage.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/healthlink-his-ui/src/api/mrhomepage.js b/healthlink-his-ui/src/api/mrhomepage.js index 42b95f211..9a49a6a15 100644 --- a/healthlink-his-ui/src/api/mrhomepage.js +++ b/healthlink-his-ui/src/api/mrhomepage.js @@ -9,3 +9,6 @@ export function listHqmsReports(homepageId) { return request({ url: "/api/v1/mr- export function trackStatus(homepageId) { return request({ url: "/api/v1/mr-homepage/tracking/" + homepageId, method: "get" }) } export function borrowRecord(data) { return request({ url: "/api/v1/mr-homepage/tracking/borrow", method: "post", data }) } export function returnRecord(borrowingId) { return request({ url: "/api/v1/mr-homepage/tracking/return", method: "post", params: { borrowingId } }) } +export function saveDeathDiscussion(data) { return request({ url: "/api/v1/mr-homepage/death-discussion/save", method: "post", data }) } +export function listDeathDiscussions(homepageId) { return request({ url: "/api/v1/mr-homepage/death-discussion/list/" + homepageId, method: "get" }) } +export function getPendingDeadline() { return request({ url: "/api/v1/mr-homepage/death-discussion/pending-deadline", method: "get" }) } From f56aa2ad2ef9a455a3ee1f9817782be3c3e7158d Mon Sep 17 00:00:00 2001 From: wangjian963 <15215920+aprilry@user.noreply.gitee.com> Date: Wed, 17 Jun 2026 16:18:34 +0800 Subject: [PATCH 03/19] =?UTF-8?q?780=20=E3=80=90=E6=8A=A4=E5=A3=AB?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=99-=E5=B7=B2=E5=87=BA=E9=99=A2?= =?UTF-8?q?=E3=80=91=E5=88=97=E8=A1=A8=E4=B8=8A=E7=9A=84=E3=80=90=E7=89=B9?= =?UTF-8?q?=E7=BA=A7=E3=80=91=E3=80=90=E4=B8=80=E7=BA=A7=E3=80=91=E3=80=90?= =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E3=80=91=E3=80=90=E4=B8=89=E7=BA=A7=E3=80=91?= =?UTF-8?q?=E7=9A=84=E7=AD=9B=E9=80=89=E6=9F=A5=E8=AF=A2=E6=97=A0=E5=93=8D?= =?UTF-8?q?=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- healthlink-his-ui/src/utils/his.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/healthlink-his-ui/src/utils/his.js b/healthlink-his-ui/src/utils/his.js index 8767839d4..35b1a00a3 100755 --- a/healthlink-his-ui/src/utils/his.js +++ b/healthlink-his-ui/src/utils/his.js @@ -243,11 +243,20 @@ export function tansParams(params) { var part = encodeURIComponent(propName) + '='; if (value !== null && value !== '' && typeof value !== 'undefined') { if (typeof value === 'object') { - for (const key of Object.keys(value)) { - if (value[key] !== null && value[key] !== '' && typeof value[key] !== 'undefined') { - let params = propName + '[' + key + ']'; - var subPart = encodeURIComponent(params) + '='; - result += subPart + encodeURIComponent(value[key]) + '&'; + if (Array.isArray(value)) { + // 数组:序列化为重复同名参数,兼容 Spring @RequestParam List 绑定 + for (const item of value) { + if (item !== null && item !== '' && typeof item !== 'undefined') { + result += part + encodeURIComponent(item) + '&'; + } + } + } else { + for (const key of Object.keys(value)) { + if (value[key] !== null && value[key] !== '' && typeof value[key] !== 'undefined') { + let params = propName + '[' + key + ']'; + var subPart = encodeURIComponent(params) + '='; + result += subPart + encodeURIComponent(value[key]) + '&'; + } } } } else { From 06111ef28477505b93c1288e970fe577c488f6a5 Mon Sep 17 00:00:00 2001 From: guanyu Date: Wed, 17 Jun 2026 16:28:55 +0800 Subject: [PATCH 04/19] =?UTF-8?q?fix(#784):=20guanyu=20(=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=88=E5=85=A5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/prescriptionList.vue | 133 ++++++++++++++++-- 1 file changed, 120 insertions(+), 13 deletions(-) diff --git a/healthlink-his-ui/src/views/inpatientNurse/medicalOrderProofread/components/prescriptionList.vue b/healthlink-his-ui/src/views/inpatientNurse/medicalOrderProofread/components/prescriptionList.vue index 5180fa2b8..39a24468f 100755 --- a/healthlink-his-ui/src/views/inpatientNurse/medicalOrderProofread/components/prescriptionList.vue +++ b/healthlink-his-ui/src/views/inpatientNurse/medicalOrderProofread/components/prescriptionList.vue @@ -15,7 +15,6 @@ 全部 @@ -34,13 +33,9 @@ value-format="YYYY-MM-DD HH:mm:ss" style="width: 200px" /> - 查询 -
@@ -52,18 +47,10 @@ v-model="chooseAll" @change="handelSwitchChange" /> - - 核对通过 - - 退回
@@ -746,3 +733,123 @@ defineExpose({ background-color: #eef9fd !important; } + + + + + + encounterId: item.encounterId, + patientId: item.patientId, + accountId: item.accountId, + therapyEnum: item.therapyEnum, + exePerformRecordList: item.exePerformRecordList, +/** + * 执行医嘱 + */ +function handleExecute() { + let list = getSelectRows(); + if (list.length === 0) { + proxy.$message.warning('请先选择医嘱信息'); + return; + } + // 检查是否已有执行记录(已执行的不需要再执行) + let executedItems = list.filter(item => item.exePerformRecordList && item.exePerformRecordList.length > 0); + if (executedItems.length > 0) { + proxy.$message.warning('选中医嘱中包含已执行的医嘱,请取消勾选后重试'); + return; + } + const now = new Date(); + const exeDate = now.getFullYear() + '-' + + String(now.getMonth() + 1).padStart(2, '0') + '-' + + String(now.getDate()).padStart(2, '0') + ' ' + + String(now.getHours()).padStart(2, '0') + ':' + + String(now.getMinutes()).padStart(2, '0') + ':' + + String(now.getSeconds()).padStart(2, '0'); + const adviceExecuteDetailList = list.map(item => ({ + requestId: item.requestId, + encounterId: item.encounterId, + patientId: item.patientId, + accountId: item.accountId, + therapyEnum: item.therapyEnum, + adviceTable: item.requestTable, + executeTimes: [exeDate], + })); + adviceExecute({ + exeDate: exeDate, + adviceExecuteDetailList: adviceExecuteDetailList, + }).then((res) => { + if (res.code == 200) { + proxy.$modal.msgSuccess(res.msg); + handleGetPrescription(); + } + }); +} + +/** + * 不执行医嘱 + */ +function handleVoid() { + let list = getSelectRows(); + if (list.length === 0) { + proxy.$message.warning('请先选择医嘱信息'); + return; + } + // 检查是否已有执行记录(已执行的不能标记为不执行) + let executedItems = list.filter(item => item.exePerformRecordList && item.exePerformRecordList.length > 0); + if (executedItems.length > 0) { + proxy.$message.warning('选中医嘱中包含已执行的医嘱,请取消勾选后重试'); + return; + } + const now = new Date(); + const exeDate = now.getFullYear() + '-' + + String(now.getMonth() + 1).padStart(2, '0') + '-' + + String(now.getDate()).padStart(2, '0') + ' ' + + String(now.getHours()).padStart(2, '0') + ':' + + String(now.getMinutes()).padStart(2, '0') + ':' + + String(now.getSeconds()).padStart(2, '0'); + const adviceExecuteDetailList = list.map(item => ({ + requestId: item.requestId, + encounterId: item.encounterId, + patientId: item.patientId, + accountId: item.accountId, + therapyEnum: item.therapyEnum, + adviceTable: item.requestTable, + executeTimes: [exeDate], + })); + adviceNoExecute({ + exeDate: exeDate, + adviceExecuteDetailList: adviceExecuteDetailList, + }).then((res) => { + if (res.code == 200) { + proxy.$modal.msgSuccess(res.msg); + handleGetPrescription(); + } + }); +} From 86cb6be013aad3f689957d7ca677bd519a752c02 Mon Sep 17 00:00:00 2001 From: zhaoyun Date: Wed, 17 Jun 2026 16:35:11 +0800 Subject: [PATCH 05/19] =?UTF-8?q?fix(#786):=20zhaoyun=20(=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=90=88=E5=85=A5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/components/diagnosis/diagnosis.vue | 33 +++++-------------- 1 file changed, 8 insertions(+), 25 deletions(-) diff --git a/healthlink-his-ui/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue b/healthlink-his-ui/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue index 2087557ca..72ae7940a 100755 --- a/healthlink-his-ui/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue +++ b/healthlink-his-ui/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue @@ -472,7 +472,6 @@ function getDetail(encounterId) { if (res.code === 200) { allowAdd.value = res.data ? true : false; console.log('设置 allowAdd =', allowAdd.value, ', 病历数据:', res.data); - } else { allowAdd.value = false; console.warn('获取病历详情失败:', res.msg); } @@ -710,32 +709,15 @@ function getTree() { */ function handleAddDiagnosis() { console.log('点击新增诊断按钮,allowAdd:', allowAdd.value); - - // 检查表单ref是否存在 - if (!proxy.$refs.formRef) { - console.error('表单ref不存在'); - // 直接添加诊断,不经过表单验证 - addDiagnosisItem(); + + // 检查是否有未填写的空行(名称为空的行),防止不保存一直新增 + const hasEmptyRow = form.value.diagnosisList.some(item => !item.name); + if (hasEmptyRow) { + proxy.$modal.msgWarning('请先完善已有的诊断信息后再新增'); return; } - - proxy.$refs.formRef.validate((valid, fields) => { - console.log('表单验证结果:', valid, '错误字段:', fields); - if (valid) { - if (!allowAdd.value) { - proxy.$modal.msgWarning('请先填写病历'); - return; - } - addDiagnosisItem(); - } else { - console.warn('表单验证失败:', fields); - // 验证失败时也允许添加(因为是新增空行) - if (allowAdd.value) { - console.log('验证失败但允许添加,强制添加诊断'); - addDiagnosisItem(); - } - } - }); + + addDiagnosisItem(); } /** @@ -1133,3 +1115,4 @@ defineExpose({ getList, getDetail, handleSaveDiagnosis }); align-items: center; } + From ad90af44a214b465f74ce9b8d9d518f1e6c110b3 Mon Sep 17 00:00:00 2001 From: wangjian963 <15215920+aprilry@user.noreply.gitee.com> Date: Wed, 17 Jun 2026 16:47:29 +0800 Subject: [PATCH 06/19] =?UTF-8?q?783=20=E3=80=90=E4=BD=8F=E9=99=A2?= =?UTF-8?q?=E5=8C=BB=E7=94=9F=E5=B7=A5=E4=BD=9C=E7=AB=99-=E8=AF=8A?= =?UTF-8?q?=E6=96=AD=E5=BD=95=E5=85=A5=E3=80=91=E6=96=B0=E5=A2=9E=E8=AF=8A?= =?UTF-8?q?=E6=96=AD=E6=97=B6=EF=BC=8C=E5=8F=AF=E4=BB=A5=E4=B8=8D=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E4=B8=80=E7=9B=B4=E6=96=B0=E5=A2=9E=E8=AF=8A=E6=96=AD?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E7=AC=A6=E5=90=88=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/components/diagnosis/diagnosis.vue | 39 ++++++++++++++++--- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/healthlink-his-ui/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue b/healthlink-his-ui/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue index 72ae7940a..ff88469d2 100755 --- a/healthlink-his-ui/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue +++ b/healthlink-his-ui/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue @@ -397,7 +397,7 @@ import {deleteTcmDiagnosis} from '@/views/doctorstation/components/api.js'; import diagnosisdialog from '../diagnosis/diagnosisdialog.vue'; import AddDiagnosisDialog from './addDiagnosisDialog.vue'; import diagnosislist from '../diagnosis/diagnosislist.vue'; -import {patientInfo} from '../../store/patient.js'; + import {ElMessage} from 'element-plus'; // const diagnosisList = ref([]); const allowAdd = ref(false); @@ -472,6 +472,7 @@ function getDetail(encounterId) { if (res.code === 200) { allowAdd.value = res.data ? true : false; console.log('设置 allowAdd =', allowAdd.value, ', 病历数据:', res.data); + } else { allowAdd.value = false; console.warn('获取病历详情失败:', res.msg); } @@ -710,14 +711,40 @@ function getTree() { function handleAddDiagnosis() { console.log('点击新增诊断按钮,allowAdd:', allowAdd.value); - // 检查是否有未填写的空行(名称为空的行),防止不保存一直新增 - const hasEmptyRow = form.value.diagnosisList.some(item => !item.name); - if (hasEmptyRow) { - proxy.$modal.msgWarning('请先完善已有的诊断信息后再新增'); + // 检查当前列表是否已有未保存的诊断,阻止重复新增 + const hasUnsaved = (form.value.diagnosisList || []).some( + (item) => !item.conditionId && !item.encounterDiagnosisId + ); + if (hasUnsaved) { + proxy.$modal.msgWarning('请保存当前诊断'); return; } - addDiagnosisItem(); + // 检查表单ref是否存在 + if (!proxy.$refs.formRef) { + console.error('表单ref不存在'); + // 直接添加诊断,不经过表单验证 + addDiagnosisItem(); + return; + } + + proxy.$refs.formRef.validate((valid, fields) => { + console.log('表单验证结果:', valid, '错误字段:', fields); + if (valid) { + if (!allowAdd.value) { + proxy.$modal.msgWarning('请先填写病历'); + return; + } + addDiagnosisItem(); + } else { + console.warn('表单验证失败:', fields); + // 验证失败时也允许添加(因为是新增空行) + if (allowAdd.value) { + console.log('验证失败但允许添加,强制添加诊断'); + addDiagnosisItem(); + } + } + }); } /** From a380ad93d93f2c6e6a5c8e74c87ac11c08514e6c Mon Sep 17 00:00:00 2001 From: wangjian963 <15215920+aprilry@user.noreply.gitee.com> Date: Wed, 17 Jun 2026 18:03:29 +0800 Subject: [PATCH 07/19] =?UTF-8?q?=20fix:=20=E4=BF=AE=E5=A4=8D=20vxe-table?= =?UTF-8?q?=20=E5=88=97=E5=AE=BD=20px=20=E5=8D=95=E4=BD=8D=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E5=AE=BD=E5=BA=A6=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit vxe-table 的 min-width/width 仅接受纯数字,带 px/% 单位的设置会被 静默忽略。统一去掉 vxe-column/vxe-table 上的 px 后缀,将百分比 min-width 改为 width(vxe 的 width 支持百分比字符串)。 --- .../src/views/catalog/medicine/index.vue | 4 +- .../inspection/inspectionApplication.vue | 2 +- .../components/PatientList.vue | 6 +-- .../register/components/accomplishList.vue | 2 +- .../charge/register/components/awaitList.vue | 2 +- .../drugDistribution/drugDistributionList.vue | 38 +++++++++---------- .../execute/MedicalOrderManagement.vue | 2 +- .../inpatientNurse/medicineCollect/index.vue | 2 +- .../tprsheet/components/addAttr.vue | 13 +++---- .../outPatientCharge.vue | 10 ++--- .../src/views/tool/gen/editTable.vue | 28 +++++++------- 11 files changed, 54 insertions(+), 55 deletions(-) diff --git a/healthlink-his-ui/src/views/catalog/medicine/index.vue b/healthlink-his-ui/src/views/catalog/medicine/index.vue index 9931dc2ab..885b54bed 100755 --- a/healthlink-his-ui/src/views/catalog/medicine/index.vue +++ b/healthlink-his-ui/src/views/catalog/medicine/index.vue @@ -239,8 +239,8 @@ align="center" field="totalVolume" show-overflow="title" - min-width="200px" - width="200px" + min-width="200" + width="200" /> diff --git a/healthlink-his-ui/src/views/inHospitalManagement/charge/feeTypeConversion/components/PatientList.vue b/healthlink-his-ui/src/views/inHospitalManagement/charge/feeTypeConversion/components/PatientList.vue index cb4902656..fcc60abc9 100755 --- a/healthlink-his-ui/src/views/inHospitalManagement/charge/feeTypeConversion/components/PatientList.vue +++ b/healthlink-his-ui/src/views/inHospitalManagement/charge/feeTypeConversion/components/PatientList.vue @@ -14,17 +14,17 @@ diff --git a/healthlink-his-ui/src/views/inHospitalManagement/charge/register/components/awaitList.vue b/healthlink-his-ui/src/views/inHospitalManagement/charge/register/components/awaitList.vue index 375025d4c..d09be9023 100755 --- a/healthlink-his-ui/src/views/inHospitalManagement/charge/register/components/awaitList.vue +++ b/healthlink-his-ui/src/views/inHospitalManagement/charge/register/components/awaitList.vue @@ -50,7 +50,7 @@