From 82905f438b32ff993b6481af2476ddb3be1a08eb Mon Sep 17 00:00:00 2001 From: lucashu <6125220@qq.com> Date: Wed, 20 Aug 2025 12:44:02 +0800 Subject: [PATCH] 123 --- .../MyComponents/DeviceStatus/config.ts | 24 +++++ .../MyComponents/DeviceStatus/config.vue | 28 ++++++ .../MyComponents/DeviceStatus/data.json | 8 ++ .../Charts/MyComponents/DeviceStatus/index.ts | 14 +++ .../MyComponents/DeviceStatus/index.vue | 95 +++++++++++++++++++ .../components/Charts/MyComponents/index.ts | 6 +- 6 files changed, 173 insertions(+), 2 deletions(-) create mode 100644 src/packages/components/Charts/MyComponents/DeviceStatus/config.ts create mode 100644 src/packages/components/Charts/MyComponents/DeviceStatus/config.vue create mode 100644 src/packages/components/Charts/MyComponents/DeviceStatus/data.json create mode 100644 src/packages/components/Charts/MyComponents/DeviceStatus/index.ts create mode 100644 src/packages/components/Charts/MyComponents/DeviceStatus/index.vue diff --git a/src/packages/components/Charts/MyComponents/DeviceStatus/config.ts b/src/packages/components/Charts/MyComponents/DeviceStatus/config.ts new file mode 100644 index 0000000..38562ce --- /dev/null +++ b/src/packages/components/Charts/MyComponents/DeviceStatus/config.ts @@ -0,0 +1,24 @@ +import { PublicConfigClass } from '@/packages/public' +import { CreateComponentType } from '@/packages/index.d' +import { DeviceStatusConfig } from './index' +import dataJson from './data.json' + +export const option = { + dataset: dataJson.source, + title: '智慧园区', + titleColor: '#ffffff', + titleSize: 22, + labelColor: '#B0E0E6', + labelSize: 16, + valueColor: '#00E5FF', + valueSize: 32, + unitColor: '#B0E0E6', + unitSize: 14, + borderColor: '#4A90E2' +} + +export default class Config extends PublicConfigClass implements CreateComponentType { + public key = DeviceStatusConfig.key + public chartConfig = DeviceStatusConfig + public option = option +} diff --git a/src/packages/components/Charts/MyComponents/DeviceStatus/config.vue b/src/packages/components/Charts/MyComponents/DeviceStatus/config.vue new file mode 100644 index 0000000..f4479f1 --- /dev/null +++ b/src/packages/components/Charts/MyComponents/DeviceStatus/config.vue @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/packages/components/Charts/MyComponents/DeviceStatus/data.json b/src/packages/components/Charts/MyComponents/DeviceStatus/data.json new file mode 100644 index 0000000..c920014 --- /dev/null +++ b/src/packages/components/Charts/MyComponents/DeviceStatus/data.json @@ -0,0 +1,8 @@ +{ + "source": [ + { "label": "设备总数", "value": 108, "unit": "个", "icon": "database" }, + { "label": "在线设备", "value": 100, "unit": "个", "icon": "wifi" }, + { "label": "离线设备", "value": 8, "unit": "个", "icon": "exclamation-circle" }, + { "label": "故障设备", "value": 2, "unit": "个", "icon": "tool" } + ] +} diff --git a/src/packages/components/Charts/MyComponents/DeviceStatus/index.ts b/src/packages/components/Charts/MyComponents/DeviceStatus/index.ts new file mode 100644 index 0000000..bcf9ed1 --- /dev/null +++ b/src/packages/components/Charts/MyComponents/DeviceStatus/index.ts @@ -0,0 +1,14 @@ +import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d' + +export const DeviceStatusConfig: ConfigType = { + key: 'DeviceStatus', + chartKey: 'VDeviceStatus', + conKey: 'VCDeviceStatus', + title: '设备状态', + category: 'MyComponents', + categoryName: '自定义组件', + package: PackagesCategoryEnum.CHARTS, + chartFrame: ChartFrameEnum.COMMON, + image: 'device_status.png' +} +export default DeviceStatusConfig diff --git a/src/packages/components/Charts/MyComponents/DeviceStatus/index.vue b/src/packages/components/Charts/MyComponents/DeviceStatus/index.vue new file mode 100644 index 0000000..d572e74 --- /dev/null +++ b/src/packages/components/Charts/MyComponents/DeviceStatus/index.vue @@ -0,0 +1,95 @@ + + + {{ option.title }} + + + + + + + {{ item.label }} + + {{ item.value }} + {{ item.unit }} + + + + + + + + + + diff --git a/src/packages/components/Charts/MyComponents/index.ts b/src/packages/components/Charts/MyComponents/index.ts index 6c40e96..345b55b 100644 --- a/src/packages/components/Charts/MyComponents/index.ts +++ b/src/packages/components/Charts/MyComponents/index.ts @@ -7,7 +7,8 @@ import { TopAlarmsConfig } from './TopAlarms/index' import { AlarmTrendConfig } from './AlarmTrend' import { DetailedSceneConfig } from './DetailedScene/index' import { ParkingSceneConfig } from './ParkingScene/index' -import { WorkshopSceneConfig } from './WorkshopScene' +import { WorkshopSceneConfig } from './WorkshopScene/index' +import { DeviceStatusConfig } from './DeviceStatus' export default [ Componet1, @@ -19,5 +20,6 @@ export default [ AlarmTrendConfig, DetailedSceneConfig, ParkingSceneConfig, - WorkshopSceneConfig + WorkshopSceneConfig, + DeviceStatusConfig ]