refactor(floorplan): 重构平面图组件与样式

- 移除未使用的编辑模式、热力图、搜索等功能
- 将样式代码抽离到独立样式文件
- 优化工具栏和缩放控制组件实现
- 添加导出图片功能
- 简化上下文状态管理
- 优化设备提示框和空状态显示
This commit is contained in:
zhang1106
2026-05-07 15:14:40 +08:00
parent c717ce30d6
commit 54b0a8e7bb
23 changed files with 564 additions and 1371 deletions
@@ -1,35 +1,16 @@
// 机柜卡片基础尺寸(会根据屏幕自适应调整)
export const CELL_WIDTH = 220;
export const CELL_HEIGHT = 480;
export const CELL_GAP = 20;
// 兼容旧引用
export const CELL_SIZE = 220;
export const ROW_LABEL_WIDTH = 50;
export const COL_LABEL_HEIGHT = 30;
// 机柜内部尺寸
export const RACK_PADDING = 10;
export const RACK_HEADER_HEIGHT = 36;
export const RACK_STATUS_BAR_HEIGHT = 4;
// U位显示尺寸(双边)
export const U_HEIGHT = 10;
export const U_LABEL_WIDTH_LEFT = 28;
export const U_LABEL_WIDTH_RIGHT = 28;
export const U_BODY_WIDTH = 154;
export const U_BODY_PADDING = 6;
// 设备显示尺寸
export const DEVICE_INDICATOR_WIDTH = 3;
export const DEVICE_STATUS_DOT_SIZE = 2.5;
export const DEVICE_NAME_MAX_WIDTH = 130;
// 小地图
export const MINI_MAP_SIZE = 160;
export const MINI_MAP_PADDING = 10;
// 缩放参数
export const ZOOM = {
MIN: 0.3,
MAX: 2,
@@ -38,23 +19,18 @@ export const ZOOM = {
WHEEL_FACTOR: 0.001,
};
// 颜色定义
export const COLORS = {
CANVAS_BG: '#f0f2f5',
RACK_BG: '#ffffff',
RACK_BORDER: '#d9d9d9',
RACK_SHADOW: 'rgba(0,0,0,0.08)',
RACK_HEADER_BG: '#fafafa',
EMPTY_U_BG: '#f5f5f5',
GRID_LINE: '#e8e8e8',
};
export const RACK_STATUS_COLORS = {
active: '#1677ff',
maintenance: '#faad14',
inactive: '#bfbfbf',
};
export const RACK_STATUS_NAMES = {
active: '在用',
maintenance: '维护中',
inactive: '停用',
};
export const DEVICE_TYPE_COLORS = {
server: '#1677ff',
switch: '#52c41a',
@@ -64,6 +40,15 @@ export const DEVICE_TYPE_COLORS = {
other: '#8c8c8c',
};
export const DEVICE_TYPE_NAMES = {
server: '服务器',
switch: '交换机',
router: '路由器',
firewall: '防火墙',
storage: '存储设备',
other: '其他',
};
export const DEVICE_STATUS_COLORS = {
running: '#52c41a',
maintenance: '#faad14',
@@ -72,13 +57,14 @@ export const DEVICE_STATUS_COLORS = {
idle: '#d9d9d9',
};
export const HEAT_MAP = {
LOW: '#52c41a',
MEDIUM: '#faad14',
HIGH: '#ff4d4f',
export const DEVICE_STATUS_NAMES = {
running: '运行中',
maintenance: '维护中',
offline: '离线',
fault: '故障',
idle: '空闲',
};
// 字体定义
export const FONT = {
RACK_NAME: 'bold 13px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
RACK_INFO: '10px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',