# Design: 新增基础数据管理模块 ## 1. 菜单结构变更 ### 1.1 变更前 ``` 导航栏 ├── 监控仪表盘 ├── DRG业务 ├── DIP业务 ├── 费用预警 ├── 盈亏分析 ├── 病案质控 ├── 数据管理 ├── 分组规则 └── 系统管理 ├── 用户管理 ├── 角色权限 ├── 菜单配置 ├── 接口服务配置 ← 待移动 └── 接口日志 ← 待移动 ``` ### 1.2 变更后 ``` 导航栏 ├── 监控仪表盘 ├── DRG业务 ├── DIP业务 ├── 费用预警 ├── 盈亏分析 ├── 病案质控 ├── 数据管理 ├── 分组规则 ├── 基础数据管理 ← 新增一级菜单 │ ├── DRG基础数据维护 ← 新增 │ ├── ICD编码映射 ← 新增 │ ├── ICD编码查询 ← 新增 │ ├── ADRG分组规则维护 ← 新增 │ ├── 接口服务配置 ← 从系统管理移入 │ └── 接口日志 ← 从系统管理移入 └── 系统管理 ├── 用户管理 ├── 角色权限 └── 菜单配置 ``` ## 2. 技术设计 ### 2.1 App.tsx 菜单配置 在 `menuItems` 数组中,在 `rules`(分组规则)之后、`system`(系统管理)之前插入: ```typescript { key: 'basicData', icon: , label: '基础数据管理', children: [ { key: 'basic-data-maintenance', label: 'DRG基础数据维护' }, { key: 'basic-data-icd-mapping', label: 'ICD编码映射' }, { key: 'basic-data-icd-query', label: 'ICD编码查询' }, { key: 'basic-data-adrg-rules', label: 'ADRG分组规则维护' }, { key: 'basic-data-api-config', label: '接口服务配置' }, { key: 'basic-data-api-logs', label: '接口日志' }, ], }, ``` 同时从 `system` 的 `children` 中移除 `system-api` 和 `system-logs`。 ### 2.2 新增页面组件 #### 2.2.1 DRG基础数据维护 (BasicDataMaintenance.tsx) - **功能**: 维护DRG标准库基础数据(版本、地区费率等) - **路由key**: `basic-data-maintenance` - **主要操作**: 查询、新增、编辑、删除 - **接口**: 02010010-保存DRG基础数据 #### 2.2.2 ICD编码映射 (ICDMapping.tsx) - **功能**: 管理ICD编码在不同版本间的映射关系 - **路由key**: `basic-data-icd-mapping` - **主要操作**: 查询、新增、编辑、删除、导入 - **接口**: 02010022-查询ICD映射 #### 2.2.3 ICD编码查询 (ICDQuery.tsx) - **功能**: ICD-10诊断编码和ICD-9-CM-3手术编码查询 - **路由key**: `basic-data-icd-query` - **主要操作**: 搜索、筛选、查看详情 - **接口**: 02010037-查询ICD编码 #### 2.2.4 ADRG分组规则维护 (ADRGRuleMaintenance.tsx) - **功能**: ADRG分组规则的配置和管理 - **路由key**: `basic-data-adrg-rules` - **主要操作**: 查询、新增、编辑、删除、排序 - **接口**: 02010016-保存ADRG规则 #### 2.2.5 接口服务配置 & 接口日志 - **接口服务配置**: 从 `system-api` 迁移,key 改为 `basic-data-api-config` - **接口日志**: 从 `system-logs` 迁移,key 改为 `basic-data-api-logs` - **原有接口映射管理功能**(interface-mapping-management change 中已设计)可合并到此模块下 ### 2.3 图标选择 - 使用 `ContainerOutlined`(容器图标)作为"基础数据管理"模块图标 - 需在 App.tsx 顶部 import 中新增 `ContainerOutlined` ## 3. 页面骨架设计 所有新增页面采用统一的骨架布局: ```typescript import { Card, Table, Button, Space, Input, Form, Modal, message } from 'antd'; export default function PageName() { // 状态管理 const [loading, setLoading] = useState(false); const [data, setData] = useState([]); return (
{/* 搜索区域 */}
{/* 搜索条件 */}
{/* 数据表格 */} ); } ``` ## 4. 数据接口设计 ### 4.1 DRG基础数据维护 **查询请求参数:** | 字段 | 类型 | 必填 | 说明 | |------|------|------|------| | dataCode | String | 否 | 数据编码 | | dataName | String | 否 | 数据名称 | | dataType | String | 否 | 数据类型 | | version | String | 否 | 版本号 | | page | Number | 否 | 页码 | | limit | Number | 否 | 每页条数 | ### 4.2 ICD编码映射 **查询请求参数:** | 字段 | 类型 | 必填 | 说明 | |------|------|------|------| | sourceCode | String | 否 | 源编码 | | targetCode | String | 否 | 目标编码 | | sourceVersion | String | 否 | 源版本 | | targetVersion | String | 否 | 目标版本 | | codeType | String | 否 | 编码类型:diagnosis/operation | | page | Number | 否 | 页码 | | limit | Number | 否 | 每页条数 | ### 4.3 ICD编码查询 **查询请求参数:** | 字段 | 类型 | 必填 | 说明 | |------|------|------|------| | keyword | String | 否 | 关键词(编码或名称模糊搜索) | | codeType | String | 否 | 编码类型:icd10/icd9cm3 | | categoryCode | String | 否 | 分类编码 | | page | Number | 否 | 页码 | | limit | Number | 否 | 每页条数 | ### 4.4 ADRG分组规则维护 **查询请求参数:** | 字段 | 类型 | 必填 | 说明 | |------|------|------|------| | mdcCode | String | 否 | MDC编码 | | adrgCode | String | 否 | ADRG编码 | | ruleType | String | 否 | 规则类型 | | isActive | String | 否 | 是否启用 | | page | Number | 否 | 页码 | | limit | Number | 否 | 每页条数 |