From 820eca7bbe64c7c2636a40631280b0a87d5ea8a0 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 19 Oct 2023 16:10:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8F=B3=E4=B8=8A=E8=A7=92=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E5=91=8A=E8=AD=A6=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/faultManage/actAlarm.ts | 31 ++++++++++++++++- src/layouts/BasicLayout.vue | 5 ++- src/layouts/components/RightContent.vue | 46 +++++-------------------- src/store/modules/alarm.ts | 28 +++++++++++++++ 4 files changed, 70 insertions(+), 40 deletions(-) create mode 100644 src/store/modules/alarm.ts diff --git a/src/api/faultManage/actAlarm.ts b/src/api/faultManage/actAlarm.ts index d0329395..b72f4db8 100644 --- a/src/api/faultManage/actAlarm.ts +++ b/src/api/faultManage/actAlarm.ts @@ -4,6 +4,35 @@ import { parseObjLineToHump } from '@/utils/parse-utils'; import { parseDateToStr } from '@/utils/date-utils'; import useUserStore from '@/store/modules/user'; +/** + * 获取活动告警数 + * @returns object + */ +export async function getActiveAlarmTotal() { + let totalSQL = `select count(*) as total from alarm where alarm_status='1'`; + + // 发起请求 + const result = await request({ + url: `/api/rest/databaseManagement/v1/select/omc_db/alarm`, + method: 'get', + params: { + SQL: totalSQL, + }, + }); + + // 解析数据 + if (result.code === RESULT_CODE_SUCCESS) { + const itemData = result.data.data; + if (Array.isArray(itemData)) { + const v = itemData[0]['alarm']; + if (Array.isArray(v)) { + result.data = v[0]['total']; + } + } + } + return result; +} + /** * 查询列表 * @param query 查询参数 @@ -14,7 +43,7 @@ export async function listAct(query: Record, filterSQl: string) { let rowsSQL = `select * from alarm where alarm_status='1' ${filterSQl}`; // 查询 let querySQL = ''; - + debugger; if (query.alarmCode) { querySQL += ` and alarm_code = '${query.alarmCode}' `; } diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue index da5abdd9..c5d9f7f9 100644 --- a/src/layouts/BasicLayout.vue +++ b/src/layouts/BasicLayout.vue @@ -8,10 +8,11 @@ import { import RightContent from './components/RightContent.vue'; import Tabs from './components/Tabs.vue'; import { scriptUrl } from '@/assets/js/icon_font_8d5l8fzk5b87iudi'; -import { computed, reactive, ref, watch } from 'vue'; +import { computed, reactive, watch } from 'vue'; import useLayoutStore from '@/store/modules/layout'; import useRouterStore from '@/store/modules/router'; import useTabsStore from '@/store/modules/tabs'; +import useAlarmStore from '@/store/modules/alarm'; import { useRouter } from 'vue-router'; import { MENU_PATH_INLINE } from '@/constants/menu-constants'; const { proConfig, waterMarkContent } = useLayoutStore(); @@ -120,6 +121,7 @@ tabsStore.clear(); // onMounted(() => { fnGetServerTime(); + useAlarmStore().fnGetActiveAlarmInfo() }); // ==== 服务器时间显示 start @@ -164,6 +166,7 @@ document.addEventListener('visibilitychange', function () { if (document.visibilityState == 'visible') { //切换到该页面时执行 fnGetServerTime(); + useAlarmStore().fnGetActiveAlarmInfo() } }); // ==== 服务器时间显示 end diff --git a/src/layouts/components/RightContent.vue b/src/layouts/components/RightContent.vue index 8cc47fe9..7c671ca4 100644 --- a/src/layouts/components/RightContent.vue +++ b/src/layouts/components/RightContent.vue @@ -4,6 +4,7 @@ import { useRouter } from 'vue-router'; import { toggle, isFullscreen } from '@/utils/fullscreen-utils'; import useI18n from '@/hooks/useI18n'; import useUserStore from '@/store/modules/user'; +import useAlarmStore from '@/store/modules/alarm'; const { t, changeLocale } = useI18n(); const userStore = useUserStore(); const router = useRouter(); @@ -31,45 +32,14 @@ function fnChangeLocale(e: any) {