From 2c8d5c814c18bdc3a00b5fa5d12fb26c53a8fe87 Mon Sep 17 00:00:00 2001 From: zhang1106 <849185023@qq.com> Date: Tue, 10 Feb 2026 14:48:42 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86):?= =?UTF-8?q?=20=E6=8F=90=E5=8F=96=E5=B8=B8=E9=87=8F=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=A0=B7=E5=BC=8F=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将状态标签和设备类型映射提取到常量文件 将表格组件样式和空状态样式提取到样式文件 移除组件内硬编码的映射和样式,使用导入的常量 --- .../constants/deviceManagementConstants.js | 17 +++++ frontend/src/pages/DeviceManagement.jsx | 70 +++++-------------- frontend/src/styles/deviceManagementStyles.js | 44 ++++++++++++ 3 files changed, 79 insertions(+), 52 deletions(-) diff --git a/frontend/src/constants/deviceManagementConstants.js b/frontend/src/constants/deviceManagementConstants.js index 632a6c8..81b88c6 100644 --- a/frontend/src/constants/deviceManagementConstants.js +++ b/frontend/src/constants/deviceManagementConstants.js @@ -276,3 +276,20 @@ export const ACTION_BUTTON_CONFIG = { // 单个删除确认消息 singleDeleteConfirmMessage: name => `确定要删除设备 "${name}" 吗?此操作不可恢复。`, }; + +// 状态标签映射 +export const STATUS_MAP = { + running: { text: '运行中', color: 'green' }, + maintenance: { text: '维护中', color: 'orange' }, + offline: { text: '离线', color: 'gray' }, + fault: { text: '故障', color: 'red' }, +}; + +// 设备类型映射 +export const TYPE_MAP = { + server: '服务器', + switch: '交换机', + router: '路由器', + storage: '存储设备', + other: '其他设备', +}; diff --git a/frontend/src/pages/DeviceManagement.jsx b/frontend/src/pages/DeviceManagement.jsx index 2f7e778..18e11e6 100644 --- a/frontend/src/pages/DeviceManagement.jsx +++ b/frontend/src/pages/DeviceManagement.jsx @@ -56,6 +56,8 @@ import { DEVICE_STATUS_OPTIONS, COLUMN_WIDTH_CONFIG, EMPTY_STATE_CONFIG, + STATUS_MAP, + TYPE_MAP, } from '../constants/deviceManagementConstants'; import { pageContainerStyle, @@ -88,6 +90,10 @@ import { detailModalStyles, exportModalStyles, generateGlobalStyles, + emptyStateStyle, + emptyStateIconStyle, + tableContainerStyle, + resizableTitleStyles, } from '../styles/deviceManagementStyles'; const { Option } = Select; @@ -199,36 +205,14 @@ const ResizableTitle = props => { return (