Procházet zdrojové kódy

[26110201] 事件查询优化: 字典初始化改真实值并配置告警等级颜色; 告警类别6项(通信/数据/气象预报/功率预测/数据上报/系统运行异常), 告警等级4项(一级紧急-红/二级重要-橙/三级一般-黄gold/四级提示-蓝)颜色存sys_dict_data.css_class, 字典数据先删后插保证幂等; 事件查询页告警等级列按字典css_class渲染彩色tag(getDictClass, 缺省default)

taosj před 1 dnem
rodič
revize
3990a9e543

+ 4 - 2
forecast-backend-vue/src/views/ufo/electricity/statanalysis/eventQuery.vue

@@ -61,7 +61,9 @@
       >
         <template #bodyCell="{ column, record }">
           <template v-if="column.dataIndex === 'alarmLevel'">
-            {{ getDictLabel(record.alarmLevel, alarmLevel.value) }}
+            <a-tag :color="getDictClass(record.alarmLevel, alarmLevel.value) || 'default'">
+              {{ getDictLabel(record.alarmLevel, alarmLevel.value) }}
+            </a-tag>
           </template>
           <template v-else-if="column.dataIndex === 'alarmCategory'">
             {{ getDictLabel(record.alarmCategory, alarmCategory.value) }}
@@ -83,7 +85,7 @@ import {message, Modal} from 'ant-design-vue';
 import dayjs from 'dayjs';
 import {saveAs} from 'file-saver';
 import {blobValidate} from '@/utils/bearjia';
-import {useDict, getDictLabel} from '@/composables/useDict';
+import {useDict, getDictLabel, getDictClass} from '@/composables/useDict';
 import {listEventRecord, processEventRecord, exportEventRecord} from '@/api/alarm/eventRecord';
 
 const {alarm_category, alarm_level} = useDict('alarm_category', 'alarm_level');

+ 18 - 34
release_note/20261028/20261028_alarm_event_query.sql

@@ -1,8 +1,8 @@
 -- =====================================================
 -- [26110201] 事件查询优化(幂等,可重复执行)
 -- 1. alarm_event_record 增加告警类别字段 alarm_category(数据后续由外部补充)
--- 2. 字典配置:告警类别(alarm_category)、告警等级(alarm_level)
---    注意: 字典项暂为占位值,后续替换为真实 code/name
+-- 2. 字典配置:告警类别(alarm_category)、告警等级(alarm_level, 颜色值配置在 css_class)
+--    告警等级颜色: 一级红/二级橙/三级黄(gold)/四级蓝
 -- 3. 统计分析 下增加 事件查询 菜单
 -- =====================================================
 
@@ -24,43 +24,27 @@ nextval(pg_get_serial_sequence('sys_dict_type', 'dict_id')),
 '告警等级', 'alarm_level', '0', 'admin', now(), '事件查询-告警等级'
 WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type t WHERE t.dict_type = 'alarm_level');
 
--- 2.3 告警类别字典数据(占位,待替换为真实值)
-INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark)
-SELECT
-nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
-1, '占位-类别一', '1', 'alarm_category', '', '', 'N', '0', 'admin', now(), '占位, 待替换为真实告警类别'
-WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'alarm_category' AND t.dict_value = '1');
-
-INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark)
-SELECT
-nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
-2, '占位-类别二', '2', 'alarm_category', '', '', 'N', '0', 'admin', now(), '占位, 待替换为真实告警类别'
-WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'alarm_category' AND t.dict_value = '2');
-
-INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark)
-SELECT
-nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
-3, '占位-类别三', '3', 'alarm_category', '', '', 'N', '0', 'admin', now(), '占位, 待替换为真实告警类别'
-WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'alarm_category' AND t.dict_value = '3');
+-- 2.3 告警类别字典数据(先删后插,保证幂等)
+DELETE FROM sys_dict_data WHERE dict_type = 'alarm_category';
 
--- 2.4 告警等级字典数据(占位,待替换为真实值)
 INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark)
-SELECT
-nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
-1, '占位-等级一', '1', 'alarm_level', '', '', 'N', '0', 'admin', now(), '占位, 待替换为真实告警等级'
-WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'alarm_level' AND t.dict_value = '1');
+VALUES
+(nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 1, '通信异常', '1', 'alarm_category', '', '', 'N', '0', 'admin', now(), '事件查询-告警类别'),
+(nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 2, '数据异常', '2', 'alarm_category', '', '', 'N', '0', 'admin', now(), '事件查询-告警类别'),
+(nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 3, '气象预报异常', '3', 'alarm_category', '', '', 'N', '0', 'admin', now(), '事件查询-告警类别'),
+(nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 4, '功率预测异常', '4', 'alarm_category', '', '', 'N', '0', 'admin', now(), '事件查询-告警类别'),
+(nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 5, '数据上报异常', '5', 'alarm_category', '', '', 'N', '0', 'admin', now(), '事件查询-告警类别'),
+(nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 6, '系统运行异常', '6', 'alarm_category', '', '', 'N', '0', 'admin', now(), '事件查询-告警类别');
 
-INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark)
-SELECT
-nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
-2, '占位-等级二', '2', 'alarm_level', '', '', 'N', '0', 'admin', now(), '占位, 待替换为真实告警等级'
-WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'alarm_level' AND t.dict_value = '2');
+-- 2.4 告警等级字典数据(颜色值配置在 css_class,页面按等级值渲染颜色;先删后插,保证幂等)
+DELETE FROM sys_dict_data WHERE dict_type = 'alarm_level';
 
 INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark)
-SELECT
-nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
-3, '占位-等级三', '3', 'alarm_level', '', '', 'N', '0', 'admin', now(), '占位, 待替换为真实告警等级'
-WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'alarm_level' AND t.dict_value = '3');
+VALUES
+(nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 1, '一级:紧急告警', '1', 'alarm_level', 'red', '', 'N', '0', 'admin', now(), '事件查询-告警等级'),
+(nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 2, '二级:重要告警', '2', 'alarm_level', 'orange', '', 'N', '0', 'admin', now(), '事件查询-告警等级'),
+(nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 3, '三级:一般告警', '3', 'alarm_level', 'gold', '', 'N', '0', 'admin', now(), '事件查询-告警等级'),
+(nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 4, '四级:提示信息', '4', 'alarm_level', 'blue', '', 'N', '0', 'admin', now(), '事件查询-告警等级');
 
 -- 3. 增加 事件查询 二级菜单(挂在 统计分析 下)
 INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)