From b167c8a82cbc0cfadaf35fe9f1516dd43f522778 Mon Sep 17 00:00:00 2001
From: my-foal <1084050926@qq.com>
Date: Mon, 19 Aug 2024 21:38:03 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=B8=A9=E5=BA=A6?=
=?UTF-8?q?=E4=B8=80=E5=BC=A0=E5=9B=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env | 4 +-
.../commonDataComponents/useAlarmTrendRes.ts | 39 +
.../useCompanyTempTopRes.ts | 32 +
src/hooks/useChartCommonData.hook.ts | 10 +-
.../Charts/Lines/LineGradientSingle/data.json | 2 +-
.../RealTimeAlarmStatistics/config.ts | 3 +
.../RealTimeAlarmStatistics/configData.vue | 12 +
.../RealTimeAlarmStatistics/index.vue | 2 +-
.../AlarmLevelStatistic/config.ts | 38 +
.../AlarmLevelStatistic/config.vue | 67 ++
.../AlarmLevelStatistic/configData.vue | 29 +
.../AlarmLevelStatistic/index.ts | 16 +
.../AlarmLevelStatistic/index.vue | 670 ++++++++++++++++++
.../CustomComponents/index.ts | 2 +
src/packages/public/publicConfig.ts | 9 +
.../chartEditStore/chartEditStore.d.ts | 22 +
.../ChartDataV2/components/AlarmTrend.vue | 39 +
.../ChartDataV2/components/CompanyTempTop.vue | 32 +
.../components/ChartDataV2/index.d.ts | 10 +
.../components/ChartDataV2/index.vue | 4 +
20 files changed, 1037 insertions(+), 5 deletions(-)
create mode 100644 src/hooks/commonDataComponents/useAlarmTrendRes.ts
create mode 100644 src/hooks/commonDataComponents/useCompanyTempTopRes.ts
create mode 100644 src/packages/components/CustomComponents/CustomComponents/AlarmLevelStatistic/config.ts
create mode 100644 src/packages/components/CustomComponents/CustomComponents/AlarmLevelStatistic/config.vue
create mode 100644 src/packages/components/CustomComponents/CustomComponents/AlarmLevelStatistic/configData.vue
create mode 100644 src/packages/components/CustomComponents/CustomComponents/AlarmLevelStatistic/index.ts
create mode 100644 src/packages/components/CustomComponents/CustomComponents/AlarmLevelStatistic/index.vue
create mode 100644 src/views/chart/ContentConfigurations/components/ChartDataV2/components/AlarmTrend.vue
create mode 100644 src/views/chart/ContentConfigurations/components/ChartDataV2/components/CompanyTempTop.vue
diff --git a/.env b/.env
index cad75cf2..13143dd4 100644
--- a/.env
+++ b/.env
@@ -3,9 +3,9 @@ VITE_DEV_PORT = '8080'
# development path
# VITE_DEV_PATH = 'http://192.168.0.34:11887'
-VITE_DEV_PATH = 'http://192.168.0.34:8102/'
+VITE_DEV_PATH = 'http://192.168.0.34:8025/'
# VITE_DEV_PATH = 'http://192.168.0.120:3001'
-VITE_DEV_TOKEN = '09c7cb6a-ab85-4c92-ad0f-5a25d72d71f7'
+VITE_DEV_TOKEN = "1f58b5b5-4eae-415b-bce9-d206adb1477b"
# production path
VITE_PRO_PATH = 'http://192.168.0.235:8177'
diff --git a/src/hooks/commonDataComponents/useAlarmTrendRes.ts b/src/hooks/commonDataComponents/useAlarmTrendRes.ts
new file mode 100644
index 00000000..959b2c94
--- /dev/null
+++ b/src/hooks/commonDataComponents/useAlarmTrendRes.ts
@@ -0,0 +1,39 @@
+import { publicInterface } from "@/api/path";
+import { CreateComponentType } from '@/packages/index.d'
+import { ResultErrcode } from "@/enums/httpEnum";
+import { AlarmTrendType } from '@/store/modules/chartEditStore/chartEditStore.d'
+import dataJson from "./data.json";
+
+export const handleAlarmTrend =async (targetComponent: CreateComponentType) => {
+ console.log(targetComponent.commonData,'targetComponent.commonData');
+
+ const obj = targetComponent.commonData[targetComponent.commonData.currentSource] as AlarmTrendType
+ let { enable, signal_ids,alarmConfirmStatus,alarmRecoveryStatus,level} = obj
+ if(!enable) return {
+ errcode: ResultErrcode.SUCCESS,
+ data: { ...dataJson },
+ errmsg: ''
+ }
+ const queryParams = {
+ signal_ids,
+ alarmConfirmStatus:alarmConfirmStatus.length ? alarmConfirmStatus.split(',') : [],
+ alarmRecoveryStatus:alarmRecoveryStatus.length ? alarmRecoveryStatus.split(',') : [],
+ level:level.length ? alarmRecoveryStatus.split(',') : []
+ }
+
+ const res = await publicInterface('/dcim/dems/devie_history_alarm', 'trend_chart', queryParams)
+ if (res && res.data) {
+ console.log(res,'res_handleAlarmTrend');
+ // res.data = {
+ // // dimensions: res?.data.brand_count.map((item: {})=>Object.keys(item).join('')),
+ // dimensions: ['名称','温度值'],
+ // source:res?.data.map((item: any)=>{
+ // return {
+ // '名称':`${item.node_name}-${item.dems_device_point.node_name}`,
+ // '温度值':item.dems_device_point.node_value,
+ // }
+ // })
+ // }
+ return res
+ }
+}
diff --git a/src/hooks/commonDataComponents/useCompanyTempTopRes.ts b/src/hooks/commonDataComponents/useCompanyTempTopRes.ts
new file mode 100644
index 00000000..eafd26f2
--- /dev/null
+++ b/src/hooks/commonDataComponents/useCompanyTempTopRes.ts
@@ -0,0 +1,32 @@
+import { publicInterface } from "@/api/path";
+import { CreateComponentType } from '@/packages/index.d'
+import { ResultErrcode } from "@/enums/httpEnum";
+import { CompanyTempTopType } from '@/store/modules/chartEditStore/chartEditStore.d'
+import dataJson from "./data.json";
+
+export const handleCompanyTempTop =async (targetComponent: CreateComponentType) => {
+ console.log(targetComponent.commonData,'targetComponent.commonData');
+
+ const obj = targetComponent.commonData[targetComponent.commonData.currentSource] as CompanyTempTopType
+ let { enable, space_complete_id, signal_ids} = obj
+ if(!enable) return {
+ errcode: ResultErrcode.SUCCESS,
+ data: { ...dataJson },
+ errmsg: ''
+ }
+ const res = await publicInterface('/dcim/dems/device_point', 'temp_list_dashboard', {signal_ids:[signal_ids],space_complete_id})
+ if (res && res.data) {
+ console.log(res,'res_handleCompanyTempTop');
+ res.data = {
+ // dimensions: res?.data.brand_count.map((item: {})=>Object.keys(item).join('')),
+ dimensions: ['名称','温度值'],
+ source:res?.data.map((item: any)=>{
+ return {
+ '名称':`${item.node_name}-${item.dems_device_point.node_name}`,
+ '温度值':item.dems_device_point.node_value,
+ }
+ })
+ }
+ return res
+ }
+}
diff --git a/src/hooks/useChartCommonData.hook.ts b/src/hooks/useChartCommonData.hook.ts
index fddd60ba..c1236ce2 100644
--- a/src/hooks/useChartCommonData.hook.ts
+++ b/src/hooks/useChartCommonData.hook.ts
@@ -14,6 +14,8 @@ import { handleSinglePoint } from './commonDataComponents/useSinglePointRes'
import { handleMonthAlarmClass } from './commonDataComponents/useMonthAlarmClassRes'
import { handleDeviceClass } from './commonDataComponents/useDeviceClassRes'
import { handleAssetsClass } from './commonDataComponents/useAssetsClassRes'
+import { handleCompanyTempTop } from './commonDataComponents/useCompanyTempTopRes'
+import { handleAlarmTrend } from './commonDataComponents/useAlarmTrendRes'
import { handleAreaDevCountClass } from './commonDataComponents/useAreaDevCountRes'
import { handlePointTable } from "./commonDataComponents/usePointTableRes";
import { handleCategoryBrandCountTable } from "./commonDataComponents/useCategoryBrandCountTableRes";
@@ -138,6 +140,12 @@ export const useChartCommonData = (
case CurrentSourceEnum.ASSETSCLASS:
res = await handleAssetsClass(targetComponent)
break;
+ case CurrentSourceEnum.COMPANYTEMPTOP:
+ res = await handleCompanyTempTop(targetComponent)
+ break;
+ case CurrentSourceEnum.ALARMTREND:
+ res = await handleAlarmTrend(targetComponent)
+ break;
case CurrentSourceEnum.AREADEVCOUNT:
res = await handleAreaDevCountClass(targetComponent)
break;
@@ -177,7 +185,7 @@ export const useChartCommonData = (
else throw Error()
}
else if(Object.prototype.toString.call(data) === '[object Object]'){
- console.log(data,'data');
+ console.log(data,'data_isMultiple');
if(data.dimensions && data.source) {
if(typeof targetComponent.commonData.dataLength === 'number') {
diff --git a/src/packages/components/Charts/Lines/LineGradientSingle/data.json b/src/packages/components/Charts/Lines/LineGradientSingle/data.json
index b0dbe05f..97cff2f5 100644
--- a/src/packages/components/Charts/Lines/LineGradientSingle/data.json
+++ b/src/packages/components/Charts/Lines/LineGradientSingle/data.json
@@ -2,7 +2,7 @@
"dimensions": ["product", "data1"],
"source": [
{
- "product": "Mon",
+ "product": "Mon1",
"data1": 120
},
{
diff --git a/src/packages/components/CustomComponents/AlarmDiagram/RealTimeAlarmStatistics/config.ts b/src/packages/components/CustomComponents/AlarmDiagram/RealTimeAlarmStatistics/config.ts
index ad550d2b..537c98e5 100644
--- a/src/packages/components/CustomComponents/AlarmDiagram/RealTimeAlarmStatistics/config.ts
+++ b/src/packages/components/CustomComponents/AlarmDiagram/RealTimeAlarmStatistics/config.ts
@@ -28,5 +28,8 @@ export default class Config extends PublicConfigClass implements CreateComponent
title: '实时告警统计',
showInterval: true,
space_complete_id: '',
+ confirm_statuss:[],
+ signal_ids:'',
+
})
}
diff --git a/src/packages/components/CustomComponents/AlarmDiagram/RealTimeAlarmStatistics/configData.vue b/src/packages/components/CustomComponents/AlarmDiagram/RealTimeAlarmStatistics/configData.vue
index ddf37372..059f9b2e 100644
--- a/src/packages/components/CustomComponents/AlarmDiagram/RealTimeAlarmStatistics/configData.vue
+++ b/src/packages/components/CustomComponents/AlarmDiagram/RealTimeAlarmStatistics/configData.vue
@@ -5,12 +5,24 @@
+
+
+
+
+
+
+
+
diff --git a/src/packages/components/CustomComponents/CustomComponents/AlarmLevelStatistic/index.ts b/src/packages/components/CustomComponents/CustomComponents/AlarmLevelStatistic/index.ts
new file mode 100644
index 00000000..0ac685ac
--- /dev/null
+++ b/src/packages/components/CustomComponents/CustomComponents/AlarmLevelStatistic/index.ts
@@ -0,0 +1,16 @@
+import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
+import { ChatCategoryEnum, ChatCategoryEnumName } from '@/packages/components/CustomComponents/index.d'
+
+export const AlarmLevelStatistic: ConfigType = {
+ key: 'AlarmLevelStatistic',
+ chartKey: 'VAlarmLevelStatistic',
+ conKey: 'VCAlarmLevelStatistic',
+ // VCD开头
+ conDataKey: 'VCDAlarmLevelStatistic',
+ title: '告警数统计',
+ category: ChatCategoryEnum.CUSTOMCOMPONENTS,
+ categoryName: ChatCategoryEnumName.CUSTOMCOMPONENTS,
+ package: PackagesCategoryEnum.CUSTOMCOMPONENTS,
+ chartFrame: ChartFrameEnum.COMMON,
+ image: 'AlarmLevelStatistic.png'
+}
diff --git a/src/packages/components/CustomComponents/CustomComponents/AlarmLevelStatistic/index.vue b/src/packages/components/CustomComponents/CustomComponents/AlarmLevelStatistic/index.vue
new file mode 100644
index 00000000..5fbf20fd
--- /dev/null
+++ b/src/packages/components/CustomComponents/CustomComponents/AlarmLevelStatistic/index.vue
@@ -0,0 +1,670 @@
+
+
+
+ 今日
+ 本月
+ 年度
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/packages/components/CustomComponents/CustomComponents/index.ts b/src/packages/components/CustomComponents/CustomComponents/index.ts
index c0e3cedb..504b3b28 100644
--- a/src/packages/components/CustomComponents/CustomComponents/index.ts
+++ b/src/packages/components/CustomComponents/CustomComponents/index.ts
@@ -19,6 +19,7 @@ import { TemperatureTop10Config } from './TemperatureTop10'
import { PositionConfig } from './Position'
import { JumpBtnConfig } from './JumpBtn'
import { ClassifiedStatistic } from './ClassifiedStatistic'
+import { AlarmLevelStatistic } from './AlarmLevelStatistic'
import { RoomTemperature } from './RoomTemperature'
import { Overview } from './Overview'
@@ -44,6 +45,7 @@ export default [
PositionConfig,
JumpBtnConfig,
ClassifiedStatistic,
+ AlarmLevelStatistic,
RoomTemperature,
Overview
]
diff --git a/src/packages/public/publicConfig.ts b/src/packages/public/publicConfig.ts
index 2bc810a8..96e6e11f 100644
--- a/src/packages/public/publicConfig.ts
+++ b/src/packages/public/publicConfig.ts
@@ -92,6 +92,15 @@ const commonData: commonDataType = {
enable: false,
dataSource: ''
},
+ companyTempTop: {
+ enable: false,
+ signal_ids:'131240020010',
+ space_complete_id: '.7.9.70.'
+ },
+ alarmTrend: {
+ enable: false,
+ signal_ids:'131240020010',
+ },
pointTable: {
enable: false,
ids: []
diff --git a/src/store/modules/chartEditStore/chartEditStore.d.ts b/src/store/modules/chartEditStore/chartEditStore.d.ts
index 8fbda575..f8727b5f 100644
--- a/src/store/modules/chartEditStore/chartEditStore.d.ts
+++ b/src/store/modules/chartEditStore/chartEditStore.d.ts
@@ -266,6 +266,10 @@ export enum CurrentSourceEnum {
DEVICECLASS = 'deviceClass',
// 设备分类统计
ASSETSCLASS = 'assetsClass',
+ // 局房温度Top10
+ COMPANYTEMPTOP = 'companyTempTop',
+ // 局房温度Top10
+ ALARMTREND = 'alarmTrend',
// 区域设备个数
AREADEVCOUNT = 'areaDevCount',
// 当月告警分类统计
@@ -357,6 +361,22 @@ export interface AssetsClassType {
enable: boolean
dataSource: string
}
+// 局房温度Top10
+export interface CompanyTempTopType {
+ enable: boolean
+ space_complete_id: string,
+ signal_ids:string
+
+}
+// 告警趋势
+export interface AlarmTrendType {
+ enable: boolean
+ signal_ids:string
+ alarmConfirmStatus:string
+ alarmRecoveryStatus:string
+ level:string
+
+}
export interface AreaDevCountType {
enable: boolean
dataSource: string
@@ -405,6 +425,8 @@ export interface commonDataType {
// 设备分类统计
deviceClass: DeviceClassType
assetsClass: AssetsClassType
+ companyTempTop: CompanyTempTopType
+ alarmTrend: AlarmTrendType
areaDevCount: AreaDevCountType
// 单数据
singlePoint: SinglePointType
diff --git a/src/views/chart/ContentConfigurations/components/ChartDataV2/components/AlarmTrend.vue b/src/views/chart/ContentConfigurations/components/ChartDataV2/components/AlarmTrend.vue
new file mode 100644
index 00000000..ed218a78
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartDataV2/components/AlarmTrend.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/chart/ContentConfigurations/components/ChartDataV2/components/CompanyTempTop.vue b/src/views/chart/ContentConfigurations/components/ChartDataV2/components/CompanyTempTop.vue
new file mode 100644
index 00000000..bbb8521f
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartDataV2/components/CompanyTempTop.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/chart/ContentConfigurations/components/ChartDataV2/index.d.ts b/src/views/chart/ContentConfigurations/components/ChartDataV2/index.d.ts
index f3fe023d..2e5b1249 100644
--- a/src/views/chart/ContentConfigurations/components/ChartDataV2/index.d.ts
+++ b/src/views/chart/ContentConfigurations/components/ChartDataV2/index.d.ts
@@ -155,6 +155,16 @@ export const sourceOptions: sourceOptionsItemType[] = [
value: CurrentSourceEnum.ASSETSCLASS,
type: optionTypeEnum.MULTIPLE,
},
+ {
+ label: '局房温度Top10',
+ value: CurrentSourceEnum.COMPANYTEMPTOP,
+ type: optionTypeEnum.MULTIPLE,
+ },
+ {
+ label: '告警趋势',
+ value: CurrentSourceEnum.ALARMTREND,
+ type: optionTypeEnum.MULTIPLE,
+ },
{
label: '区域设备个数',
value: CurrentSourceEnum.AREADEVCOUNT,
diff --git a/src/views/chart/ContentConfigurations/components/ChartDataV2/index.vue b/src/views/chart/ContentConfigurations/components/ChartDataV2/index.vue
index 61034a61..3a2eb00a 100644
--- a/src/views/chart/ContentConfigurations/components/ChartDataV2/index.vue
+++ b/src/views/chart/ContentConfigurations/components/ChartDataV2/index.vue
@@ -11,6 +11,8 @@
+
+
@@ -73,6 +75,8 @@ import PointRealTime from './components/PointRealTime.vue'
import SinglePoint from './components/SinglePoint.vue'
import MonthAlarmClass from './components/MonthAlarmClass.vue'
import AssetsClass from './components/AssetsClass.vue'
+import CompanyTempTop from './components/CompanyTempTop.vue'
+import AlarmTrend from './components/AlarmTrend.vue'
import DeviceClass from './components/DeviceClass.vue'
import PointTable from './components/PointTable.vue'
import CategoryBrandCountTable from './components/CategoryBrandCountTable.vue'