From 3a53837e5068f01c452bb16365f93f9b5c690794 Mon Sep 17 00:00:00 2001 From: nanyangbreeze <1955231298@qq.com> Date: Wed, 4 Feb 2026 17:25:13 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=BF=AE=E6=94=B9=E6=8F=92?= =?UTF-8?q?=E5=85=A5=E6=97=B6=E4=B8=8D=E6=8C=89=E7=85=A7=E5=BA=8F=E5=8F=B7?= =?UTF-8?q?=E6=8E=92=E5=88=97=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DayEndSettlementController.java | 4 +- .../domain/DayEndSettlement.java | 2 +- .../mapper/DayEndSettlementMapper.java | 4 +- .../service/IDayEndSettlementService.java | 4 +- .../impl/DayEndSettlementServiceImpl.java | 8 ++-- .../views/maintainSystem/Inspection/index.vue | 45 +++++++++---------- 6 files changed, 32 insertions(+), 35 deletions(-) diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/medicationmanagement/controller/DayEndSettlementController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/medicationmanagement/controller/DayEndSettlementController.java index 1fe41731..caa9c830 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/medicationmanagement/controller/DayEndSettlementController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/medicationmanagement/controller/DayEndSettlementController.java @@ -17,8 +17,8 @@ import com.core.common.core.domain.AjaxResult; import com.core.common.core.page.TableDataInfo; import com.core.common.enums.BusinessType; import com.core.common.utils.poi.ExcelUtil; -import com.openhis.domain.DayEndSettlement; -import com.openhis.service.IDayEndSettlementService; +import com.openhis.medicationmanagement.domain.DayEndSettlement; +import com.openhis.medicationmanagement.service.IDayEndSettlementService; import com.core.common.core.page.PageDomain; import com.core.common.utils.StringUtils; import com.github.pagehelper.PageHelper; diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/domain/DayEndSettlement.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/domain/DayEndSettlement.java index 185660cc..96fffa50 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/domain/DayEndSettlement.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/domain/DayEndSettlement.java @@ -1,4 +1,4 @@ -package com.openhis.domain; +package com.openhis.medicationmanagement.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/mapper/DayEndSettlementMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/mapper/DayEndSettlementMapper.java index 87bfca85..49b95e57 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/mapper/DayEndSettlementMapper.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/mapper/DayEndSettlementMapper.java @@ -1,6 +1,6 @@ -package com.openhis.mapper; +package com.openhis.medicationmanagement.mapper; -import com.openhis.domain.DayEndSettlement; +import com.openhis.medicationmanagement.domain.DayEndSettlement; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/service/IDayEndSettlementService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/service/IDayEndSettlementService.java index 891097e1..57b5a622 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/service/IDayEndSettlementService.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/service/IDayEndSettlementService.java @@ -1,6 +1,6 @@ -package com.openhis.service; +package com.openhis.medicationmanagement.service; -import com.openhis.domain.DayEndSettlement; +import com.openhis.medicationmanagement.domain.DayEndSettlement; import com.baomidou.mybatisplus.extension.service.IService; /** diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/service/impl/DayEndSettlementServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/service/impl/DayEndSettlementServiceImpl.java index adb9dfc6..656a0697 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/service/impl/DayEndSettlementServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medicationmanagement/service/impl/DayEndSettlementServiceImpl.java @@ -1,8 +1,8 @@ -package com.openhis.service.impl; +package com.openhis.medicationmanagement.service.impl; -import com.openhis.domain.DayEndSettlement; -import com.openhis.mapper.DayEndSettlementMapper; -import com.openhis.service.IDayEndSettlementService; +import com.openhis.medicationmanagement.domain.DayEndSettlement; +import com.openhis.medicationmanagement.mapper.DayEndSettlementMapper; +import com.openhis.medicationmanagement.service.IDayEndSettlementService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; diff --git a/openhis-ui-vue3/src/views/maintainSystem/Inspection/index.vue b/openhis-ui-vue3/src/views/maintainSystem/Inspection/index.vue index 3f6434a5..7081346b 100644 --- a/openhis-ui-vue3/src/views/maintainSystem/Inspection/index.vue +++ b/openhis-ui-vue3/src/views/maintainSystem/Inspection/index.vue @@ -836,30 +836,10 @@ function isChildTypeRow(row) { return !!p.subRaw; } +// 检验类型表:保持“当前顺序”展示,不在前端根据序号实时重新排序, +// 这样在点击“修改”或编辑序号时,行号不会在编辑过程中发生变化。 const sortedTypeRows = computed(() => { - // 需求:新增/编辑时不要“实时排序”,避免行在编辑过程中跳动; - // 仅在保存成功后(编辑结束、临时行消失/刷新数据)再按编码排序。 - const hasTempRow = (tableData.value || []).some(r => isTempId(r?.id)); - if (activeNav.value === 0 && (editingRowId.value || hasTempRow)) { - return [...tableData.value]; - } - - return [...tableData.value].sort((a, b) => { - const aOrder = a?.sortOrder === null || a?.sortOrder === undefined ? Number.POSITIVE_INFINITY : Number(a.sortOrder); - const bOrder = b?.sortOrder === null || b?.sortOrder === undefined ? Number.POSITIVE_INFINITY : Number(b.sortOrder); - if (aOrder !== bOrder) return aOrder - bOrder; - - // 同序号:按编码保证稳定性(大类在子类之前,子类按后缀排序) - const pa = parseCodeParts(a?.code); - const pb = parseCodeParts(b?.code); - if (pa.mainRaw !== pb.mainRaw) { - return pa.mainRaw.localeCompare(pb.mainRaw, 'zh-Hans-CN', { numeric: true, sensitivity: 'base' }); - } - const aHasSub = !!pa.subRaw; - const bHasSub = !!pb.subRaw; - if (aHasSub !== bHasSub) return aHasSub ? 1 : -1; - return pa.raw.localeCompare(pb.raw, 'zh-Hans-CN', { numeric: true, sensitivity: 'base' }); - }); + return [...tableData.value]; }); const pagedTypeRows = computed(() => { @@ -895,10 +875,27 @@ const getInspectionTypeList = () => { // 后端返回的数据格式: {code: 200, msg: "查询成功", data: [检验类型列表]} const inspectionTypeList = data.data || []; // 后端实体字段名本身就是 sortOrder,这里不再从不存在的 item.order 做映射 - const formattedData = inspectionTypeList.map(item => ({ + let formattedData = inspectionTypeList.map(item => ({ ...item, sortOrder: item.sortOrder })); + + // 初始/刷新时:按“序号 + 编码”做一次排序,确保表单整体是按序号从小到大排列 + formattedData = formattedData.sort((a, b) => { + const aOrder = a?.sortOrder == null || Number.isNaN(Number(a.sortOrder)) + ? Number.POSITIVE_INFINITY + : Number(a.sortOrder); + const bOrder = b?.sortOrder == null || Number.isNaN(Number(b.sortOrder)) + ? Number.POSITIVE_INFINITY + : Number(b.sortOrder); + if (aOrder !== bOrder) return aOrder - bOrder; + + // 同序号时按编码作为稳定排序的备用键 + const aCode = (a?.code ?? '').toString().trim(); + const bCode = (b?.code ?? '').toString().trim(); + return aCode.localeCompare(bCode, 'zh-Hans-CN', { numeric: true, sensitivity: 'base' }); + }); + // 过滤掉已逻辑删除的记录(validFlag为0) tableData.value = formattedData.filter(item => item.validFlag === 1); }).catch(error => {