diff --git a/TestDeleteInspectionType.java b/TestDeleteInspectionType.java deleted file mode 100644 index 16e639cd..00000000 --- a/TestDeleteInspectionType.java +++ /dev/null @@ -1,39 +0,0 @@ -import java.io.IOException; -import java.net.HttpURLConnection; -import java.net.URL; -import java.util.Scanner; - -public class TestDeleteInspectionType { - public static void main(String[] args) { - try { - // 测试删除ID为1的检验类型 - long inspectionTypeId = 1; - URL url = new URL("http://localhost:8080/system/inspection-type/" + inspectionTypeId); - HttpURLConnection connection = (HttpURLConnection) url.openConnection(); - connection.setRequestMethod("DELETE"); - connection.setRequestProperty("Content-Type", "application/json"); - connection.setRequestProperty("Accept", "application/json"); - - // 发送请求 - int responseCode = connection.getResponseCode(); - System.out.println("响应代码: " + responseCode); - - // 读取响应 - Scanner scanner; - if (responseCode >= 200 && responseCode < 300) { - scanner = new Scanner(connection.getInputStream()); - } else { - scanner = new Scanner(connection.getErrorStream()); - } - - String response = scanner.useDelimiter("\\A").next(); - System.out.println("响应内容: " + response); - - scanner.close(); - connection.disconnect(); - - } catch (IOException e) { - e.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/openhis-server-new/core-admin/src/main/java/com/core/web/controller/system/SysLoginController.java b/openhis-server-new/core-admin/src/main/java/com/core/web/controller/system/SysLoginController.java index 0d7604cc..4803ff12 100644 --- a/openhis-server-new/core-admin/src/main/java/com/core/web/controller/system/SysLoginController.java +++ b/openhis-server-new/core-admin/src/main/java/com/core/web/controller/system/SysLoginController.java @@ -11,6 +11,7 @@ import com.core.framework.web.service.SysLoginService; import com.core.framework.web.service.SysPermissionService; import com.core.framework.web.service.TokenService; import com.core.system.service.ISysMenuService; +import com.core.system.service.ISysTenantService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -39,6 +40,9 @@ public class SysLoginController { @Autowired private TokenService tokenService; + @Autowired + private ISysTenantService tenantService; + /**已评审 * 登录方法 * @@ -72,12 +76,21 @@ public class SysLoginController { loginUser.setPermissions(permissions); tokenService.refreshToken(loginUser); } + // 获取租户名称 + String tenantName = null; + if (loginUser.getTenantId() != null) { + com.core.system.domain.SysTenant tenant = tenantService.getById(loginUser.getTenantId()); + if (tenant != null) { + tenantName = tenant.getTenantName(); + } + } AjaxResult ajax = AjaxResult.success(); ajax.put("optionJson", loginUser.getOptionJson()); ajax.put("practitionerId", String.valueOf(loginUser.getPractitionerId())); ajax.put("user", user); ajax.put("roles", roles); ajax.put("permissions", permissions); + ajax.put("tenantName", tenantName); return ajax; } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/appservice/ISurgeryAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/appservice/ISurgeryAppService.java new file mode 100644 index 00000000..affd14f0 --- /dev/null +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/appservice/ISurgeryAppService.java @@ -0,0 +1,65 @@ +package com.openhis.web.clinicalmanage.appservice; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.core.common.core.domain.R; +import com.openhis.web.clinicalmanage.dto.SurgeryDto; + +/** + * 手术管理应用Service接口 + * + * @author system + * @date 2025-12-30 + */ +public interface ISurgeryAppService { + + /** + * 分页查询手术列表 + * + * @param surgeryDto 查询条件 + * @param pageNo 当前页 + * @param pageSize 每页条数 + * @return 手术列表 + */ + IPage getSurgeryPage(SurgeryDto surgeryDto, Integer pageNo, Integer pageSize); + + /** + * 根据ID查询手术详情 + * + * @param id 手术ID + * @return 手术详情 + */ + R getSurgeryDetail(Long id); + + /** + * 新增手术信息 + * + * @param surgeryDto 手术信息 + * @return 结果 + */ + R addSurgery(SurgeryDto surgeryDto); + + /** + * 修改手术信息 + * + * @param surgeryDto 手术信息 + * @return 结果 + */ + R updateSurgery(SurgeryDto surgeryDto); + + /** + * 删除手术信息 + * + * @param id 手术ID + * @return 结果 + */ + R deleteSurgery(Long id); + + /** + * 更新手术状态 + * + * @param id 手术ID + * @param statusEnum 状态 + * @return 结果 + */ + R updateSurgeryStatus(Long id, Integer statusEnum); +} diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/appservice/impl/SurgeryAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/appservice/impl/SurgeryAppServiceImpl.java new file mode 100644 index 00000000..292929e1 --- /dev/null +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/appservice/impl/SurgeryAppServiceImpl.java @@ -0,0 +1,166 @@ +package com.openhis.web.clinicalmanage.appservice.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.core.common.core.domain.R; +import com.core.common.utils.MessageUtils; +import com.openhis.administration.domain.Patient; +import com.openhis.administration.service.IPatientService; +import com.openhis.common.constant.PromptMsgConstant; +import com.openhis.clinical.domain.Surgery; +import com.openhis.clinical.service.ISurgeryService; +import com.openhis.common.utils.HisQueryUtils; +import com.openhis.web.clinicalmanage.appservice.ISurgeryAppService; +import com.openhis.web.clinicalmanage.dto.SurgeryDto; +import com.openhis.web.clinicalmanage.mapper.SurgeryAppMapper; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.HashSet; + +/** + * 手术管理应用Service业务层处理 + * + * @author system + * @date 2025-12-30 + */ +@Service +public class SurgeryAppServiceImpl implements ISurgeryAppService { + + @Resource + private SurgeryAppMapper surgeryAppMapper; + + @Resource + private ISurgeryService surgeryService; + + @Resource + private IPatientService patientService; + + /** + * 分页查询手术列表 + * + * @param surgeryDto 查询条件 + * @param pageNo 当前页 + * @param pageSize 每页条数 + * @return 手术列表 + */ + @Override + public IPage getSurgeryPage(SurgeryDto surgeryDto, Integer pageNo, Integer pageSize) { + QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(surgeryDto, null, + new HashSet() {{ + add("surgery_no"); + add("surgery_name"); + add("patient_name"); + add("main_surgeon_name"); + add("anesthetist_name"); + add("org_name"); + }}, null); + queryWrapper.orderByDesc("create_time"); + return surgeryAppMapper.getSurgeryPage(new Page<>(pageNo, pageSize), queryWrapper); + } + + /** + * 根据ID查询手术详情 + * + * @param id 手术ID + * @return 手术详情 + */ + @Override + public R getSurgeryDetail(Long id) { + SurgeryDto surgeryDto = surgeryAppMapper.getSurgeryDetail(id); + if (surgeryDto == null) { + return R.fail("手术信息不存在"); + } + return R.ok(surgeryDto); + } + + /** + * 新增手术信息 + * + * @param surgeryDto 手术信息 + * @return 结果 + */ + @Override + public R addSurgery(SurgeryDto surgeryDto) { + // 校验患者是否存在 + Patient patient = patientService.getById(surgeryDto.getPatientId()); + if (patient == null) { + return R.fail("患者信息不存在"); + } + + // 转换为实体对象 + Surgery surgery = new Surgery(); + BeanUtils.copyProperties(surgeryDto, surgery); + + Long surgeryId = surgeryService.insertSurgery(surgery); + return R.ok(surgeryId, MessageUtils.createMessage(PromptMsgConstant.Common.M00001, new Object[]{"手术信息"})); + } + + /** + * 修改手术信息 + * + * @param surgeryDto 手术信息 + * @return 结果 + */ + @Override + public R updateSurgery(SurgeryDto surgeryDto) { + // 校验手术是否存在 + Surgery existSurgery = surgeryService.getById(surgeryDto.getId()); + if (existSurgery == null) { + return R.fail("手术信息不存在"); + } + + // 转换为实体对象 + Surgery surgery = new Surgery(); + BeanUtils.copyProperties(surgeryDto, surgery); + + surgeryService.updateSurgery(surgery); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"手术信息"})); + } + + /** + * 删除手术信息 + * + * @param id 手术ID + * @return 结果 + */ + @Override + public R deleteSurgery(Long id) { + // 校验手术是否存在 + Surgery existSurgery = surgeryService.getById(id); + if (existSurgery == null) { + return R.fail("手术信息不存在"); + } + + // 已完成的手术不能删除 + if (existSurgery.getStatusEnum() == 3) { + return R.fail("已完成的手术不能删除"); + } + + surgeryService.deleteSurgery(id); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00005, new Object[]{"手术信息"})); + } + + /** + * 更新手术状态 + * + * @param id 手术ID + * @param statusEnum 状态 + * @return 结果 + */ + @Override + public R updateSurgeryStatus(Long id, Integer statusEnum) { + // 校验手术是否存在 + Surgery existSurgery = surgeryService.getById(id); + if (existSurgery == null) { + return R.fail("手术信息不存在"); + } + + surgeryService.updateSurgeryStatus(id, statusEnum); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"手术状态"})); + } +} diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/controller/SurgeryController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/controller/SurgeryController.java new file mode 100644 index 00000000..ea935d39 --- /dev/null +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/controller/SurgeryController.java @@ -0,0 +1,96 @@ +package com.openhis.web.clinicalmanage.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.core.common.core.domain.R; +import com.openhis.web.clinicalmanage.appservice.ISurgeryAppService; +import com.openhis.web.clinicalmanage.dto.SurgeryDto; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +/** + * 手术管理Controller业务层处理 + * + * @author system + * @date 2025-12-30 + */ +@RestController +@RequestMapping("/clinical-manage/surgery") +@Slf4j +@AllArgsConstructor +public class SurgeryController { + + private final ISurgeryAppService surgeryAppService; + + /** + * 分页查询手术列表 + * + * @param surgeryDto 查询条件 + * @param pageNo 当前页 + * @param pageSize 每页条数 + * @return 手术列表 + */ + @GetMapping(value = "/surgery-page") + public R> getSurgeryPage(SurgeryDto surgeryDto, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { + IPage page = surgeryAppService.getSurgeryPage(surgeryDto, pageNo, pageSize); + return R.ok(page); + } + + /** + * 根据ID查询手术详情 + * + * @param id 手术ID + * @return 手术详情 + */ + @GetMapping(value = "/surgery-detail") + public R getSurgeryDetail(@RequestParam Long id) { + return surgeryAppService.getSurgeryDetail(id); + } + + /** + * 新增手术信息 + * + * @param surgeryDto 手术信息 + * @return 结果 + */ + @PostMapping(value = "/surgery") + public R addSurgery(@RequestBody SurgeryDto surgeryDto) { + return surgeryAppService.addSurgery(surgeryDto); + } + + /** + * 修改手术信息 + * + * @param surgeryDto 手术信息 + * @return 结果 + */ + @PutMapping(value = "/surgery") + public R updateSurgery(@RequestBody SurgeryDto surgeryDto) { + return surgeryAppService.updateSurgery(surgeryDto); + } + + /** + * 删除手术信息 + * + * @param id 手术ID + * @return 结果 + */ + @DeleteMapping(value = "/surgery") + public R deleteSurgery(@RequestParam Long id) { + return surgeryAppService.deleteSurgery(id); + } + + /** + * 更新手术状态 + * + * @param id 手术ID + * @param statusEnum 状态 + * @return 结果 + */ + @PutMapping(value = "/surgery-status") + public R updateSurgeryStatus(@RequestParam Long id, @RequestParam Integer statusEnum) { + return surgeryAppService.updateSurgeryStatus(id, statusEnum); + } +} diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/dto/SurgeryDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/dto/SurgeryDto.java new file mode 100644 index 00000000..5455885c --- /dev/null +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/dto/SurgeryDto.java @@ -0,0 +1,175 @@ +package com.openhis.web.clinicalmanage.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.openhis.common.annotation.Dict; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 手术管理DTO + */ +@Data +@Accessors(chain = true) +public class SurgeryDto { + + /** ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** 手术编号 */ + private String surgeryNo; + + /** 患者ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long patientId; + + /** 患者姓名 */ + private String patientName; + + /** 患者性别 */ + private String patientGender; + + /** 患者年龄 */ + private String patientAge; + + /** 就诊ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long encounterId; + + /** 就诊流水号 */ + private String encounterNo; + + /** 手术名称 */ + private String surgeryName; + + /** 手术编码 */ + private String surgeryCode; + + /** 手术类型编码 */ + @Dict(dictCode = "surgery_type") + private Integer surgeryTypeEnum; + private String surgeryTypeEnum_dictText; + + /** 手术等级 */ + @Dict(dictCode = "surgery_level") + private Integer surgeryLevel; + private String surgeryLevel_dictText; + + /** 手术状态 */ + @Dict(dictCode = "surgery_status") + private Integer statusEnum; + private String statusEnum_dictText; + + /** 计划手术时间 */ + private Date plannedTime; + + /** 实际开始时间 */ + private Date actualStartTime; + + /** 实际结束时间 */ + private Date actualEndTime; + + /** 主刀医生ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long mainSurgeonId; + + /** 主刀医生姓名 */ + private String mainSurgeonName; + + /** 助手1 ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long assistant1Id; + + /** 助手1 姓名 */ + private String assistant1Name; + + /** 助手2 ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long assistant2Id; + + /** 助手2 姓名 */ + private String assistant2Name; + + /** 麻醉医生ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long anesthetistId; + + /** 麻醉医生姓名 */ + private String anesthetistName; + + /** 巡回护士ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long scrubNurseId; + + /** 巡回护士姓名 */ + private String scrubNurseName; + + /** 麻醉方式编码 */ + @Dict(dictCode = "anesthesia_type") + private Integer anesthesiaTypeEnum; + private String anesthesiaTypeEnum_dictText; + + /** 手术部位 */ + private String bodySite; + + /** 手术切口等级 */ + @Dict(dictCode = "incision_level") + private Integer incisionLevel; + private String incisionLevel_dictText; + + /** 手术切口愈合等级 */ + @Dict(dictCode = "healing_level") + private Integer healingLevel; + private String healingLevel_dictText; + + /** 手术室 */ + @JsonSerialize(using = ToStringSerializer.class) + private Long operatingRoomId; + + /** 手术室名称 */ + private String operatingRoomName; + + /** 执行科室ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long orgId; + + /** 执行科室名称 */ + private String orgName; + + /** 术前诊断 */ + private String preoperativeDiagnosis; + + /** 术后诊断 */ + private String postoperativeDiagnosis; + + /** 手术经过描述 */ + private String surgeryDescription; + + /** 术后医嘱 */ + private String postoperativeAdvice; + + /** 并发症描述 */ + private String complications; + + /** 手术费用 */ + private BigDecimal surgeryFee; + + /** 麻醉费用 */ + private BigDecimal anesthesiaFee; + + /** 总费用 */ + private BigDecimal totalFee; + + /** 备注信息 */ + private String remark; + + /** 创建时间 */ + private Date createTime; + + /** 更新时间 */ + private Date updateTime; +} diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/mapper/SurgeryAppMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/mapper/SurgeryAppMapper.java new file mode 100644 index 00000000..7ac808ed --- /dev/null +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/mapper/SurgeryAppMapper.java @@ -0,0 +1,34 @@ +package com.openhis.web.clinicalmanage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.openhis.web.clinicalmanage.dto.SurgeryDto; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +/** + * 手术管理应用Mapper + */ +@Repository +public interface SurgeryAppMapper { + + /** + * 分页查询手术列表 + * + * @param page 分页参数 + * @param queryWrapper 查询条件 + * @return 手术列表 + */ + IPage getSurgeryPage(@Param("page") Page page, + @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + /** + * 根据ID查询手术详情 + * + * @param id 手术ID + * @return 手术详情 + */ + SurgeryDto getSurgeryDetail(@Param("id") Long id); +} diff --git a/openhis-server-new/openhis-application/src/main/resources/application-dev.yml b/openhis-server-new/openhis-application/src/main/resources/application-dev.yml index 500e9758..fe94317c 100644 --- a/openhis-server-new/openhis-application/src/main/resources/application-dev.yml +++ b/openhis-server-new/openhis-application/src/main/resources/application-dev.yml @@ -6,7 +6,7 @@ spring: druid: # 主库数据源 master: - url: jdbc:postgresql://47.116.196.11:15432/postgresql?currentSchema=hisdev&characterEncoding=UTF-8&client_encoding=UTF-8 + url: jdbc:postgresql://192.168.110.252:15432/postgresql?currentSchema=hisdev&characterEncoding=UTF-8&client_encoding=UTF-8 username: postgresql password: Jchl1528 # 从库数据源 @@ -64,9 +64,9 @@ spring: # redis 配置 redis: # 地址 - host: 47.116.196.11 + host: 192.168.110.252 # 端口,默认为6379 - port: 26379 + port: 6379 # 数据库索引 database: 1 # 密码 diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/clinical/SurgeryMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/clinical/SurgeryMapper.xml new file mode 100644 index 00000000..ee1001ab --- /dev/null +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/clinical/SurgeryMapper.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT + id, surgery_no, patient_id, patient_name, encounter_id, surgery_name, surgery_code, + surgery_type_enum, surgery_level, status_enum, planned_time, actual_start_time, actual_end_time, + main_surgeon_id, main_surgeon_name, assistant_1_id, assistant_1_name, assistant_2_id, assistant_2_name, + anesthetist_id, anesthetist_name, scrub_nurse_id, scrub_nurse_name, anesthesia_type_enum, + body_site, incision_level, healing_level, operating_room_id, operating_room_name, + org_id, org_name, preoperative_diagnosis, postoperative_diagnosis, surgery_description, + postoperative_advice, complications, surgery_fee, anesthesia_fee, total_fee, remark, + create_by, create_time, update_by, update_time, delete_flag + FROM cli_surgery + + + + + + + + + diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/clinicalmanage/SurgeryMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/clinicalmanage/SurgeryMapper.xml new file mode 100644 index 00000000..8ebf2ca6 --- /dev/null +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/clinicalmanage/SurgeryMapper.xml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT + s.id, + s.surgery_no, + s.patient_id, + p.name as patient_name, + CASE p.gender_enum WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '未知' END as patient_gender, + EXTRACT(YEAR FROM AGE(p.birth_date)) as patient_age, + s.encounter_id, + e.bus_no as encounter_no, + s.surgery_name, + s.surgery_code, + s.surgery_type_enum, + s.surgery_type_enum as surgery_type_enum_dictText, + s.surgery_level, + s.surgery_level as surgery_level_dictText, + s.status_enum, + s.status_enum as status_enum_dictText, + s.planned_time, + s.actual_start_time, + s.actual_end_time, + s.main_surgeon_id, + s.main_surgeon_name, + s.assistant_1_id, + s.assistant_1_name, + s.assistant_2_id, + s.assistant_2_name, + s.anesthetist_id, + s.anesthetist_name, + s.scrub_nurse_id, + s.scrub_nurse_name, + s.anesthesia_type_enum, + s.anesthesia_type_enum as anesthesia_type_enum_dictText, + s.body_site, + s.incision_level, + s.incision_level as incision_level_dictText, + s.healing_level, + s.healing_level as healing_level_dictText, + s.operating_room_id, + s.operating_room_name, + s.org_id, + o.name as org_name, + s.preoperative_diagnosis, + s.postoperative_diagnosis, + s.surgery_description, + s.postoperative_advice, + s.complications, + s.surgery_fee, + s.anesthesia_fee, + s.total_fee, + s.remark, + s.create_time, + s.update_time + FROM cli_surgery s + LEFT JOIN adm_patient p ON s.patient_id = p.id + LEFT JOIN adm_encounter e ON s.encounter_id = e.id + LEFT JOIN adm_organization o ON s.org_id = o.id + + + + + + + diff --git a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/AnesthesiaTypeEnum.java b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/AnesthesiaTypeEnum.java new file mode 100644 index 00000000..0158a854 --- /dev/null +++ b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/AnesthesiaTypeEnum.java @@ -0,0 +1,36 @@ +package com.openhis.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 麻醉方式枚举 + */ +@Getter +@AllArgsConstructor +public enum AnesthesiaTypeEnum { + + /** 局部麻醉 */ + LOCAL(1, "局部麻醉"), + + /** 区域麻醉 */ + REGIONAL(2, "区域麻醉"), + + /** 全身麻醉 */ + GENERAL(3, "全身麻醉"), + + /** 脊椎麻醉 */ + SPINAL(4, "脊椎麻醉"), + + /** 硬膜外麻醉 */ + EPIDURAL(5, "硬膜外麻醉"), + + /** 表面麻醉 */ + SURFACE(6, "表面麻醉"), + + /** 无麻醉 */ + NONE(0, "无麻醉"); + + private final Integer code; + private final String info; +} diff --git a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/HealingLevelEnum.java b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/HealingLevelEnum.java new file mode 100644 index 00000000..29fa1982 --- /dev/null +++ b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/HealingLevelEnum.java @@ -0,0 +1,24 @@ +package com.openhis.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 手术切口愈合等级枚举 + */ +@Getter +@AllArgsConstructor +public enum HealingLevelEnum { + + /** 甲级愈合 */ + GRADE_A(1, "甲级愈合"), + + /** 乙级愈合 */ + GRADE_B(2, "乙级愈合"), + + /** 丙级愈合 */ + GRADE_C(3, "丙级愈合"); + + private final Integer code; + private final String info; +} diff --git a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/IncisionLevelEnum.java b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/IncisionLevelEnum.java new file mode 100644 index 00000000..c7d81428 --- /dev/null +++ b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/IncisionLevelEnum.java @@ -0,0 +1,27 @@ +package com.openhis.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 手术切口等级枚举 + */ +@Getter +@AllArgsConstructor +public enum IncisionLevelEnum { + + /** I级切口 */ + LEVEL_I(1, "I级切口"), + + /** II级切口 */ + LEVEL_II(2, "II级切口"), + + /** III级切口 */ + LEVEL_III(3, "III级切口"), + + /** IV级切口 */ + LEVEL_IV(4, "IV级切口"); + + private final Integer code; + private final String info; +} diff --git a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SurgeryLevelEnum.java b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SurgeryLevelEnum.java new file mode 100644 index 00000000..ea7a4ebf --- /dev/null +++ b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SurgeryLevelEnum.java @@ -0,0 +1,30 @@ +package com.openhis.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 手术等级枚举 + */ +@Getter +@AllArgsConstructor +public enum SurgeryLevelEnum { + + /** 一级手术 */ + LEVEL_1(1, "一级手术"), + + /** 二级手术 */ + LEVEL_2(2, "二级手术"), + + /** 三级手术 */ + LEVEL_3(3, "三级手术"), + + /** 四级手术 */ + LEVEL_4(4, "四级手术"), + + /** 特级手术 */ + SPECIAL(5, "特级手术"); + + private final Integer code; + private final String info; +} diff --git a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SurgeryStatusEnum.java b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SurgeryStatusEnum.java new file mode 100644 index 00000000..77a0144b --- /dev/null +++ b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SurgeryStatusEnum.java @@ -0,0 +1,33 @@ +package com.openhis.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 手术状态枚举 + */ +@Getter +@AllArgsConstructor +public enum SurgeryStatusEnum { + + /** 待排期 */ + PENDING_SCHEDULE(0, "待排期"), + + /** 已排期 */ + SCHEDULED(1, "已排期"), + + /** 手术中 */ + IN_PROGRESS(2, "手术中"), + + /** 已完成 */ + COMPLETED(3, "已完成"), + + /** 已取消 */ + CANCELLED(4, "已取消"), + + /** 暂停 */ + SUSPENDED(5, "暂停"); + + private final Integer code; + private final String info; +} diff --git a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SurgeryTypeEnum.java b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SurgeryTypeEnum.java new file mode 100644 index 00000000..a6190763 --- /dev/null +++ b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SurgeryTypeEnum.java @@ -0,0 +1,27 @@ +package com.openhis.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 手术类型枚举 + */ +@Getter +@AllArgsConstructor +public enum SurgeryTypeEnum { + + /** 门诊手术 */ + OUTPATIENT(1, "门诊手术"), + + /** 住院手术 */ + INPATIENT(2, "住院手术"), + + /** 急诊手术 */ + EMERGENCY(3, "急诊手术"), + + /** 择期手术 */ + ELECTIVE(4, "择期手术"); + + private final Integer code; + private final String info; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/clinical/domain/Surgery.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/clinical/domain/Surgery.java new file mode 100644 index 00000000..7d81e6b5 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/clinical/domain/Surgery.java @@ -0,0 +1,160 @@ +package com.openhis.clinical.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 手术管理Entity实体 + * + * @author system + * @date 2025-12-30 + */ +@Data +@TableName("cli_surgery") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Surgery extends HisBaseEntity { + + /** ID */ + @TableId(type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** 手术编号 */ + private String surgeryNo; + + /** 患者ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long patientId; + + /** 就诊ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long encounterId; + + /** 手术名称 */ + private String surgeryName; + + /** 手术编码 */ + private String surgeryCode; + + /** 手术类型编码 */ + private Integer surgeryTypeEnum; + + /** 手术等级 */ + private Integer surgeryLevel; + + /** 手术状态 */ + private Integer statusEnum; + + /** 计划手术时间 */ + private Date plannedTime; + + /** 实际开始时间 */ + private Date actualStartTime; + + /** 实际结束时间 */ + private Date actualEndTime; + + /** 主刀医生ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long mainSurgeonId; + + /** 主刀医生姓名 */ + private String mainSurgeonName; + + /** 助手1 ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long assistant1Id; + + /** 助手1 姓名 */ + private String assistant1Name; + + /** 助手2 ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long assistant2Id; + + /** 助手2 姓名 */ + private String assistant2Name; + + /** 麻醉医生ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long anesthetistId; + + /** 麻醉医生姓名 */ + private String anesthetistName; + + /** 巡回护士ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long scrubNurseId; + + /** 巡回护士姓名 */ + private String scrubNurseName; + + /** 麻醉方式编码 */ + private Integer anesthesiaTypeEnum; + + /** 手术部位 */ + private String bodySite; + + /** 手术切口等级 */ + private Integer incisionLevel; + + /** 手术切口愈合等级 */ + private Integer healingLevel; + + /** 手术室 */ + @JsonSerialize(using = ToStringSerializer.class) + private Long operatingRoomId; + + /** 手术室名称 */ + private String operatingRoomName; + + /** 执行科室ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long orgId; + + /** 执行科室名称 */ + private String orgName; + + /** 术前诊断 */ + private String preoperativeDiagnosis; + + /** 术后诊断 */ + private String postoperativeDiagnosis; + + /** 手术经过描述 */ + private String surgeryDescription; + + /** 术后医嘱 */ + private String postoperativeAdvice; + + /** 并发症描述 */ + private String complications; + + /** 手术费用 */ + private BigDecimal surgeryFee; + + /** 麻醉费用 */ + private BigDecimal anesthesiaFee; + + /** 总费用 */ + private BigDecimal totalFee; + + /** 备注信息 */ + private String remark; + + /** 租户ID(表不存在此字段,仅用于继承基类) */ + @TableField(exist = false) + private Integer tenantId; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/clinical/mapper/SurgeryMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/clinical/mapper/SurgeryMapper.java new file mode 100644 index 00000000..eb4f66bb --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/clinical/mapper/SurgeryMapper.java @@ -0,0 +1,42 @@ +package com.openhis.clinical.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.clinical.domain.Surgery; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 手术管理Mapper接口 + * + * @author system + * @date 2025-12-30 + */ +@Mapper +public interface SurgeryMapper extends BaseMapper { + + /** + * 根据患者ID查询手术列表 + * + * @param patientId 患者ID + * @return 手术列表 + */ + List selectByPatientId(@Param("patientId") Long patientId); + + /** + * 根据就诊ID查询手术列表 + * + * @param encounterId 就诊ID + * @return 手术列表 + */ + List selectByEncounterId(@Param("encounterId") Long encounterId); + + /** + * 根据手术编号查询 + * + * @param surgeryNo 手术编号 + * @return 手术信息 + */ + Surgery selectBySurgeryNo(@Param("surgeryNo") String surgeryNo); +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/clinical/service/ISurgeryService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/clinical/service/ISurgeryService.java new file mode 100644 index 00000000..bfc52ec9 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/clinical/service/ISurgeryService.java @@ -0,0 +1,72 @@ +package com.openhis.clinical.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.clinical.domain.Surgery; + +import java.util.List; + +/** + * 手术管理Service接口 + * + * @author system + * @date 2025-12-30 + */ +public interface ISurgeryService extends IService { + + /** + * 新增手术信息 + * + * @param surgery 手术信息 + * @return 手术ID + */ + Long insertSurgery(Surgery surgery); + + /** + * 修改手术信息 + * + * @param surgery 手术信息 + * @return 结果 + */ + boolean updateSurgery(Surgery surgery); + + /** + * 删除手术信息 + * + * @param id 手术ID + * @return 结果 + */ + boolean deleteSurgery(Long id); + + /** + * 根据ID查询手术信息 + * + * @param id 手术ID + * @return 手术信息 + */ + Surgery getSurgeryById(Long id); + + /** + * 根据患者ID查询手术列表 + * + * @param patientId 患者ID + * @return 手术列表 + */ + List getSurgeryListByPatientId(Long patientId); + + /** + * 根据就诊ID查询手术列表 + * + * @param encounterId 就诊ID + * @return 手术列表 + */ + List getSurgeryListByEncounterId(Long encounterId); + + /** + * 更新手术状态 + * + * @param id 手术ID + * @param statusEnum 状态 + * @return 结果 + */ + boolean updateSurgeryStatus(Long id, Integer statusEnum); +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/clinical/service/impl/SurgeryServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/clinical/service/impl/SurgeryServiceImpl.java new file mode 100644 index 00000000..ad444590 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/clinical/service/impl/SurgeryServiceImpl.java @@ -0,0 +1,145 @@ +package com.openhis.clinical.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.core.common.utils.AssignSeqUtil; +import com.openhis.clinical.domain.Surgery; +import com.openhis.clinical.mapper.SurgeryMapper; +import com.openhis.clinical.service.ISurgeryService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + * 手术管理Service业务层处理 + * + * @author system + * @date 2025-12-30 + */ +@Service +public class SurgeryServiceImpl extends ServiceImpl implements ISurgeryService { + + @Resource + private SurgeryMapper surgeryMapper; + + @Resource + private AssignSeqUtil assignSeqUtil; + + /** + * 新增手术信息 + * + * @param surgery 手术信息 + * @return 手术ID + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Long insertSurgery(Surgery surgery) { + // 生成手术编号 + String surgeryNo = assignSeqUtil.getSeq("SS", 10); + surgery.setSurgeryNo(surgeryNo); + surgery.setCreateTime(new Date()); + surgery.setUpdateTime(new Date()); + surgery.setDeleteFlag("0"); + + // 默认状态为待排期 + if (surgery.getStatusEnum() == null) { + surgery.setStatusEnum(0); + } + + surgeryMapper.insert(surgery); + return surgery.getId(); + } + + /** + * 修改手术信息 + * + * @param surgery 手术信息 + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean updateSurgery(Surgery surgery) { + surgery.setUpdateTime(new Date()); + return surgeryMapper.updateById(surgery) > 0; + } + + /** + * 删除手术信息 + * + * @param id 手术ID + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean deleteSurgery(Long id) { + return surgeryMapper.deleteById(id) > 0; + } + + /** + * 根据ID查询手术信息 + * + * @param id 手术ID + * @return 手术信息 + */ + @Override + public Surgery getSurgeryById(Long id) { + return surgeryMapper.selectById(id); + } + + /** + * 根据患者ID查询手术列表 + * + * @param patientId 患者ID + * @return 手术列表 + */ + @Override + public List getSurgeryListByPatientId(Long patientId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Surgery::getPatientId, patientId) + .eq(Surgery::getDeleteFlag, "0") + .orderByDesc(Surgery::getCreateTime); + return surgeryMapper.selectList(wrapper); + } + + /** + * 根据就诊ID查询手术列表 + * + * @param encounterId 就诊ID + * @return 手术列表 + */ + @Override + public List getSurgeryListByEncounterId(Long encounterId) { + return surgeryMapper.selectByEncounterId(encounterId); + } + + /** + * 更新手术状态 + * + * @param id 手术ID + * @param statusEnum 状态 + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean updateSurgeryStatus(Long id, Integer statusEnum) { + Surgery surgery = new Surgery(); + surgery.setId(id); + surgery.setStatusEnum(statusEnum); + surgery.setUpdateTime(new Date()); + + // 如果状态为手术中,更新开始时间 + if (statusEnum == 2) { + surgery.setActualStartTime(new Date()); + } + + // 如果状态为已完成,更新结束时间 + if (statusEnum == 3) { + surgery.setActualEndTime(new Date()); + } + + return surgeryMapper.updateById(surgery) > 0; + } +} diff --git a/openhis-ui-vue3/src/App.vue b/openhis-ui-vue3/src/App.vue index 60e23679..61e22150 100644 --- a/openhis-ui-vue3/src/App.vue +++ b/openhis-ui-vue3/src/App.vue @@ -13,3 +13,4 @@ onMounted(() => { }) }) + diff --git a/openhis-ui-vue3/src/api/surgerymanage.js b/openhis-ui-vue3/src/api/surgerymanage.js new file mode 100644 index 00000000..9fff188c --- /dev/null +++ b/openhis-ui-vue3/src/api/surgerymanage.js @@ -0,0 +1,80 @@ +import request from '@/utils/request' + +/** + * 分页查询手术列表 + * @param queryParams 查询参数 + * @returns {AxiosPromise} + */ +export function getSurgeryPage(queryParams) { + return request({ + url: '/clinical-manage/surgery/surgery-page', + method: 'get', + params: queryParams + }) +} + +/** + * 根据ID查询手术详情 + * @param id 手术ID + * @returns {AxiosPromise} + */ +export function getSurgeryDetail(id) { + return request({ + url: '/clinical-manage/surgery/surgery-detail', + method: 'get', + params: { id } + }) +} + +/** + * 新增手术信息 + * @param data 手术信息 + * @returns {AxiosPromise} + */ +export function addSurgery(data) { + return request({ + url: '/clinical-manage/surgery/surgery', + method: 'post', + data: data + }) +} + +/** + * 修改手术信息 + * @param data 手术信息 + * @returns {AxiosPromise} + */ +export function updateSurgery(data) { + return request({ + url: '/clinical-manage/surgery/surgery', + method: 'put', + data: data + }) +} + +/** + * 删除手术信息 + * @param id 手术ID + * @returns {AxiosPromise} + */ +export function deleteSurgery(id) { + return request({ + url: '/clinical-manage/surgery/surgery', + method: 'delete', + params: { id } + }) +} + +/** + * 更新手术状态 + * @param id 手术ID + * @param statusEnum 状态 + * @returns {AxiosPromise} + */ +export function updateSurgeryStatus(id, statusEnum) { + return request({ + url: '/clinical-manage/surgery/surgery-status', + method: 'put', + params: { id, statusEnum } + }) +} diff --git a/openhis-ui-vue3/src/assets/icons/drug.svg b/openhis-ui-vue3/src/assets/icons/drug.svg new file mode 100644 index 00000000..5653b970 --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/drug.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/appointment.svg b/openhis-ui-vue3/src/assets/icons/svg/appointment.svg new file mode 100644 index 00000000..caed84fb --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/appointment.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/billing.svg b/openhis-ui-vue3/src/assets/icons/svg/billing.svg new file mode 100644 index 00000000..5d751de8 --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/billing.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/diagnosis.svg b/openhis-ui-vue3/src/assets/icons/svg/diagnosis.svg new file mode 100644 index 00000000..537892d9 --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/diagnosis.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/doctor.svg b/openhis-ui-vue3/src/assets/icons/svg/doctor.svg new file mode 100644 index 00000000..7b83da6a --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/doctor.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/emergency.svg b/openhis-ui-vue3/src/assets/icons/svg/emergency.svg new file mode 100644 index 00000000..bc060d6a --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/emergency.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/insurance.svg b/openhis-ui-vue3/src/assets/icons/svg/insurance.svg new file mode 100644 index 00000000..13c14661 --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/insurance.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/inventory.svg b/openhis-ui-vue3/src/assets/icons/svg/inventory.svg new file mode 100644 index 00000000..245f7b18 --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/inventory.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/laboratory.svg b/openhis-ui-vue3/src/assets/icons/svg/laboratory.svg new file mode 100644 index 00000000..d62f03e4 --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/laboratory.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/medical.svg b/openhis-ui-vue3/src/assets/icons/svg/medical.svg new file mode 100644 index 00000000..109f0a71 --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/medical.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/nurse.svg b/openhis-ui-vue3/src/assets/icons/svg/nurse.svg new file mode 100644 index 00000000..76ead278 --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/nurse.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/patient.svg b/openhis-ui-vue3/src/assets/icons/svg/patient.svg new file mode 100644 index 00000000..283b9c42 --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/patient.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/pharmacy.svg b/openhis-ui-vue3/src/assets/icons/svg/pharmacy.svg new file mode 100644 index 00000000..d46c0058 --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/pharmacy.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/prescription.svg b/openhis-ui-vue3/src/assets/icons/svg/prescription.svg new file mode 100644 index 00000000..16bd8ed9 --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/prescription.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/receipt.svg b/openhis-ui-vue3/src/assets/icons/svg/receipt.svg new file mode 100644 index 00000000..2b4a6fc8 --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/receipt.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/surgery.svg b/openhis-ui-vue3/src/assets/icons/svg/surgery.svg new file mode 100644 index 00000000..f229b3ae --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/surgery.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/icons/svg/ward.svg b/openhis-ui-vue3/src/assets/icons/svg/ward.svg new file mode 100644 index 00000000..bd3814ce --- /dev/null +++ b/openhis-ui-vue3/src/assets/icons/svg/ward.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openhis-ui-vue3/src/assets/styles/variables.module.scss b/openhis-ui-vue3/src/assets/styles/variables.module.scss index a5b58fdb..b6fd0b3a 100644 --- a/openhis-ui-vue3/src/assets/styles/variables.module.scss +++ b/openhis-ui-vue3/src/assets/styles/variables.module.scss @@ -42,7 +42,12 @@ $--color-warning: #E6A23C; $--color-danger: #F56C6C; $--color-info: #909399; -$base-sidebar-width: 100%; +// 侧边栏宽度(垂直菜单) +$sideBarWidth: 200px; +$base-sidebar-width: $sideBarWidth; + +// Logo高度 +$logoHeight: 50px; // the :export directive is the magic sauce for webpack // https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass diff --git a/openhis-ui-vue3/src/components/NoticePanel.vue b/openhis-ui-vue3/src/components/NoticePanel.vue index 1076c9d1..3942bf11 100644 --- a/openhis-ui-vue3/src/components/NoticePanel.vue +++ b/openhis-ui-vue3/src/components/NoticePanel.vue @@ -1,49 +1,40 @@