From 4120d4e001d8d1115c74ab5b62810b5dba64d559 Mon Sep 17 00:00:00 2001 From: wzk <2438381872@qq.com> Date: Thu, 27 Nov 2025 08:44:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E9=A1=B9=E7=9B=AE=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE->=E5=A5=97=E9=A4=90=E8=AE=BE=E7=BD=AE->=E5=A5=97?= =?UTF-8?q?=E9=A4=90=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../check/controller/CheckTypeController.java | 60 +- .../openhis/check/domain/CheckPackage.java | 26 +- .../components/PackageManagement.vue | 663 ++++++++++++++++++ .../components/PackageSettings.vue | 216 +++++- .../checkprojectSettings/index.vue | 60 +- 5 files changed, 980 insertions(+), 45 deletions(-) create mode 100644 openhis-ui-vue3/src/views/maintainSystem/checkprojectSettings/components/PackageManagement.vue diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/check/controller/CheckTypeController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/check/controller/CheckTypeController.java index a061b3d9..0a8006f8 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/check/controller/CheckTypeController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/check/controller/CheckTypeController.java @@ -19,6 +19,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.time.LocalDate; import java.util.List; /** @@ -68,12 +69,63 @@ public class CheckTypeController extends BaseController { } /** - * 获取检查套餐列表 + * 获取检查套餐列表(支持分页和筛选) */ @GetMapping({"/package/list", "/check-package/list"}) - public AjaxResult packageList() { - List list = checkPackageService.list(); - return AjaxResult.success(list); + public AjaxResult packageList( + @RequestParam(required = false) Integer pageNo, + @RequestParam(required = false) Integer pageSize, + @RequestParam(required = false) String organization, + @RequestParam(required = false) String packageName, + @RequestParam(required = false) String packageLevel, + @RequestParam(required = false) String packageType, + @RequestParam(required = false) String department, + @RequestParam(required = false) String user, + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate) { + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + + // 添加筛选条件 + if (organization != null && !organization.isEmpty()) { + wrapper.eq(CheckPackage::getOrganization, organization); + } + if (packageName != null && !packageName.isEmpty()) { + wrapper.like(CheckPackage::getPackageName, packageName); + } + if (packageLevel != null && !packageLevel.isEmpty()) { + wrapper.eq(CheckPackage::getPackageLevel, packageLevel); + } + if (packageType != null && !packageType.isEmpty()) { + wrapper.eq(CheckPackage::getPackageType, packageType); + } + if (department != null && !department.isEmpty()) { + wrapper.like(CheckPackage::getDepartment, department); + } + if (user != null && !user.isEmpty()) { + wrapper.like(CheckPackage::getUser, user); + } + if (startDate != null && !startDate.isEmpty()) { + wrapper.ge(CheckPackage::getMaintainDate, LocalDate.parse(startDate)); + } + if (endDate != null && !endDate.isEmpty()) { + wrapper.le(CheckPackage::getMaintainDate, LocalDate.parse(endDate)); + } + + // 按更新时间倒序排列 + wrapper.orderByDesc(CheckPackage::getUpdateTime); + + // 如果需要分页 + if (pageNo != null && pageSize != null) { + com.baomidou.mybatisplus.extension.plugins.pagination.Page page = + new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageNo, pageSize); + com.baomidou.mybatisplus.extension.plugins.pagination.Page result = + checkPackageService.page(page, wrapper); + return AjaxResult.success(result); + } else { + List list = checkPackageService.list(wrapper); + return AjaxResult.success(list); + } } /** diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/check/domain/CheckPackage.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/check/domain/CheckPackage.java index 5a79de77..0931f021 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/check/domain/CheckPackage.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/check/domain/CheckPackage.java @@ -30,7 +30,7 @@ public class CheckPackage { private Long id; /** 套餐名称 */ - @TableField("name") + @TableField("package_name") private String packageName; /** 套餐编码 */ @@ -45,47 +45,47 @@ public class CheckPackage { private String packageLevel; /** 适用科室 (当套餐级别为科室套餐时必填) */ - @TableField(value = "department", exist = false) + @TableField("department") private String department; /** 适用用户 (当套餐级别为个人套餐时必填) */ - @TableField(value = "user", exist = false) + @TableField("\"user\"") private String user; /** 卫生机构 */ - @TableField(value = "organization", exist = false) + @TableField("organization") private String organization; /** 套餐金额 */ - @TableField("price") + @TableField("package_price") private BigDecimal packagePrice; /** 折扣 (百分比) */ - @TableField(value = "discount", exist = false) + @TableField("discount") private BigDecimal discount; /** 制单人 */ - @TableField(value = "creator", exist = false) + @TableField("creator") private String creator; /** 是否停用 (0:启用 1:停用) */ - @TableField(value = "is_disabled", exist = false) + @TableField("is_disabled") private Integer isDisabled; /** 显示套餐名 (0:否 1:是) */ - @TableField(value = "show_package_name", exist = false) + @TableField("show_package_name") private Integer showPackageName; /** 生成服务费 (0:否 1:是) */ - @TableField(value = "generate_service_fee", exist = false) + @TableField("generate_service_fee") private Integer generateServiceFee; /** 套餐价格启用状态 (0:不启用 1:启用) */ - @TableField(value = "package_price_enabled", exist = false) + @TableField("package_price_enabled") private Integer packagePriceEnabled; /** 服务费 */ - @TableField(value = "service_fee", exist = false) + @TableField("service_fee") private BigDecimal serviceFee; /** 备注 */ @@ -98,7 +98,7 @@ public class CheckPackage { private Integer number; /** 套餐维护日期 (系统自动生成) */ - @TableField(value = "maintain_date", exist = false) + @TableField("maintain_date") private LocalDate maintainDate; /** 创建时间 */ diff --git a/openhis-ui-vue3/src/views/maintainSystem/checkprojectSettings/components/PackageManagement.vue b/openhis-ui-vue3/src/views/maintainSystem/checkprojectSettings/components/PackageManagement.vue new file mode 100644 index 00000000..c7012137 --- /dev/null +++ b/openhis-ui-vue3/src/views/maintainSystem/checkprojectSettings/components/PackageManagement.vue @@ -0,0 +1,663 @@ + + + + + + diff --git a/openhis-ui-vue3/src/views/maintainSystem/checkprojectSettings/components/PackageSettings.vue b/openhis-ui-vue3/src/views/maintainSystem/checkprojectSettings/components/PackageSettings.vue index c21353f8..2bb6190b 100644 --- a/openhis-ui-vue3/src/views/maintainSystem/checkprojectSettings/components/PackageSettings.vue +++ b/openhis-ui-vue3/src/views/maintainSystem/checkprojectSettings/components/PackageSettings.vue @@ -2,11 +2,11 @@
- 套餐管理 - - 刷新 ({{ diagnosisTreatmentList.length }}) + 套餐设置 + + 刷新 - 保存 + 保存
@@ -22,7 +22,7 @@ - + @@ -35,6 +35,7 @@ placeholder="请选择套餐级别" style="width: 100%" @change="handlePackageLevelChange" + :disabled="isReadOnly" > - + @@ -69,13 +70,13 @@ - + - + @@ -95,6 +96,7 @@ v-model="formData.discount" placeholder="请输入折扣" @input="validateNumberInput($event, 'discount')" + :disabled="isReadOnly" > @@ -375,15 +377,51 @@