From eeeedfae2a4c390ec7a73eb7faa6cec9f8780eeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=9C=E7=AC=99=E6=AD=8C?= <2277317060@qq.com> Date: Mon, 12 May 2025 14:39:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=84=E6=80=81=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/boardGenerate/construction.vue | 8 +++++--- src/views/boardGenerate/index.vue | 15 +++++++++++++++ .../boardGenerate/nodes/data/customDataNode.vue | 13 ++++++++++--- src/views/boardGenerate/nodes/data/dataNode.vue | 14 +++++++++++--- src/views/boardGenerate/tool.js | 8 +++++--- src/views/boardGenerate/view.vue | 10 +++++++++- src/views/tool/draggable/demo.vue | 2 +- src/views/tool/draggable/exportConfig/index.js | 2 +- 8 files changed, 57 insertions(+), 15 deletions(-) diff --git a/src/views/boardGenerate/construction.vue b/src/views/boardGenerate/construction.vue index 1647bdd..feee800 100644 --- a/src/views/boardGenerate/construction.vue +++ b/src/views/boardGenerate/construction.vue @@ -263,8 +263,9 @@ const findTier = () => { params: constructionDataForm.value.method === 'get' ? params : '', data: constructionDataForm.value.method === 'post' ? params : '' }).then(res => { - let data = res.data; - if (data.data) { + let data = (options.isD ? res : res.data); + console.log(data); + if (data?.data) { Object.keys(data.data?.[0]).forEach(key => { constructionDataForm.value.outputData.push({ name: key, @@ -272,7 +273,8 @@ const findTier = () => { tier: `data,map%${key}` }); }); - } else if (data.rows) { + } else if (data?.rows) { + console.log(data?.rows); Object.keys(data.rows?.[0]).forEach(key => { constructionDataForm.value.outputData.push({ name: key, diff --git a/src/views/boardGenerate/index.vue b/src/views/boardGenerate/index.vue index 5a6886e..d70b96b 100644 --- a/src/views/boardGenerate/index.vue +++ b/src/views/boardGenerate/index.vue @@ -310,6 +310,14 @@ + + + @@ -659,3 +667,10 @@ const setPageData = () => { height: 216px } + + diff --git a/src/views/boardGenerate/nodes/data/customDataNode.vue b/src/views/boardGenerate/nodes/data/customDataNode.vue index a74bcbe..5c9eeca 100644 --- a/src/views/boardGenerate/nodes/data/customDataNode.vue +++ b/src/views/boardGenerate/nodes/data/customDataNode.vue @@ -5,7 +5,8 @@
- {{ props.data.customData.name }} @@ -24,6 +25,7 @@ import request from '@/utils/request'; import axios from 'axios'; import { options } from '../../tool.js'; +const isErr = ref(false); const props = defineProps({ isView: { type: Boolean, @@ -90,11 +92,16 @@ const getOutputData = () => { params: props.data.customData.method === 'get' ? params : '', data: props.data.customData.method === 'post' ? params : '' }).then(res => { + isErr.value = false; + let data = (options.isD ? res : res.data); let output = {}; props.data.customData.outputData.forEach(item => { - output[item.name] = parseData(res.data, item.tier); + output[item.name] = parseData(data, item.tier); }); props.data.outputData = output; + }).catch(e => { + isErr.value = true; + console.log(e); }); }; @@ -104,7 +111,7 @@ onMounted(() => { let interval = setInterval(() => { getOutputData(); -}, 1000); +}, props.data.options?.timeout || 5 * 1000); onBeforeUnmount(() => { clearInterval(interval); diff --git a/src/views/boardGenerate/nodes/data/dataNode.vue b/src/views/boardGenerate/nodes/data/dataNode.vue index 75a597f..6a39b35 100644 --- a/src/views/boardGenerate/nodes/data/dataNode.vue +++ b/src/views/boardGenerate/nodes/data/dataNode.vue @@ -5,7 +5,8 @@
- 设备运行数量 @@ -24,6 +25,8 @@ import axios from 'axios'; import request from '@/utils/request'; import { options } from '../../tool.js'; +const isErr = ref(false); + const props = defineProps({ isView: { type: Boolean, @@ -64,10 +67,15 @@ const getOutputData = () => { url: '/test/getDevice', data: props.inputData }).then(res => { + isErr.value = false; + let data = (options.isD ? res : res.data); props.data.outputData = { - time: res.data?.data?.map(e => e.time), - value: res.data?.data?.map(e => e.value) + time: data?.data?.map(e => e.time), + value: data?.data?.map(e => e.value) }; + }).catch(e => { + isErr.value = true; + console.log(e); }); }; diff --git a/src/views/boardGenerate/tool.js b/src/views/boardGenerate/tool.js index 80821dc..9074022 100644 --- a/src/views/boardGenerate/tool.js +++ b/src/views/boardGenerate/tool.js @@ -15,12 +15,14 @@ const getOption = (e) => { return { title: '', yNames: [] }; } else if (e === 'curve' || e === 'multiCurves') { return { title: '', yNames: [] }; - } else if (e === 'pie' ) { + } else if (e === 'pie') { return { title: '', yNames: [] }; } else if (e === 'customBoard') { return { title: '', yNames: [] }; } else if (e === 'data') { - return {}; + return { timeout: 5000 }; + } else if (e === 'customData') { + return { timeout: 5000 }; } else if (e === 'map') { return { dataMap: [] }; } else if (e === 'inputNode') { @@ -36,7 +38,7 @@ const getOption = (e) => { } }; const getNodeSize = (e) => { - if (e === 'line' || e === 'multiLines' || e === 'bar' || e === 'multiBars' || e === 'curve' || e === 'multiCurves' || e === 'customBoard'|| e === 'pie') { + if (e === 'line' || e === 'multiLines' || e === 'bar' || e === 'multiBars' || e === 'curve' || e === 'multiCurves' || e === 'customBoard' || e === 'pie') { return { width: 300, height: 150 }; } else if (e === 'data' || e === 'customData') { return { width: 150, height: 50 }; diff --git a/src/views/boardGenerate/view.vue b/src/views/boardGenerate/view.vue index 1017c9f..c6a9ae1 100644 --- a/src/views/boardGenerate/view.vue +++ b/src/views/boardGenerate/view.vue @@ -1,6 +1,6 @@