diff --git a/src/api/faultManage/actAlarm.ts b/src/api/faultManage/actAlarm.ts index 4d8f2dcc..5c2413a1 100644 --- a/src/api/faultManage/actAlarm.ts +++ b/src/api/faultManage/actAlarm.ts @@ -373,3 +373,137 @@ export async function top3Sel(filterFlag?: string) { } return result; } + + +export async function alarmDashGetAct() { + let totalSQL = `select count(*) as total from alarm where alarm_status='1' `; + let rowsSQL = `select ne_type,alarm_id,alarm_title,orig_severity,event_time from alarm WHERE alarm_status='1' and orig_severity!='Event' order by event_time desc limit 0,10 `; + // 查询 + + + // 发起请求 + const result = await request({ + url: `/api/rest/databaseManagement/v1/select/omc_db/alarm`, + method: 'get', + params: { + SQL: totalSQL, + rowsSQL: rowsSQL, + }, + }); + + // 解析数据 + if (result.code === RESULT_CODE_SUCCESS) { + const data: DataList = { + total: 0, + rows: [], + code: result.code, + msg: result.msg, + }; + result.data.data.forEach((item: any) => { + const itemData = item['alarm']; + if (Array.isArray(itemData)) { + if (itemData.length === 1 && itemData[0]['total'] >= 0) { + data.total = itemData[0]['total']; + } else { + data.rows = itemData.map(v => parseObjLineToHump(v)); + } + } + }); + return data; + } + return result; +} + +export async function alarmDashGetHis() { + let totalSQL = `select count(*) as total from alarm where alarm_status='0' `; + let rowsSQL = `select ne_type,alarm_id,alarm_title,orig_severity,event_time from alarm WHERE alarm_status='0' and orig_severity!='Event' order by event_time desc limit 0,10 `; + // 查询 + + + // 发起请求 + const result = await request({ + url: `/api/rest/databaseManagement/v1/select/omc_db/alarm`, + method: 'get', + params: { + SQL: totalSQL, + rowsSQL: rowsSQL, + }, + }); + + // 解析数据 + if (result.code === RESULT_CODE_SUCCESS) { + const data: DataList = { + total: 0, + rows: [], + code: result.code, + msg: result.msg, + }; + result.data.data.forEach((item: any) => { + const itemData = item['alarm']; + if (Array.isArray(itemData)) { + if (itemData.length === 1 && itemData[0]['total'] >= 0) { + data.total = itemData[0]['total']; + } else { + data.rows = itemData.map(v => parseObjLineToHump(v)); + } + } + }); + return data; + } + return result; +} +export async function getAlarmTrend(params: any) { + const days = Number(params.days || 1); + let groupFormat = days === 1 ? '%H:00' : '%Y-%m-%d'; + let timeCondition = days === 1 + ? `event_time >= DATE_SUB(NOW(), INTERVAL 1 DAY)` + : `event_time >= DATE_SUB(CURDATE(), INTERVAL ${days} DAY)`; + let totalSQL = `select count(*) as total from alarm where alarm_status='0' `; + + let rowsSQL = ` SELECT + DATE_FORMAT(event_time, '${groupFormat}') AS time, + SUM(CASE WHEN orig_severity='Critical' THEN 1 ELSE 0 END) AS Critical, + SUM(CASE WHEN orig_severity='Major' THEN 1 ELSE 0 END) AS Major, + SUM(CASE WHEN orig_severity='Minor' THEN 1 ELSE 0 END) AS Minor, + SUM(CASE WHEN orig_severity='Warning' THEN 1 ELSE 0 END) AS Warning + FROM alarm + WHERE alarm_status='0' + AND ${timeCondition} + GROUP BY time + ORDER BY time ASC `; + // 查询 + + + // 发起请求 + const result = await request({ + url: `/api/rest/databaseManagement/v1/select/omc_db/alarm`, + method: 'get', + params: { + SQL: totalSQL, + rowsSQL: rowsSQL, + }, + }); + + // 解析数据 + if (result.code === RESULT_CODE_SUCCESS) { + const data: DataList = { + total: 0, + rows: [], + code: result.code, + msg: result.msg, + }; + result.data.data.forEach((item: any) => { + const itemData = item['alarm']; + if (Array.isArray(itemData)) { + if (itemData.length === 1 && itemData[0]['total'] >= 0) { + data.total = itemData[0]['total']; + } else { + data.rows = itemData.map(v => parseObjLineToHump(v)); + } + } + }); + return data; + } + return result; +} + diff --git a/src/views/faultManage/alarm-overview/images/bg.png b/src/views/faultManage/alarm-overview/images/bg.png new file mode 100644 index 00000000..2c52f488 Binary files /dev/null and b/src/views/faultManage/alarm-overview/images/bg.png differ diff --git a/src/views/faultManage/alarm-overview/index.vue b/src/views/faultManage/alarm-overview/index.vue new file mode 100644 index 00000000..c56e901d --- /dev/null +++ b/src/views/faultManage/alarm-overview/index.vue @@ -0,0 +1,1250 @@ + + + + + +