From bdb7d978fb5b6dae2e9694cc2a9aa1a92296bc4c Mon Sep 17 00:00:00 2001 From: wangjian963 <15215920+aprilry@user.noreply.gitee.com> Date: Wed, 17 Jun 2026 11:06:45 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix(ui):=20=E4=BF=AE=E5=A4=8D=E4=BD=8F?= =?UTF-8?q?=E9=99=A2=E5=8C=BB=E7=94=9F=E7=AB=99=E4=B8=8E=E6=8A=A4=E5=A3=AB?= =?UTF-8?q?=E7=AB=99=E4=B8=B4=E5=BA=8A=E5=8C=BB=E5=98=B1=E8=8B=A5=E5=B9=B2?= =?UTF-8?q?=E7=A8=B3=E5=AE=9A=E6=80=A7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 医生站: - 修复类型切换后编辑表单残留、blur/click竞态致选中无效、批量保存缺patientId - 修复filterPrescriptionList.find过滤下展开失败、popover溢出、表格塌陷 - 提取resolveCategoryCode/getAdviceTableRef消除重复, 优化adviceTableRef类型 - 修复adviceBaseList keyField、选中残留、TS类型声明 护士站: - 校对: 新增已执行状态判定+退回拦截, 修复状态标签颜色不一致 - 执行: 修复长期医嘱dayTimes为空被静默丢弃 - 双模块: 新增keep-alive重激活刷新+患者列表自动加载 配置: - eslint.config.js 新增 @typescript-eslint/parser 支持Vue TS解析 --- healthlink-his-ui/eslint.config.js | 6 +- healthlink-his-ui/package.json | 1 + .../home/components/adviceBaseList.vue | 28 ++- .../home/components/order/index.vue | 169 +++++++++++------- .../components/prescriptionList.vue | 11 ++ .../medicalOrderExecution/index.vue | 28 ++- .../components/prescriptionList.vue | 24 ++- .../medicalOrderProofread/index.vue | 25 +++ 8 files changed, 211 insertions(+), 81 deletions(-) diff --git a/healthlink-his-ui/eslint.config.js b/healthlink-his-ui/eslint.config.js index 1361781dd..760c086f4 100755 --- a/healthlink-his-ui/eslint.config.js +++ b/healthlink-his-ui/eslint.config.js @@ -4,6 +4,7 @@ import { fileURLToPath } from "node:url"; import globals from "globals"; import pluginVue from "eslint-plugin-vue"; import parserVue from "vue-eslint-parser"; +import parserTs from "@typescript-eslint/parser"; import importPlugin, { createNodeResolver } from "eslint-plugin-import-x"; const __dirname = path.dirname(fileURLToPath(import.meta.url)); @@ -20,7 +21,7 @@ export default [ }, ...pluginVue.configs["flat/recommended"], - + { languageOptions: { globals: { @@ -30,6 +31,9 @@ export default [ parser: parserVue, ecmaVersion: "latest", sourceType: "module", + parserOptions: { + parser: parserTs, + }, }, plugins: { diff --git a/healthlink-his-ui/package.json b/healthlink-his-ui/package.json index 555adb5a4..9917217c1 100755 --- a/healthlink-his-ui/package.json +++ b/healthlink-his-ui/package.json @@ -72,6 +72,7 @@ "devDependencies": { "@playwright/test": "^1.60.0", "@types/node": "^25.0.1", + "@typescript-eslint/parser": "^8.61.1", "@vitejs/plugin-vue": "^5.2.4", "@vue/test-utils": "^2.4.6", "eslint": "^10.4.1", diff --git a/healthlink-his-ui/src/views/inpatientDoctor/home/components/adviceBaseList.vue b/healthlink-his-ui/src/views/inpatientDoctor/home/components/adviceBaseList.vue index f9a84666f..700cdd2ca 100755 --- a/healthlink-his-ui/src/views/inpatientDoctor/home/components/adviceBaseList.vue +++ b/healthlink-his-ui/src/views/inpatientDoctor/home/components/adviceBaseList.vue @@ -8,7 +8,7 @@ :table-height="400" :max-height="400" :loading="loading" - :row-config="{ keyField: 'patientId' }" + :row-config="{ keyField: 'adviceDefinitionId' }" @cell-click="handleRowClick" > From 690486084e67d290a0e6feeed468306485a29933 Mon Sep 17 00:00:00 2001 From: Ranyunqiao <2499115710@qq.com> Date: Wed, 17 Jun 2026 11:38:41 +0800 Subject: [PATCH 4/4] =?UTF-8?q?112=20=E3=80=90=E4=BD=8F=E9=99=A2=E6=8A=A4?= =?UTF-8?q?=E5=A3=AB=E7=AB=99-=E6=8A=A4=E7=90=86=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E3=80=91=E5=8A=9F=E8=83=BD=E9=87=8D=E6=9E=84=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=EF=BC=88=E5=8F=82=E8=80=83=E5=BC=80=E6=BA=90=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E4=BF=A1=E5=88=9B=E7=89=88=E6=9C=AC=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appservice/INursingRecordAppService.java | 11 + .../impl/NursingRecordAppServiceImpl.java | 73 + .../controller/NursingRecordController.java | 14 + .../dto/BatchNursingRecordDto.java | 29 + .../inpatientmanage/dto/NursingRecordDto.java | 4 + healthlink-his-ui/package.json | 1 + .../components/TableLayout/EditableTable.vue | 2 +- healthlink-his-ui/src/main.js | 6 + .../appoinmentmanage/clinicRoom/index.vue | 12 +- .../deptappthoursManage/index.vue | 6 +- .../basicmanage/commonlyDiagnosis/index.vue | 2 +- .../src/views/basicmanage/fee/index.vue | 2 +- .../basicmanage/implementDepartment/index.vue | 8 +- .../views/basicmanage/organization/index.vue | 6 +- .../basicmanage/pharmacyDepartment/index.vue | 12 +- .../src/views/basicmanage/supplier/index.vue | 6 +- .../basicmanage/tcmPrescription/index.vue | 2 +- .../basicservices/registrationfee/index.vue | 6 +- .../src/views/catalog/device/index.vue | 62 +- .../catalog/diagnosistreatment/index.vue | 18 +- .../src/views/catalog/disease/index.vue | 12 +- .../src/views/catalog/medicine/index.vue | 26 +- .../src/views/catalog/national/index.vue | 8 +- .../src/views/charge/clinicRecord/index.vue | 32 +- .../components/patientInfoDialog.vue | 12 +- .../charge/outpatientregistration/index.vue | 6 +- .../src/views/charge/threePayRecord/index.vue | 24 +- .../clinicmanagement/chargeDetail/index.vue | 8 +- .../consultationRefund/index.vue | 10 +- .../component/details.vue | 24 +- .../historicalPrescription/index.vue | 10 +- .../incomeStatement/index.vue | 22 +- .../clinicmanagement/lisPascResult/index.vue | 18 +- .../clinicmanagement/orderViewPrint/index.vue | 14 +- .../clinicmanagement/requisition/index.vue | 12 +- .../clinicmanagement/returnDrug/index.vue | 8 +- .../clinicmanagement/techExecute/index.vue | 14 +- .../techfundApprove/index.vue | 16 +- .../clinicmanagement/withdrawal/index.vue | 10 +- .../consultationapplication/index.vue | 4 +- .../views/datadictionary/definition/index.vue | 8 +- .../components/adviceBaseList.vue | 12 +- .../doctorstation/components/consultation.vue | 2 +- .../components/diagnosis/diagnosislist.vue | 2 +- .../components/emr/emrhistory.vue | 4 +- .../prescription/orderGroupDrawer.vue | 10 +- .../components/surgery/surgeryApplication.vue | 4 +- .../components/ReturnDrug.vue | 8 +- .../src/views/esbmanage/message/index.vue | 2 +- .../src/views/esbmanage/registry/index.vue | 4 +- .../views/gf/ratioApplicationRecord/index.vue | 24 +- .../src/views/gf/ratioManage/index.vue | 18 +- .../src/views/gf/studentList/index.vue | 30 +- .../components/PatientList.vue | 2 +- .../charge/register/components/awaitList.vue | 2 +- .../charge/register/components/existList.vue | 2 +- .../charge/settleAccounts/index.vue | 32 +- .../settlement/components/cancel/index.vue | 6 +- .../components/home/components/index.vue | 6 +- .../home/components/patientList.vue | 8 +- .../home/components/patientListDialog.vue | 2 +- .../components/home/components/receipt.vue | 2 +- .../components/home/components/refund.vue | 2 +- .../settlement/components/home/index.vue | 6 +- .../midway/components/patientList.vue | 8 +- .../midway/components/selectSettlement.vue | 2 +- .../settlement/components/midway/index.vue | 6 +- .../inpatientDiagnosis/index.vue | 4 +- .../inHospitalManagement/listFee/index.vue | 8 +- .../medicalRecord/index.vue | 8 +- .../orderManage/index.vue | 6 +- .../surgeryManage/index.vue | 2 +- .../InpatientBilling/components/FeeDialog.vue | 2 +- .../components/discharged/patientList.vue | 2 +- .../waitForDischarge/medicalOrderList.vue | 2 +- .../waitForDischarge/patientList.vue | 2 +- .../drugDistribution/drugDistributionList.vue | 4 +- .../home/components/transferToBedDialog.vue | 2 +- .../src/views/inpatientNurse/home/index.vue | 2 +- .../components/check/patientList.vue | 2 +- .../components/execute/patientList.vue | 2 +- .../nursingRecord/components/api.js | 11 + .../inpatientNurse/nursingRecord/index.vue | 1955 +++++++++++------ .../src/views/inspection/instrument/index.vue | 50 +- .../views/inspection/observation/index.vue | 12 +- .../src/views/inspection/sampleType/index.vue | 26 +- .../components/PackageManagement.vue | 2 +- .../billapproval/index.vue | 2 +- .../chkstock/chkstockBatch/index.vue | 34 +- .../chkstock/chkstockPart/index.vue | 10 +- .../chkstock/chkstockPartDeptDevice/index.vue | 2 +- .../chkstock/chkstockRecord/index.vue | 18 +- .../components/chkstockDetailsDialog.vue | 4 +- .../chkstock/components/medicineList.vue | 10 +- .../components/lossReporting.vue | 12 +- .../lossReporting/index.vue | 4 +- .../lossReportingList/index.vue | 24 +- .../medicalInsuranceCatalogUpdate/index.vue | 2 +- .../pharmacyReconciliation/index.vue | 2 +- .../index.vue | 2 +- .../priceAdjustmentFormApproval/index.vue | 2 +- .../priceAdjustmentManagement/index.vue | 8 +- .../components/medicineList.vue | 2 +- .../purchaseDocument/index.vue | 6 +- .../components/inventoryReceiptDialog.vue | 6 +- .../purchaseinventory/index.vue | 8 +- .../requisitionManagement/components/list.vue | 12 +- .../requisitionInventoryManagement/index.vue | 16 +- .../requisitionManagement/index.vue | 4 +- .../requisitionManagementList/index.vue | 16 +- .../returningInventory/index.vue | 4 +- .../components/transferManagement.vue | 14 +- .../returnedPurchase/index.vue | 6 +- .../awaitingMedicineDetails.vue | 20 +- .../basicInformationDetails.vue | 16 +- .../chkstockPartDetails.vue | 36 +- .../statisticalManagement/diseaseDetails.vue | 18 +- .../drugExpensesGrowthRate.vue | 8 +- .../statisticalManagement/earlyWarning.vue | 28 +- .../financialClearing.vue | 18 +- .../statisticalManagement/index.vue | 44 +- .../inventoryProductDetails.vue | 40 +- .../liquidationRecords.vue | 44 +- .../lossReportingDetails.vue | 36 +- .../medicationDetails.vue | 48 +- .../medicationInboundDetails.vue | 18 +- .../medicationSaleDetails.vue | 28 +- .../medicationStockOutDetails.vue | 16 +- .../medicationUsageDetails.vue | 18 +- .../statisticalManagement/nonWinQtyRatio.vue | 14 +- .../statisticalManagement/numberOfVisits.vue | 8 +- .../offlinePurchaseRatioDetails.vue | 8 +- .../outPatientCharge.vue | 30 +- .../outpatientDepartmentMetrics.vue | 2 +- .../statisticalManagement/patientDetails.vue | 26 +- .../patientMasterDetails.vue | 26 +- .../pharmacyMonthlybalance.vue | 24 +- .../productUsageDetails.vue | 28 +- .../purchaseDocumentDetsils.vue | 38 +- .../purchaseReturnDetsils.vue | 42 +- .../reconciliationDetails.vue | 54 +- .../registrationFeeDetails.vue | 20 +- .../requisitionDetails.vue | 42 +- .../returnOrutboundDetails.vue | 42 +- .../statisticalManagement/settlementDoc.vue | 42 +- .../statisticalManagement/stockOutDetail.vue | 38 +- .../thirtyDayCollectionRate.vue | 8 +- .../traceabilityCodeManagement.vue | 18 +- .../traceabilityPersonInfo.vue | 6 +- .../transferManagentDetails.vue | 34 +- .../transferManagent/batchTransfer/index.vue | 4 +- .../components/transferDetailsDialog.vue | 4 +- .../components/transferManagement.vue | 12 +- .../transferManagent/index.vue | 4 +- .../transferManagentList/index.vue | 20 +- .../src/views/monitor/cache/list.vue | 6 +- .../src/views/monitor/job/index.vue | 6 +- .../src/views/monitor/job/log.vue | 8 +- .../src/views/monitor/logininfor/index.vue | 12 +- .../src/views/monitor/online/index.vue | 14 +- .../src/views/monitor/operlog/index.vue | 8 +- .../src/views/operatingroom/index.vue | 10 +- .../outpatienrecords/index.vue | 4 +- .../patientmanagement/index.vue | 10 +- .../views/preopmanage/discussion/index.vue | 2 +- .../src/views/surgerymanage/index.vue | 14 +- .../src/views/surgicalschedule/index.vue | 10 +- .../surgicalschedule/temporaryMedical.vue | 6 +- .../src/views/system/config/index.vue | 8 +- .../src/views/system/dict/data.vue | 2 +- .../src/views/system/dict/index.vue | 6 +- .../src/views/system/notice/index.vue | 2 +- .../src/views/system/role/authUser.vue | 8 +- .../src/views/system/role/index.vue | 4 +- .../src/views/system/role/selectUser.vue | 8 +- .../src/views/system/tenant/bindUser.vue | 6 +- .../src/views/system/tenant/index.vue | 6 +- .../src/views/system/tenant/setContract.vue | 8 +- .../src/views/system/tenant/setUser.vue | 8 +- .../src/views/system/user/index.vue | 6 +- .../src/views/tool/gen/editTable.vue | 4 +- .../src/views/tool/gen/importTable.vue | 4 +- .../src/views/tool/gen/index.vue | 6 +- .../ybmanagement/catalogManagement/index.vue | 6 +- .../index.vue | 2 +- .../register/components/accomplishList.vue | 2 +- .../register/components/awaitList.vue | 2 +- .../register/components/existList.vue | 2 +- .../inhospital/register/index.vue | 2 +- .../ybmanagement/medicalInsurance/index.vue | 2 +- .../views/ybmanagement/settlement/index.vue | 2 +- 191 files changed, 2505 insertions(+), 1861 deletions(-) create mode 100644 healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/dto/BatchNursingRecordDto.java diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/appservice/INursingRecordAppService.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/appservice/INursingRecordAppService.java index 1fb00ba35..670a371c3 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/appservice/INursingRecordAppService.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/appservice/INursingRecordAppService.java @@ -1,10 +1,12 @@ package com.healthlink.his.web.inpatientmanage.appservice; import com.core.common.core.domain.R; +import com.healthlink.his.web.inpatientmanage.dto.BatchNursingRecordDto; import com.healthlink.his.web.inpatientmanage.dto.NursingEmrTemplateDto; import com.healthlink.his.web.inpatientmanage.dto.NursingRecordDto; import com.healthlink.his.web.inpatientmanage.dto.NursingSearchParam; + import jakarta.servlet.http.HttpServletRequest; import java.util.List; @@ -100,4 +102,13 @@ public interface INursingRecordAppService { */ R updateEmrTemplate(NursingEmrTemplateDto emrTemplateDto); + /** + * 批量保存护理记录单 + * + * @param batchDto 批量入参 + * @return 结果 + */ + R batchSaveRecord(BatchNursingRecordDto batchDto); + } + diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/appservice/impl/NursingRecordAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/appservice/impl/NursingRecordAppServiceImpl.java index 3e869ac39..a983ea8a6 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/appservice/impl/NursingRecordAppServiceImpl.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/appservice/impl/NursingRecordAppServiceImpl.java @@ -399,4 +399,77 @@ public class NursingRecordAppServiceImpl implements INursingRecordAppService { return emrTemplateService.updateById(emrTemplate) ? R.ok() : R.fail(); } + /** + * 批量保存/更新/删除护理记录 + * + * @param batchDto 批量提交数据包 + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R batchSaveRecord(BatchNursingRecordDto batchDto) { + Long recorderId = SecurityUtils.getLoginUser().getPractitionerId(); + java.util.Map tempIdToRealIdMap = new java.util.HashMap<>(); + + // 1. 处理待删除记录 (物理删除记录及体征表对应数据) + if (batchDto.getDeleted() != null && !batchDto.getDeleted().isEmpty()) { + this.delRecord(batchDto.getDeleted()); + } + + // 2. 处理待插入新建记录 + if (batchDto.getInserted() != null && !batchDto.getInserted().isEmpty()) { + for (NursingRecordDto dto : batchDto.getInserted()) { + Emr emr = new Emr(); + emr.setEncounterId(dto.getEncounterId()) + .setPatientId(dto.getPatientId()) + .setRecordId(recorderId) + .setRecordTime(dto.getRecordingTime()) + .setClassEnum(1) + .setContextJson(dto.getContextJson()); + + emrService.save(emr); + + // 保存生成的真实主键,用于返回给前端重置 + if (dto.getTempId() != null && !dto.getTempId().isEmpty()) { + tempIdToRealIdMap.put(dto.getTempId(), emr.getId()); + } + + // 判断是否联动更新体征表 + if (Boolean.TRUE.equals(dto.getVitalSignsSyncFlag())) { + this.vitalSigns(dto, recorderId); + } + } + } + + // 3. 处理待更新已有记录 + if (batchDto.getUpdated() != null && !batchDto.getUpdated().isEmpty()) { + for (NursingRecordDto dto : batchDto.getUpdated()) { + Emr emr = new Emr(); + emr.setId(dto.getRecordId()) + .setEncounterId(dto.getEncounterId()) + .setPatientId(dto.getPatientId()) + .setRecordId(recorderId) + .setRecordTime(dto.getRecordingTime()) + .setClassEnum(1) + .setContextJson(dto.getContextJson()); + + emrService.updateById(emr); + + // 联动体征处理 + if (Boolean.TRUE.equals(dto.getVitalSignsSyncFlag())) { + this.vitalSigns(dto, recorderId); + } else { + this.deleteVitalSigns(dto); + } + } + } + + // 组装返回映射表 + java.util.Map resultMap = new java.util.HashMap<>(); + resultMap.put("tempIdToRealIdMap", tempIdToRealIdMap); + + return R.ok(resultMap, "批量护理记录保存成功!"); + } + } + diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/controller/NursingRecordController.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/controller/NursingRecordController.java index 37f3617e7..e59588dba 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/controller/NursingRecordController.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/controller/NursingRecordController.java @@ -2,9 +2,11 @@ package com.healthlink.his.web.inpatientmanage.controller; import com.core.common.core.domain.R; import com.healthlink.his.web.inpatientmanage.appservice.INursingRecordAppService; +import com.healthlink.his.web.inpatientmanage.dto.BatchNursingRecordDto; import com.healthlink.his.web.inpatientmanage.dto.NursingEmrTemplateDto; import com.healthlink.his.web.inpatientmanage.dto.NursingRecordDto; import com.healthlink.his.web.inpatientmanage.dto.NursingSearchParam; + import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -144,4 +146,16 @@ public class NursingRecordController { return nursingRecordAppService.updateEmrTemplate(emrTemplateDto); } + /** + * 批量保存/更新/删除护理记录 + * + * @param batchDto 批量提交数据包 + * @return 结果 + */ + @PostMapping("/batch-save") + public R batchSaveRecord(@Validated @RequestBody BatchNursingRecordDto batchDto) { + return nursingRecordAppService.batchSaveRecord(batchDto); + } + } + diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/dto/BatchNursingRecordDto.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/dto/BatchNursingRecordDto.java new file mode 100644 index 000000000..7d5a643f9 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/dto/BatchNursingRecordDto.java @@ -0,0 +1,29 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.healthlink.his.web.inpatientmanage.dto; + +import lombok.Data; +import lombok.experimental.Accessors; +import java.util.List; + +/** + * 护理记录批量提交包装 DTO + * + * @author Antigravity AI + * @date 2026-06-16 + */ +@Data +@Accessors(chain = true) +public class BatchNursingRecordDto { + + /** 待保存/新建的护理记录列表 */ + private List inserted; + + /** 待更新的护理记录列表 */ + private List updated; + + /** 待删除的护理记录列表 */ + private List deleted; + +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/dto/NursingRecordDto.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/dto/NursingRecordDto.java index 4ba8038ad..c452e68c1 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/dto/NursingRecordDto.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/dto/NursingRecordDto.java @@ -50,4 +50,8 @@ public class NursingRecordDto { /** 是否同步到体温单 */ private Boolean vitalSignsSyncFlag; + /** 前端临时ID映射标识 */ + private String tempId; + } + diff --git a/healthlink-his-ui/package.json b/healthlink-his-ui/package.json index 9917217c1..3a2ac93ba 100755 --- a/healthlink-his-ui/package.json +++ b/healthlink-his-ui/package.json @@ -32,6 +32,7 @@ "@vue/shared": "^3.5.25", "@vueup/vue-quill": "^1.5.1", "@vueuse/core": "^14.3.0", + "@vxe-ui/plugin-render-element": "^4.4.0", "axios": "^1.16.1", "china-division": "^2.7.0", "cornerstone-core": "^2.6.1", diff --git a/healthlink-his-ui/src/components/TableLayout/EditableTable.vue b/healthlink-his-ui/src/components/TableLayout/EditableTable.vue index 7f28b7f43..d0f513186 100755 --- a/healthlink-his-ui/src/components/TableLayout/EditableTable.vue +++ b/healthlink-his-ui/src/components/TableLayout/EditableTable.vue @@ -44,7 +44,7 @@ :row-config="{ keyField: '_etKey' }" :scroll-x="{ enabled: true }" :scroll-y="{ enabled: true }" - :show-overflow="true" + show-overflow="title" v-bind="$attrs" @checkbox-change="handleSelectionChange" @checkbox-all="handleSelectionChange" diff --git a/healthlink-his-ui/src/main.js b/healthlink-his-ui/src/main.js index 3533eb4c3..2fdbfbf3d 100755 --- a/healthlink-his-ui/src/main.js +++ b/healthlink-his-ui/src/main.js @@ -2,6 +2,7 @@ import {createApp, nextTick} from 'vue'; import VxeUIAll from 'vxe-table'; import 'vxe-table/lib/style.css'; +import { VxeTooltip } from 'vxe-pc-ui'; import Cookies from 'js-cookie'; // 导入 hiprint 并挂载到全局 window 对象 @@ -121,6 +122,11 @@ app.use(ElementPlus, { // 支持 large、default、small size: Cookies.get('size') || 'default', }); +// Register vxe-tooltip component required by vxe-table v4 for show-overflow="title" +VxeUIAll.VxeUI.component(VxeTooltip); +// Register element-plus render plugin for declarative editRender (ElSelect, ElInput etc.) +import VXETablePluginRenderElement from '@vxe-ui/plugin-render-element'; +VxeUIAll.VxeUI.use(VXETablePluginRenderElement); app.use(VxeUIAll); // 导入公告帮助工具 diff --git a/healthlink-his-ui/src/views/appoinmentmanage/clinicRoom/index.vue b/healthlink-his-ui/src/views/appoinmentmanage/clinicRoom/index.vue index 5022784a0..8f2ff887b 100755 --- a/healthlink-his-ui/src/views/appoinmentmanage/clinicRoom/index.vue +++ b/healthlink-his-ui/src/views/appoinmentmanage/clinicRoom/index.vue @@ -84,7 +84,7 @@ title="卫生机构" width="200" align="center" - show-overflow + show-overflow="title" >