From c35d9e265ec4c51306cb9e88a1b064500082a273 Mon Sep 17 00:00:00 2001 From: betaqi <3188864257@qq.com> Date: Mon, 26 May 2025 20:11:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=85=BC=E5=AE=B9=E4=BA=91=E7=AB=AF?= =?UTF-8?q?=E7=9A=84=E4=B8=80=E4=BA=9B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- global.types/components.d.ts | 1 + .../stationData/components/deviceDrawer.vue | 23 +++++++++++++++---- .../stationData/components/newDataChart.vue | 3 +-- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/global.types/components.d.ts b/global.types/components.d.ts index b6c94ef..4328060 100644 --- a/global.types/components.d.ts +++ b/global.types/components.d.ts @@ -24,6 +24,7 @@ declare module 'vue' { ElDialog: typeof import('element-plus/es')['ElDialog'] ElDivider: typeof import('element-plus/es')['ElDivider'] ElDrawer: typeof import('element-plus/es')['ElDrawer'] + ElEmpty: typeof import('element-plus/es')['ElEmpty'] ElHeader: typeof import('element-plus/es')['ElHeader'] ElInput: typeof import('element-plus/es')['ElInput'] ElMenu: typeof import('element-plus/es')['ElMenu'] diff --git a/src/views/stationData/components/deviceDrawer.vue b/src/views/stationData/components/deviceDrawer.vue index 64f01a3..29971c0 100644 --- a/src/views/stationData/components/deviceDrawer.vue +++ b/src/views/stationData/components/deviceDrawer.vue @@ -11,7 +11,7 @@
查询数据 -
@@ -120,6 +120,9 @@ async function loadDeviceDetails() { if (!fullscreenLoading.value) { openFullScreen() } + chartDatas.clear() + axisData.clear() + legends.value = [] const poinsRes = await loadPoints() if (!poinsRes || poinsRes.code !== 0) { message.error('获取点位数据失败') @@ -136,6 +139,9 @@ async function loadDeviceDetails() { const chartDatas = reactive(new Map()) const axisData = new Set() const legends = ref<{ addr: string; label: string }[]>([]) + +const loading = ref(false) + async function loadChardData(){ if(!columsParams.value.filter(i => i !== 'ts').length){ message.error('请选择点位') @@ -153,18 +159,23 @@ async function loadChardData(){ params.site_id = props.siteInfo!.name || '' params.device_id = curDevice.value?.sn || '' } + + loading.value = true const res = await getDeviceDetails(params) if (res.code === 0) { pointData.value = Array.isArray(res.data.results) ? res.data.results : [] chartDatas.clear() axisData.clear() + for (const addr of columsParams.value.filter(i => i !== 'ts')) { + const label = pointList.value.find(i => i.addr === addr)?.label || addr + const find = legends.value.find(i => i.addr === addr) + if (!find) { + legends.value.push({ addr, label }) + } + } pointData.value.forEach((data: any[]) => { const [ts, val, addr] = data - legends.value.push({ - addr: addr, - label: checkPointList.value.find(i => i.addr === addr)!.label, - }) if (checkPointList.value.some(i => i.addr === addr)) { const time = dayjs(Number(ts)).format('YYYY-MM-DD HH:mm:ss') if (addr) { @@ -184,6 +195,8 @@ async function loadChardData(){ } else { message.error('获取设备数据失败') } + console.log(chartDatas, axisData, legends) + loading.value = false } function zmqImport(device: IOfflineDevice) { diff --git a/src/views/stationData/components/newDataChart.vue b/src/views/stationData/components/newDataChart.vue index 3ce64e1..7dc4321 100644 --- a/src/views/stationData/components/newDataChart.vue +++ b/src/views/stationData/components/newDataChart.vue @@ -1,6 +1,6 @@ @@ -90,7 +90,6 @@ const chartOption = computed(() => { tmpSeries.push(lineData) } - const option: EChartsOption = { grid: { left: 60,