From 01dea6efa15de36d2042d5189efaaf0cc13c2dec Mon Sep 17 00:00:00 2001 From: zyh Date: Thu, 10 Apr 2025 00:54:17 +0000 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=A4=9A=E4=B8=AA=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=92=8C=E5=91=8A=E8=AD=A6=E7=9B=B8=E5=85=B3=E7=9A=84?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E5=8F=8A=E6=98=A0=E5=B0=84=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=9C=B0=E5=9B=BE=E7=B1=BB=E5=9E=8B=E6=9E=9A=E4=B8=BE?= =?UTF-8?q?=E5=92=8C=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E4=BB=A5=E6=8F=90=E5=8D=87=E5=8F=AF=E7=BB=B4=E6=8A=A4=E6=80=A7?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- asset/share/types.ts | 1658 +----------------------------------------- 1 file changed, 4 insertions(+), 1654 deletions(-) diff --git a/asset/share/types.ts b/asset/share/types.ts index 7aa80d4..33f5ec1 100644 --- a/asset/share/types.ts +++ b/asset/share/types.ts @@ -1,4 +1,3 @@ - export enum OssType { ALIYUN = 'aliyun', MINIO = 'minio', @@ -144,182 +143,10 @@ export const DeleteStatusNameMap: Record = { [DeleteStatus.DELETED]: '已删除' }; -// 设备通信协议类型枚举 -export enum DeviceProtocolType { - SNMP = 'SNMP', // 简单网络管理协议(网络设备管理) - HTTP = 'HTTP', // 超文本传输协议(Web服务) - MODBUS = 'MODBUS', // Modbus协议(工业自动化标准通信协议) - MQTT = 'MQTT', // 消息队列遥测传输(物联网消息协议) - SOCKET = 'SOCKET', // Socket通信(基础网络通信) - OPC = 'OPC', // OPC统一架构(工业设备互操作性标准) - RS485 = 'RS485', // RS485串行通信(工业现场总线) - TCP = 'TCP' // TCP网络协议(可靠的网络传输协议) -} - -// 设备通信协议类型中文映射 -export const DeviceProtocolTypeNameMap: Record = { - [DeviceProtocolType.SNMP]: 'SNMP', - [DeviceProtocolType.HTTP]: 'HTTP', - [DeviceProtocolType.MODBUS]: 'MODBUS', - [DeviceProtocolType.MQTT]: 'MQTT', - [DeviceProtocolType.SOCKET]: 'SOCKET', - [DeviceProtocolType.OPC]: 'OPC', - [DeviceProtocolType.RS485]: 'RS485', - [DeviceProtocolType.TCP]: 'TCP' -}; - -// 统一的监控指标类型枚举 -export enum MetricType { - TEMPERATURE = 'temperature', - HUMIDITY = 'humidity', - VOLTAGE = 'voltage', - CPU_USAGE = 'cpu_usage', - MEMORY_USAGE = 'memory_usage', - DISK_USAGE = 'disk_usage', - NETWORK_TRAFFIC = 'network_traffic', - PING_TIME = 'ping_time', - PACKET_LOSS = 'packet_loss', - SNMP_RESPONSE_TIME = 'snmp_response_time', - SNMP_ERRORS = 'snmp_errors', - HTTP_RESPONSE_TIME = 'http_response_time', - HTTP_STATUS = 'http_status', - TCP_CONNECTION_TIME = 'tcp_connection_time', - CONNECTION_STATUS = 'connection_status' -} - -// 监控类型中文映射 -export const MetricTypeNameMap: Record = { - [MetricType.TEMPERATURE]: '温度', - [MetricType.HUMIDITY]: '湿度', - [MetricType.VOLTAGE]: '电压', - [MetricType.CPU_USAGE]: 'CPU使用率', - [MetricType.MEMORY_USAGE]: '内存使用率', - [MetricType.DISK_USAGE]: '磁盘使用率', - [MetricType.NETWORK_TRAFFIC]: '网络流量', - [MetricType.PING_TIME]: 'Ping时间', - [MetricType.PACKET_LOSS]: '丢包率', - [MetricType.SNMP_RESPONSE_TIME]: 'SNMP响应时间', - [MetricType.SNMP_ERRORS]: 'SNMP错误数', - [MetricType.HTTP_RESPONSE_TIME]: 'HTTP响应时间', - [MetricType.HTTP_STATUS]: 'HTTP状态码', - [MetricType.TCP_CONNECTION_TIME]: 'TCP连接时间', - [MetricType.CONNECTION_STATUS]: '连接状态' -}; - -// 处理类型枚举 -export enum HandleType { - CONFIRM = 'confirm', - RESOLVE = 'resolve', - IGNORE = 'ignore' -} - -// 处理类型中文映射 -export const HandleTypeNameMap: Record = { - [HandleType.CONFIRM]: '确认', - [HandleType.RESOLVE]: '解决', - [HandleType.IGNORE]: '忽略' -}; - -// 问题类型枚举 -export enum ProblemType { - DEVICE = 'device', - NETWORK = 'network', - POWER = 'power', - CONSTRUCTION = 'construction', - OTHER = 'other' -} - -// 问题类型中文映射 -export const ProblemTypeNameMap: Record = { - [ProblemType.DEVICE]: '设备故障', - [ProblemType.NETWORK]: '网络故障', - [ProblemType.POWER]: '电源故障', - [ProblemType.CONSTRUCTION]: '施工影响', - [ProblemType.OTHER]: '其他原因' -}; - -// 通知类型枚举 -export enum NotifyType { - SMS = 'sms', - EMAIL = 'email', - WECHAT = 'wechat' -} - -// 通知类型中文映射 -export const NotifyTypeNameMap: Record = { - [NotifyType.SMS]: '短信', - [NotifyType.EMAIL]: '邮件', - [NotifyType.WECHAT]: '微信' -}; - -// 告警等级枚举 -export enum AlertLevel { - MINOR = 0, // 次要 - NORMAL = 1, // 一般 - IMPORTANT = 2, // 重要 - URGENT = 3 // 紧急 -} - -// 告警等级中文映射 -export const AlertLevelNameMap: Record = { - [AlertLevel.MINOR]: '次要', - [AlertLevel.NORMAL]: '一般', - [AlertLevel.IMPORTANT]: '重要', - [AlertLevel.URGENT]: '紧急' -}; - -// 告警等级颜色映射 -export const AlertLevelColorMap: Record = { - [AlertLevel.MINOR]: 'blue', - [AlertLevel.NORMAL]: 'orange', - [AlertLevel.IMPORTANT]: 'red', - [AlertLevel.URGENT]: 'purple' -}; - -// 设备状态枚举(资产管理) -export enum DeviceStatus { - NORMAL = 0, // 正常 - MAINTAIN = 1, // 维护中 - FAULT = 2, // 故障 - OFFLINE = 3 // 下线 -} - -// 设备分类枚举 -export enum DeviceCategory { - SERVER = 1, // 服务器 - NETWORK = 2, // 网络设备 - STORAGE = 3, // 存储设备 - SECURITY = 4, // 安全设备 - OTHER = 5 // 其他设备 -} - -// 区域枚举 -export enum AreaType { - AREA_A = 1, // A区 - AREA_B = 2, // B区 - AREA_C = 3, // C区 - AREA_OTHER = 4 // 其他区域 -} - -// 资产状态枚举 -export enum AssetStatus { - IN_USE = 0, // 使用中 - IDLE = 1, // 闲置 - REPAIR = 2, // 维修中 - SCRAPPED = 3 // 已报废 -} - -// 网络状态枚举 -export enum NetworkStatus { - CONNECTED = 0, // 已连接 - DISCONNECTED = 1, // 已断开 - UNSTABLE = 2 // 不稳定 -} - -// 丢包状态枚举 -export enum PacketLossStatus { - NORMAL = 0, // 正常 - HIGH = 1 // 丢包 +// 地图类型 +export enum MapMode { + ONLINE = 'online', + OFFLINE = 'offline' } // 审核状态枚举 @@ -336,171 +163,6 @@ export const AuditStatusNameMap: Record = { [AuditStatus.REJECTED]: '已拒绝' }; -// 设备状态中文映射(资产管理) -export const DeviceStatusNameMap: Record = { - [DeviceStatus.NORMAL]: '正常', - [DeviceStatus.MAINTAIN]: '维护中', - [DeviceStatus.FAULT]: '故障', - [DeviceStatus.OFFLINE]: '下线' -}; - -// 设备状态颜色映射(资产管理) -export const DeviceStatusColorMap: Record = { - [DeviceStatus.NORMAL]: 'green', - [DeviceStatus.MAINTAIN]: 'blue', - [DeviceStatus.FAULT]: 'red', - [DeviceStatus.OFFLINE]: 'gray' -}; - -// 设备分类中文映射 -export const DeviceCategoryNameMap: Record = { - [DeviceCategory.SERVER]: '服务器', - [DeviceCategory.NETWORK]: '网络设备', - [DeviceCategory.STORAGE]: '存储设备', - [DeviceCategory.SECURITY]: '安全设备', - [DeviceCategory.OTHER]: '其他设备' -}; - -// 告警状态枚举 -export enum AlertStatus { - PENDING = 'pending', - HANDLING = 'handling', - RESOLVED = 'resolved', - IGNORED = 'ignored' -} - -// 告警状态中文映射 -export const AlertStatusNameMap: Record = { - [AlertStatus.PENDING]: '待处理', - [AlertStatus.HANDLING]: '处理中', - [AlertStatus.RESOLVED]: '已解决', - [AlertStatus.IGNORED]: '已忽略' -}; - -// 告警状态颜色映射 -export const AlertStatusColorMap: Record = { - [AlertStatus.PENDING]: 'red', - [AlertStatus.HANDLING]: 'blue', - [AlertStatus.RESOLVED]: 'green', - [AlertStatus.IGNORED]: 'gray' -}; - -// 设备在线状态枚举 -export enum OnlineStatus { - ONLINE = 'online', - OFFLINE = 'offline' -} - -// 设备在线状态中文映射 -export const OnlineStatusNameMap: Record = { - [OnlineStatus.ONLINE]: '在线', - [OnlineStatus.OFFLINE]: '离线' -}; - -// 设备在线状态颜色映射 -export const OnlineStatusColorMap: Record = { - [OnlineStatus.ONLINE]: 'green', - [OnlineStatus.OFFLINE]: 'red' -}; - -// 工单状态枚举 -export enum WorkOrderStatus { - PENDING = 0, // 待处理 - HANDLING = 1, // 处理中 - AUDITING = 2, // 待审核 - COMPLETED = 3, // 已完成 - CLOSED = 4 // 已关闭 -} - -// 工单状态中文映射 -export const WorkOrderStatusNameMap: Record = { - [WorkOrderStatus.PENDING]: '待处理', - [WorkOrderStatus.HANDLING]: '处理中', - [WorkOrderStatus.AUDITING]: '待审核', - [WorkOrderStatus.COMPLETED]: '已完成', - [WorkOrderStatus.CLOSED]: '已关闭' -}; - -// 工单状态颜色映射 -export const WorkOrderStatusColorMap: Record = { - [WorkOrderStatus.PENDING]: 'orange', - [WorkOrderStatus.HANDLING]: 'blue', - [WorkOrderStatus.AUDITING]: 'gold', - [WorkOrderStatus.COMPLETED]: 'green', - [WorkOrderStatus.CLOSED]: 'gray' -}; - -// 工单优先级枚举 -export enum WorkOrderPriority { - NORMAL = 0, // 普通 - IMPORTANT = 1, // 重要 - URGENT = 2 // 紧急 -} - -// 工单优先级中文映射 -export const WorkOrderPriorityNameMap: Record = { - [WorkOrderPriority.NORMAL]: '普通', - [WorkOrderPriority.IMPORTANT]: '重要', - [WorkOrderPriority.URGENT]: '紧急' -}; - -// 工单优先级颜色映射 -export const WorkOrderPriorityColorMap: Record = { - [WorkOrderPriority.NORMAL]: 'green', - [WorkOrderPriority.IMPORTANT]: 'orange', - [WorkOrderPriority.URGENT]: 'red' -}; - -// 工单操作类型枚举 -export enum WorkOrderAction { - CREATE = 'create', - ACCEPT = 'accept', - HANDLE = 'handle', - AUDIT = 'audit', - CLOSE = 'close' -} - -// 工单操作类型中文映射 -export const WorkOrderActionNameMap: Record = { - [WorkOrderAction.CREATE]: '创建', - [WorkOrderAction.ACCEPT]: '接受', - [WorkOrderAction.HANDLE]: '处理', - [WorkOrderAction.AUDIT]: '审核', - [WorkOrderAction.CLOSE]: '关闭' -}; - -// 服务器类型枚举 -export enum ServerType { - STANDARD = 'standard', - NETWORK = 'network', - STORAGE = 'storage', - SPECIAL = 'special' -} - -// 服务器类型中文映射 -export const ServerTypeNameMap: Record = { - [ServerType.STANDARD]: '标准服务器', - [ServerType.NETWORK]: '网络设备', - [ServerType.STORAGE]: '存储设备', - [ServerType.SPECIAL]: '特殊设备' -}; - - - -// 图表类型映射 -export const AlertTypeMap = { - temperature: { text: '温度异常', color: 'orange' }, - humidity: { text: '湿度异常', color: 'blue' }, - offline: { text: '设备离线', color: 'red' } -} as const; - -// 工单状态映射 -export const StatusMap = { - unread: { text: '未读', color: 'red' }, - read: { text: '已读', color: 'blue' }, - processed: { text: '已处理', color: 'green' } -} as const; - // 图标类型映射 type IconType = 'dashboard' | 'user' | 'setting' | 'team' | 'book' | 'calendar' | 'pie-chart' | 'database'; @@ -516,8 +178,6 @@ export const IconTypeNameMap: Record = { 'database': '数据库' }; -// 定义JSON数据结构接口 - // 附件类型定义 export interface Attachment { /** 附件ID */ @@ -539,598 +199,6 @@ export interface Attachment { upload_time: string; } -// 通知项配置类型定义 -interface NotifyItem { - /** 通知项ID */ - id: string; - - /** 通知项类型 */ - type: string; - - /** 是否启用 */ - enabled: boolean; - - /** 通知配置参数 */ - config: Record; -} - -// 监控配置类型定义 -export interface MonitorConfig { - /** 监控间隔(秒) */ - interval: number; - - /** 监控指标列表 */ - metrics: Array<{ - /** 指标名称 */ - name: string; - - /** 指标类型 */ - type: string; - - /** 是否启用 */ - enabled: boolean; - - /** 阈值设置 */ - threshold?: { - /** 最小阈值 */ - min?: number; - - /** 最大阈值 */ - max?: number; - }; - }>; - - /** 通知设置 */ - notification: { - /** 是否启用通知 */ - enabled: boolean; - - /** 通知渠道列表 */ - channels: string[]; - }; -} - -// 告警规则类型定义 -export interface AlertRuleConfig { - /** 规则列表 */ - rules: Array<{ - /** 监控指标 */ - metric: string; - - /** 触发条件(如>、<、=等) */ - condition: string; - - /** 阈值 */ - threshold: number; - - /** 持续时间(秒) */ - duration: number; - - /** 告警等级 */ - level: AlertLevel; - }>; - - /** 动作列表 */ - actions: Array<{ - /** 动作类型 */ - type: string; - - /** 动作目标 */ - target: string; - - /** 通知模板 */ - template?: string; - }>; -} - -// 数据格式配置类型定义 -export interface DataSchema { - /** 版本号 */ - version: string; - - /** 属性定义 */ - properties: Record; - - /** 必填字段列表 */ - required: string[]; -} - -// 图标配置类型定义 -export interface IconConfig { - /** 图标尺寸 */ - size: { - /** 宽度 */ - width: number; - - /** 高度 */ - height: number; - }; - - /** 支持的文件格式 */ - format: string[]; - - /** 最大文件大小(KB) */ - maxSize: number; -} - -// 告警等级配置类型定义 -export interface AlertLevelConfig { - /** 等级定义 */ - levels: Record; - - /** 默认等级 */ - default: string; -} - -// 监控项配置类型定义 -export interface MonitorItemConfig { - /** 监控项列表 */ - items: Array<{ - /** 监控项名称 */ - name: string; - - /** 描述 */ - description: string; - - /** 监控项类型 */ - type: string; - - /** 单位 */ - unit: string; - - /** 默认是否启用 */ - defaultEnabled: boolean; - - /** 默认阈值 */ - defaultThresholds?: { - /** 最小阈值 */ - min?: number; - - /** 最大阈值 */ - max?: number; - }; - }>; -} - -// 常用语列表类型定义 -export interface CommonPhrase { - /** 常用语ID */ - id: string; - - /** 分类 */ - category: string; - - /** 内容 */ - content: string; - - /** 标签列表 */ - tags: string[]; -} - -// SLA配置类型定义 -export interface SLAConfig { - /** 响应时间(分钟) */ - responseTime: number; - - /** 解决时间(分钟) */ - resolveTime: number; - - /** 工作时间 */ - workingHours: { - /** 开始时间(HH:mm) */ - start: string; - - /** 结束时间(HH:mm) */ - end: string; - - /** 工作日(0-6,0代表周日) */ - workDays: number[]; - }; - - /** 升级规则 */ - escalationRules: Array<{ - /** 超时时间(分钟) */ - timeout: number; - - /** 动作 */ - action: string; - - /** 目标(如用户ID、角色等) */ - target: string[]; - }>; -} - -// 流程配置类型定义 -export interface WorkflowConfig { - /** 流程步骤 */ - steps: Array<{ - /** 步骤名称 */ - name: string; - - /** 允许操作的角色 */ - roles: string[]; - - /** 可执行的动作 */ - actions: string[]; - - /** 下一步可能的步骤 */ - nextSteps: string[]; - - /** 自动超时时间(分钟) */ - autoTimeout?: number; - }>; - - /** 初始步骤 */ - initialStep: string; -} - -// 告警处理记录表 -export interface AlertHandleLog { - /** 主键ID */ - id: number; - - /** 关联的告警ID */ - alert_id: number; - - /** 处理人ID */ - handler_id: number; - - /** 处理类型 */ - handle_type: HandleType; - - /** 问题类型 */ - problem_type: ProblemType; - - /** 处理结果 */ - handle_result?: string; - - /** 附件列表 */ - attachments?: Attachment[]; - - /** 是否禁用通知 (0否 1是) */ - notify_disabled?: number; - - /** 禁用的通知项配置 */ - notify_items?: NotifyItem[]; - - /** 处理时间 */ - handle_time: Date; - - /** 是否删除 (0否 1是) */ - is_deleted?: DeleteStatus; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 告警通知配置表 -export interface AlertNotifyConfig { - /** 主键ID */ - id: number; - - /** 关联的设备ID */ - device_id: number; - - /** 告警等级 */ - alert_level: AlertLevel; - - /** 通知类型 */ - notify_type: NotifyType; - - /** 通知模板 */ - notify_template?: string; - - /** 通知用户ID列表 */ - notify_users?: number[]; - - /** 是否启用 (0否 1是) */ - is_enabled?: EnableStatus; - - /** 是否删除 (0否 1是) */ - is_deleted?: DeleteStatus; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 设备告警规则表 -export interface DeviceAlertRule { - /** 主键ID */ - id: number; - - /** 关联的设备ID */ - device_id: number; - - /** 监控指标类型 */ - metric_type: string; - - /** 最小阈值 */ - min_value?: number; - - /** 最大阈值 */ - max_value?: number; - - /** 持续时间(秒) */ - duration_seconds?: number; - - /** 告警等级 */ - alert_level: AlertLevel; - - /** 告警消息模板 */ - alert_message?: string; - - /** 是否启用 (0否 1是) */ - is_enabled?: EnableStatus; - - /** 是否删除 (0否 1是) */ - is_deleted?: DeleteStatus; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 设备告警记录表 -export interface DeviceAlert { - /** 主键ID */ - id: number; - - /** 关联的设备ID */ - device_id: number; - - /** 设备名称 */ - device_name: string; - - /** 监控指标类型 */ - metric_type: string; - - /** 触发值 */ - metric_value: number; - - /** 告警等级 */ - alert_level: AlertLevel; - - /** 告警消息 */ - alert_message: string; - - /** 状态 */ - status: AlertStatus; - - /** 是否删除 (0否 1是) */ - is_deleted?: DeleteStatus; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 设备分类图标表 -export interface DeviceCategoryIcon { - /** 主键ID */ - id: number; - - /** 关联的设备分类ID */ - category_id: number; - - /** 分类图标 */ - icon?: string; - - /** 图标名称 */ - icon_name?: string; - - /** 图标类型(svg/url等) */ - icon_type?: string; - - /** 排序 */ - sort?: number; - - /** 是否为默认图标 (0否 1是) */ - is_default?: number; - - /** 是否禁用 (0否 1是) */ - is_disabled?: number; - - /** 是否被删除 (0否 1是) */ - is_deleted?: number; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - - -// 设备实例表 -export interface DeviceInstance { - /** 关联资产ID */ - id: number; - - /** 设备类型ID */ - type_id: number; - - /** 通信协议(SNMP/HTTP/RS485/TCP等) */ - protocol: DeviceProtocolType; - - /** 通信地址 */ - address: string; - - /** 采集间隔(秒) */ - collect_interval?: number; - - /** 最后采集时间 */ - last_collect_time?: Date; - - /** 备注 */ - remark?: string; - - /** 是否启用 (0否 1是) */ - is_enabled?: number; - - /** 是否删除 (0否 1是) */ - is_deleted?: number; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; - - /** 资产名称(来自zichan_info表) */ - asset_name?: string; - - /** 设备分类(来自zichan_info表) */ - device_category?: DeviceCategory; - - /** 归属区域(来自zichan_info表) */ - area?: AreaType; - - /** 供应商(来自zichan_info表) */ - supplier?: string; - - /** 设备状态(来自zichan_info表) */ - device_status?: DeviceStatus; -} - -// 设备监控数据表 -export interface DeviceMonitorData { - /** 主键ID */ - id: number; - - /** 关联的设备ID */ - device_id: number; - - /** 监控指标类型(temperature/humidity/smoke/water等) */ - metric_type: string; - - /** 监控值 */ - metric_value: number; - - /** 单位 */ - unit?: string; - - /** 状态 */ - status?: DeviceStatus; - - /** 采集时间 */ - collect_time: Date; - - /** 是否删除 (0否 1是) */ - is_deleted?: DeleteStatus; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 设备类型表 -export interface DeviceType { - /** 主键ID */ - id: number; - - /** 类型名称 */ - name: string; - - /** 类型编码 */ - code: string; - - /** 设备类型图片URL */ - image_url?: string; - - /** 类型描述 */ - description?: string; - - /** 是否启用 (0否 1是) */ - is_enabled?: number; - - /** 是否删除 (0否 1是) */ - is_deleted?: number; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 知识库表 -export interface KnowInfo { - /** 主键ID */ - id: number; - - /** 文章的标题 */ - title?: string; - - /** 文章的标签 */ - tags?: string; - - /** 文章的内容 */ - content?: string; - - /** 文章的作者 */ - author?: string; - - /** 文章的分类 */ - category?: string; - - /** 文章的封面图片URL */ - cover_url?: string; - - /** 审核状态 */ - audit_status?: number; - - /** 是否被删除 (0否 1是) */ - is_deleted?: number; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - // 操作日志表 export interface OperationLog { /** 主键ID */ @@ -1161,724 +229,6 @@ export interface OperationLog { updated_at: Date; } -// 机柜信息表 -export interface RackInfo { - /** 主键ID */ - id: number; - - /** 机柜名称 */ - rack_name?: string; - - /** 机柜编号 */ - rack_code?: string; - - /** 机柜可容纳设备数量,默认42U */ - capacity?: number; - - /** 机柜X轴位置坐标 */ - position_x?: number; - - /** 机柜Y轴位置坐标 */ - position_y?: number; - - /** 机柜Z轴位置坐标 */ - position_z?: number; - - /** 机柜所在区域 */ - area?: string; - - /** 机柜所在机房 */ - room?: string; - - /** 备注信息 */ - remark?: string; - - /** 是否禁用 (0否 1是) */ - is_disabled?: EnableStatus; - - /** 是否被删除 (0否 1是) */ - is_deleted?: DeleteStatus; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 机柜服务器表 -export interface RackServer { - /** 主键ID */ - id: number; - - /** 关联的机柜ID */ - rack_id: number; - - /** 关联的资产ID */ - asset_id: number; - - /** 设备安装的起始U位 */ - start_position: number; - - /** 设备占用U数 */ - size?: number; - - /** 服务器类型 */ - server_type?: number; - - /** 备注信息 */ - remark?: string; - - /** 是否禁用 (0否 1是) */ - is_disabled?: EnableStatus; - - /** 是否被删除 (0否 1是) */ - is_deleted?: DeleteStatus; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 机柜服务器类型表 -export interface RackServerType { - /** 主键ID */ - id: number; - - /** 类型名称 */ - name: string; - - /** 类型编码 */ - code: string; - - /** 类型图片 */ - image_url?: string; - - /** 类型描述 */ - description?: string; - - /** 是否启用 (0否 1是) */ - is_enabled?: EnableStatus; - - /** 是否被删除 (0否 1是) */ - is_deleted?: DeleteStatus; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 工单表 -export interface WorkOrder { - /** 主键ID */ - id: number; - - /** 工单标题 */ - title: string; - - /** 关联设备ID */ - device_id?: number; - - /** 关联告警ID */ - alert_id?: number; - - /** 工单模板ID */ - template_id?: number; - - /** 工单内容 */ - content?: string; - - /** 工单状态 */ - status: WorkOrderStatus; - - /** 优先级 */ - priority: WorkOrderPriority; - - /** 创建人ID */ - creator_id: number; - - /** 处理人ID */ - handler_id?: number; - - /** 审核人ID */ - auditor_id?: number; - - /** 截止时间 */ - deadline?: Date; - - /** 处理结果 */ - handle_result?: string; - - /** 审核结果 */ - audit_result?: string; - - /** 是否删除 (0否 1是) */ - is_deleted?: number; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 工单处理记录表 -export interface WorkOrderLog { - /** 主键ID */ - id: number; - - /** 工单ID */ - work_order_id: number; - - /** 操作人ID */ - operator_id: number; - - /** 操作类型 */ - action: WorkOrderAction; - - /** 处理内容 */ - content?: string; - - /** 是否删除 (0否 1是) */ - is_deleted?: number; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 工单模板表 -export interface WorkOrderTemplate { - /** 主键ID */ - id: number; - - /** 模板名称 */ - name: string; - - /** 模板内容 */ - content?: string; - - /** 是否需要审核 (0否 1是) */ - need_audit: number; - - /** 默认处理人 */ - default_handler_id?: number; - - /** 默认完成时限(小时) */ - default_deadline_hours?: number; - - /** 常用语列表 */ - common_phrases?: CommonPhrase[]; - - /** SLA配置 */ - sla_config?: SLAConfig; - - /** 流程配置 */ - workflow_config?: WorkflowConfig; - - /** 是否启用 (0否 1是) */ - is_enabled?: number; - - /** 是否删除 (0否 1是) */ - is_deleted?: number; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 资产信息表 -export interface ZichanInfo { - /** 主键ID */ - id: number; - - /** 资产名称 */ - asset_name?: string; - - /** 设备分类 */ - device_category?: DeviceCategory; - - /** 归属区域 */ - area?: AreaType; - - /** 供应商 */ - supplier?: string; - - /** 使用地址 */ - use_address?: string; - - /** 运行情况 */ - operation_status?: string; - - /** 是否审核 (0否 1是) */ - is_audited?: number; - - /** 审核状态 */ - audit_status?: AuditStatus; - - /** 资产状态 */ - asset_status?: AssetStatus; - - /** 入库数量 */ - stock_quantity?: number; - - /** 质保时间 */ - warranty_time?: Date; - - /** 品牌 */ - brand?: string; - - /** IP地址 */ - ip_address?: string; - - /** 设备状态 */ - device_status?: DeviceStatus; - - /** 网络状态 */ - network_status?: NetworkStatus; - - /** 丢包率 */ - packet_loss?: number; - - /** 图片 */ - images?: string; - - /** 是否备件 (0否 1是) */ - is_spare?: number; - - /** 是否被禁用 (0否 1是) */ - is_disabled?: number; - - /** 是否被删除 (0否 1是) */ - is_deleted?: number; - - /** 资产位置经度 */ - longitude?: number; - - /** 资产位置纬度 */ - latitude?: number; - - /** CPU信息 */ - cpu?: string; - - /** 内存信息 */ - memory?: string; - - /** 硬盘信息 */ - disk?: string; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 资产分类表 -export interface ZichanCategory { - /** 主键ID */ - id: number; - - /** 分类名称 */ - name: string; - - /** 分类编码 */ - code: string; - - /** 分类图片 */ - image_url?: string; - - /** 分类描述 */ - description?: string; - - /** 是否启用 (0否 1是) */ - is_enabled?: EnableStatus; - - /** 是否被删除 (0否 1是) */ - is_deleted?: DeleteStatus; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 资产归属区域 -export interface ZichanArea { - /** 主键ID */ - id: number; - - /** 区域名称 */ - name: string; - - /** 区域编码 */ - code: string; - - /** 区域图片 */ - image_url?: string; - - /** 区域描述 */ - description?: string; - - /** 是否启用 (0否 1是) */ - is_enabled?: EnableStatus; - - /** 是否被删除 (0否 1是) */ - is_deleted?: DeleteStatus; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; -} - -// 资产流转记录表 -export interface ZichanTransLog { - /** 主键ID */ - id: number; - - /** 资产流转 */ - asset_transfer?: AssetTransferType; - - /** 资产ID */ - asset_id?: number; - - /** 人员 */ - person?: string; - - /** 部门 */ - department?: string; - - /** 电话 */ - phone?: string; - - /** 流转事由 */ - transfer_reason?: string; - - /** 流转时间 */ - transfer_time?: Date | string; - - /** 是否被禁用 (0否 1是) */ - is_disabled?: number; - - /** 是否被删除 (0否 1是) */ - is_deleted?: number; - - /** 创建时间 */ - created_at: Date; - - /** 更新时间 */ - updated_at: Date; - - /** 关联的资产信息(查询时后端关联返回) */ - asset_info?: ZichanInfo; -} - -// 文件库接口 -export interface FileLibrary { - /** 主键ID */ - id: number; - - /** 文件名称 */ - file_name: string; - - /** 原始文件名 */ - original_filename?: string; - - /** 文件路径 */ - file_path: string; - - /** 文件类型 */ - file_type: string; - - /** 文件大小(字节) */ - file_size: number; - - /** 上传用户ID */ - uploader_id?: number; - - /** 上传者名称 */ - uploader_name?: string; - - /** 文件分类 */ - category_id?: number; - - /** 文件标签 */ - tags?: string; - - /** 文件描述 */ - description?: string; - - /** 下载次数 */ - download_count: number; - - /** 是否禁用 (0否 1是) */ - is_disabled?: EnableStatus; - - /** 是否被删除 (0否 1是) */ - is_deleted?: DeleteStatus; - - /** 创建时间 */ - created_at: string; - - /** 更新时间 */ - updated_at: string; -} - -// 文件分类接口 -export interface FileCategory { - id: number; - name: string; - code: string; - description?: string; - is_deleted?: DeleteStatus; - created_at: string; - updated_at: string; -} - -// 资产流转类型枚举 -export enum AssetTransferType { - STOCK = 0, // 在库 - BORROW = 1, // 借用 - RETURN = 2, // 归还 - LOST = 3, // 遗失 - MAINTAIN = 4 // 维护保养 -} - -// 资产流转类型名称映射 -export const AssetTransferTypeNameMap: Record = { - [AssetTransferType.STOCK]: '在库', - [AssetTransferType.BORROW]: '借用', - [AssetTransferType.RETURN]: '归还', - [AssetTransferType.LOST]: '遗失', - [AssetTransferType.MAINTAIN]: '维护保养' -}; - -// 资产流转类型颜色映射 -export const AssetTransferTypeColorMap: Record = { - [AssetTransferType.STOCK]: 'green', - [AssetTransferType.BORROW]: 'blue', - [AssetTransferType.RETURN]: 'cyan', - [AssetTransferType.LOST]: 'red', - [AssetTransferType.MAINTAIN]: 'orange' -}; - -// 添加图表类型定义(从大屏移植) -export interface CategoryChartData { - 设备分类: string; - 设备数: number; -} - -export interface CategoryChartDataWithPercent extends CategoryChartData { - 百分比: string; -} - -export interface OnlineRateChartData { - time_interval: string; - online_devices: number; - total_devices: number; -} - -export interface StateChartData { - 资产流转: string; - 设备数: number; -} - -export interface StateChartDataWithPercent extends StateChartData { - 百分比: string; -} - -export interface AlarmChartData { - time_interval: string; - total_devices: number; -} - -export interface AlarmDeviceData { - deviceName: string; - alarmCount: number; - rank: number; -} - -// 设备与资产信息结合的接口 -export interface DeviceWithAssetInfo { - id: number; - asset_name?: string; - device_category?: number; - ip_address?: string; - device_status?: DeviceStatus; - network_status?: NetworkStatus; - packet_loss?: PacketLossStatus; - cpu?: string; - memory?: string; - disk?: string; - is_deleted?: number; -} - -// 地图类型 -export enum MapMode { - ONLINE = 'online', - OFFLINE = 'offline' -} - -// 地图标记数据接口 - 基础定义 -export interface MarkerData { - /** 标记点经度 */ - longitude: number; - - /** 标记点纬度 */ - latitude: number; - - /** 标记点ID */ - id?: string | number; - - /** 标记点标题 */ - title?: string; - - /** 标记点描述 */ - description?: string; - - /** 标记点图标URL */ - iconUrl?: string; - - /** 标记点状态 */ - status?: string; - - /** 标记点类型 */ - type?: string; - - /** 标记点额外数据 */ - extraData?: Record; -} - -// 设备地图监控视图设备接口 -export interface MapViewDevice extends MarkerData { - id: number; - name?: string; - type_code: string; - device_category?: DeviceCategory; - device_status?: DeviceStatus; - description?: string; - address?: string; - protocol?: DeviceProtocolType; - last_update_time?: string; - area_code?: string; - area_name?: string; - image_url?: string; -} - -// 设备地图筛选条件 -export interface DeviceMapFilter { - type_code?: string; - device_category?: DeviceCategory[]; - device_status?: DeviceStatus; - area_code?: string[]; - keyword?: string; - device_id?: number; -} - -// 设备地图统计数据接口 -export interface DeviceMapStats { - total: number; - online: number; - offline: number; - error: number; - normal?: number; - fault?: number; - categoryStats?: { - category: DeviceCategory; - count: number; - name: string; - }[]; -} - -// 设备树统计数据类型 -export type DeviceTreeStats = Record; - -// 设备地图响应数据接口 -export interface DeviceMapDataResponse { - data: MapViewDevice[]; - stats: DeviceMapStats; - total?: number; - page?: number; - pageSize?: number; -} - -// 设备地图统计响应接口 -export interface DeviceMapStatsResponse { - data: DeviceMapStats; -} - -// 设备树节点类型枚举 -export enum DeviceTreeNodeType { - CATEGORY = 'category', - DEVICE = 'device' -} - -// 设备树节点状态枚举 -export enum DeviceTreeNodeStatus { - NORMAL = 'normal', - ERROR = 'error', - OFFLINE = 'offline', - WARNING = 'warning' -} - -// 设备树节点接口 -export interface DeviceTreeNode { - key: string; - title: string; - type: DeviceTreeNodeType; - status?: DeviceTreeNodeStatus; - icon?: string | null; - isLeaf?: boolean; - children?: DeviceTreeNode[]; -} - -// 登录位置相关类型定义 -export interface LoginLocation { - id: number; - loginTime: string; - ipAddress: string; - longitude: number; - latitude: number; - location_name?: string; - user: { - id: number; - username: string; - nickname: string; - }; -} - -export interface LoginLocationDetail { - id: number; - user_id: number; - login_time: string; - ip_address: string; - longitude: number; - latitude: number; - location_name: string; - user_agent: string; - user: { - id: number; - username: string; - nickname: string; - }; -} - // 系统设置分组 export enum SystemSettingGroup { BASIC = 'basic', // 基础设置