diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OperatingRoomAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OperatingRoomAppServiceImpl.java index 98fabb54..32d4f292 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OperatingRoomAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OperatingRoomAppServiceImpl.java @@ -76,6 +76,26 @@ public class OperatingRoomAppServiceImpl implements IOperatingRoomAppService { operatingRoomPage.getRecords().forEach(e -> { // 状态 e.setStatusEnum_dictText(e.getStatusEnum() != null && e.getStatusEnum() == 1 ? "启用" : "停用"); + // 类型 + if (e.getRoomTypeEnum() != null) { + switch (e.getRoomTypeEnum()) { + case 1: + e.setRoomTypeEnum_dictText("急诊手术室"); + break; + case 2: + e.setRoomTypeEnum_dictText("择期手术室"); + break; + case 3: + e.setRoomTypeEnum_dictText("日间手术室"); + break; + case 4: + e.setRoomTypeEnum_dictText("复合手术室"); + break; + default: + e.setRoomTypeEnum_dictText("未知"); + break; + } + } // 拼音码 e.setPyStr(ChineseConvertUtils.toPinyinFirstLetter(e.getName())); // 五笔码 @@ -105,6 +125,27 @@ public class OperatingRoomAppServiceImpl implements IOperatingRoomAppService { operatingRoomDto.setStatusEnum_dictText( operatingRoom.getStatusEnum() != null && operatingRoom.getStatusEnum() == 1 ? "启用" : "停用"); + // 类型描述 + if (operatingRoom.getRoomTypeEnum() != null) { + switch (operatingRoom.getRoomTypeEnum()) { + case 1: + operatingRoomDto.setRoomTypeEnum_dictText("急诊手术室"); + break; + case 2: + operatingRoomDto.setRoomTypeEnum_dictText("择期手术室"); + break; + case 3: + operatingRoomDto.setRoomTypeEnum_dictText("日间手术室"); + break; + case 4: + operatingRoomDto.setRoomTypeEnum_dictText("复合手术室"); + break; + default: + operatingRoomDto.setRoomTypeEnum_dictText("未知"); + break; + } + } + // 如果有机构ID,查询机构名称 if (operatingRoom.getOrganizationId() != null) { String orgName = commonService.getOrgNameById(operatingRoom.getOrganizationId()); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basedatamanage/dto/OperatingRoomDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basedatamanage/dto/OperatingRoomDto.java index 5ca30778..8c85f92e 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basedatamanage/dto/OperatingRoomDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basedatamanage/dto/OperatingRoomDto.java @@ -2,6 +2,7 @@ package com.openhis.web.basedatamanage.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; @@ -35,6 +36,13 @@ public class OperatingRoomDto implements Serializable { */ private String name; + /** + * 手术室类型 + */ + @Dict(dictCode = "operating_room_type") + private Integer roomTypeEnum; + private String roomTypeEnum_dictText; + /** * 所属机构ID */ diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/OperatingRoom.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/OperatingRoom.java index 0be7c6ec..57573f35 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/OperatingRoom.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/OperatingRoom.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.openhis.common.annotation.Dict; import com.openhis.common.enums.LocationStatus; import lombok.Data; import lombok.EqualsAndHashCode; @@ -31,9 +32,17 @@ public class OperatingRoom extends HisBaseEntity { /** 手术室名称 */ private String name; + /** 手术室类型 */ + @Dict(dictCode = "operating_room_type") + private Integer roomTypeEnum; + private String roomTypeEnum_dictText; + /** 所属机构ID */ private Long organizationId; + /** 所属机构名称 */ + private String organizationName; + /** 位置描述 */ private String locationDescription; diff --git a/openhis-ui-vue3/src/router/index.js b/openhis-ui-vue3/src/router/index.js index 531b68f6..f4b359be 100644 --- a/openhis-ui-vue3/src/router/index.js +++ b/openhis-ui-vue3/src/router/index.js @@ -113,116 +113,116 @@ export const constantRoutes = [ ] }, // 兼容系统业务管理路径 - { - path: '/system/ywgz', - component: Layout, - redirect: '/system/ywgz/InvoiceManagement', - hidden: true, - children: [ - { - path: 'InvoiceManagement', - component: () => import('@/views/basicmanage/InvoiceManagement/index.vue'), - name: 'SystemInvoiceManagement', - meta: { title: '发票管理' } - } - ] - }, - { - path: '/maintainSystem', - component: Layout, - redirect: '/maintainSystem/chargeConfig', - name: 'MaintainSystem', - meta: { title: '维护系统', icon: 'system' }, - children: [ - { - path: '', - redirect: 'chargeConfig' - }, - { - path: 'chargeConfig', - component: () => import('@/views/maintainSystem/chargeConfig/index.vue'), - name: 'ChargeConfig', - meta: { title: '挂号收费系统参数维护', icon: 'config', permissions: ['maintainSystem:chargeConfig:list'] } - }, - { - path: 'Inspection', - component: () => import('@/views/maintainSystem/Inspection/index.vue'), - name: 'Inspection', - meta: { title: '检验管理', icon: 'inspection' }, - children: [ - { - path: 'PackageManagement', - component: () => import('@/views/maintainSystem/Inspection/PackageManagement.vue'), - name: 'PackageManagement', - meta: { title: '套餐管理' } - } - ] - } - ] - }, - { - path: '/system', - component: Layout, - redirect: '/system/user', - name: 'System', - meta: { title: '系统管理', icon: 'system' }, - children: [ - { - path: 'user', - component: () => import('@/views/system/user/index.vue'), - name: 'User', - meta: { title: '用户管理', icon: 'user', permissions: ['system:user:list'] } - }, - { - path: 'role', - component: () => import('@/views/system/role/index.vue'), - name: 'Role', - meta: { title: '角色管理', icon: 'role', permissions: ['system:role:list'] } - }, - { - path: 'menu', - component: () => import('@/views/system/menu/index.vue'), - name: 'Menu', - meta: { title: '菜单管理', icon: 'menu', permissions: ['system:menu:list'] } - }, - { - path: 'dept', - component: () => import('@/views/system/dept/index.vue'), - name: 'Dept', - meta: { title: '部门管理', icon: 'dept', permissions: ['system:dept:list'] } - }, - { - path: 'post', - component: () => import('@/views/system/post/index.vue'), - name: 'Post', - meta: { title: '岗位管理', icon: 'post', permissions: ['system:post:list'] } - }, - { - path: 'dict', - component: () => import('@/views/system/dict/index.vue'), - name: 'Dict', - meta: { title: '字典管理', icon: 'dict', permissions: ['system:dict:list'] } - }, - { - path: 'config', - component: () => import('@/views/system/config/index.vue'), - name: 'Config', - meta: { title: '参数配置', icon: 'config', permissions: ['system:config:list'] } - }, - { - path: 'notice', - component: () => import('@/views/system/notice/index.vue'), - name: 'Notice', - meta: { title: '通知公告', icon: 'notice', permissions: ['system:notice:list'] } - }, - { - path: 'tenant', - component: () => import('@/views/system/tenant/index.vue'), - name: 'Tenant', - meta: { title: '租户管理', icon: 'tenant', permissions: ['system:tenant:list'] } - } - ] - }, + // { + // path: '/system/ywgz', + // component: Layout, + // redirect: '/system/ywgz/InvoiceManagement', + // hidden: true, + // children: [ + // { + // path: 'InvoiceManagement', + // component: () => import('@/views/basicmanage/InvoiceManagement/index.vue'), + // name: 'SystemInvoiceManagement', + // meta: { title: '发票管理' } + // } + // ] + // }, + // { + // path: '/maintainSystem', + // component: Layout, + // redirect: '/maintainSystem/chargeConfig', + // name: 'MaintainSystem', + // meta: { title: '维护系统', icon: 'system' }, + // children: [ + // { + // path: '', + // redirect: 'chargeConfig' + // }, + // { + // path: 'chargeConfig', + // component: () => import('@/views/maintainSystem/chargeConfig/index.vue'), + // name: 'ChargeConfig', + // meta: { title: '挂号收费系统参数维护', icon: 'config', permissions: ['maintainSystem:chargeConfig:list'] } + // }, + // { + // path: 'Inspection', + // component: () => import('@/views/maintainSystem/Inspection/index.vue'), + // name: 'Inspection', + // meta: { title: '检验管理', icon: 'inspection' }, + // children: [ + // { + // path: 'PackageManagement', + // component: () => import('@/views/maintainSystem/Inspection/PackageManagement.vue'), + // name: 'PackageManagement', + // meta: { title: '套餐管理' } + // } + // ] + // } + // ] + // }, + // { + // path: '/system', + // component: Layout, + // redirect: '/system/user', + // name: 'System', + // meta: { title: '系统管理', icon: 'system' }, + // children: [ + // { + // path: 'user', + // component: () => import('@/views/system/user/index.vue'), + // name: 'User', + // meta: { title: '用户管理', icon: 'user', permissions: ['system:user:list'] } + // }, + // { + // path: 'role', + // component: () => import('@/views/system/role/index.vue'), + // name: 'Role', + // meta: { title: '角色管理', icon: 'role', permissions: ['system:role:list'] } + // }, + // { + // path: 'menu', + // component: () => import('@/views/system/menu/index.vue'), + // name: 'Menu', + // meta: { title: '菜单管理', icon: 'menu', permissions: ['system:menu:list'] } + // }, + // { + // path: 'dept', + // component: () => import('@/views/system/dept/index.vue'), + // name: 'Dept', + // meta: { title: '部门管理', icon: 'dept', permissions: ['system:dept:list'] } + // }, + // { + // path: 'post', + // component: () => import('@/views/system/post/index.vue'), + // name: 'Post', + // meta: { title: '岗位管理', icon: 'post', permissions: ['system:post:list'] } + // }, + // { + // path: 'dict', + // component: () => import('@/views/system/dict/index.vue'), + // name: 'Dict', + // meta: { title: '字典管理', icon: 'dict', permissions: ['system:dict:list'] } + // }, + // { + // path: 'config', + // component: () => import('@/views/system/config/index.vue'), + // name: 'Config', + // meta: { title: '参数配置', icon: 'config', permissions: ['system:config:list'] } + // }, + // { + // path: 'notice', + // component: () => import('@/views/system/notice/index.vue'), + // name: 'Notice', + // meta: { title: '通知公告', icon: 'notice', permissions: ['system:notice:list'] } + // }, + // { + // path: 'tenant', + // component: () => import('@/views/system/tenant/index.vue'), + // name: 'Tenant', + // meta: { title: '租户管理', icon: 'tenant', permissions: ['system:tenant:list'] } + // } + // ] + // }, { path: '/system/tenant-user', component: Layout, diff --git a/openhis-ui-vue3/src/views/operatingroom/index.vue b/openhis-ui-vue3/src/views/operatingroom/index.vue index 6b7e5937..444bfb14 100644 --- a/openhis-ui-vue3/src/views/operatingroom/index.vue +++ b/openhis-ui-vue3/src/views/operatingroom/index.vue @@ -52,6 +52,8 @@ + + @@ -109,6 +111,18 @@ + + + + + + + + + + @@ -196,6 +213,7 @@ {{ viewData.busNo }} {{ viewData.name }} + {{ viewData.roomTypeEnum_dictText }} {{ viewData.locationDescription }} {{ viewData.capacity }} {{ viewData.organizationName }} @@ -260,6 +278,7 @@ const form = ref({ id: undefined, busNo: undefined, name: undefined, + roomTypeEnum: undefined, organizationId: undefined, locationDescription: undefined, equipmentConfig: undefined, @@ -272,6 +291,13 @@ const form = ref({ const operatingRoomRef = ref() const viewData = ref({}) +const roomTypeOptions = ref([ + { value: 1, label: '急诊手术室' }, + { value: 2, label: '择期手术室' }, + { value: 3, label: '日间手术室' }, + { value: 4, label: '复合手术室' } +]) + const statusOptions = ref([ { value: 1, label: '启用' }, { value: 0, label: '停用' } @@ -344,6 +370,7 @@ function reset() { id: undefined, busNo: undefined, name: undefined, + roomTypeEnum: undefined, organizationId: undefined, locationDescription: undefined, equipmentConfig: undefined,