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,