From b85bd443e5eda243b07b41a4e2490397720dac7f Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Tue, 22 Jun 2021 12:40:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Editor/ComponentWrapper.vue | 6 ++++++ .../canvas/components/Editor/Preview.vue | 17 +++++++++++++---- .../canvas/custom-component/UserView.vue | 11 +++++++++++ 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/canvas/components/Editor/ComponentWrapper.vue b/frontend/src/components/canvas/components/Editor/ComponentWrapper.vue index 285c7ed2d8..83ce904b80 100644 --- a/frontend/src/components/canvas/components/Editor/ComponentWrapper.vue +++ b/frontend/src/components/canvas/components/Editor/ComponentWrapper.vue @@ -20,6 +20,7 @@ :style="getComponentStyleDefault(config.style)" :prop-value="config.propValue" :element="config" + :search-count="searchCount" /> @@ -42,6 +43,11 @@ export default { type: Object, require: false, default: null + }, + searchCount: { + type: Number, + required: false, + default: 0 } }, computed: { diff --git a/frontend/src/components/canvas/components/Editor/Preview.vue b/frontend/src/components/canvas/components/Editor/Preview.vue index 7234cf5eab..8377a46b6a 100644 --- a/frontend/src/components/canvas/components/Editor/Preview.vue +++ b/frontend/src/components/canvas/components/Editor/Preview.vue @@ -7,6 +7,7 @@ v-for="(item, index) in componentDataInfo" :key="index" :config="item" + :search-count="searchCount" /> @@ -57,7 +58,8 @@ export default { timer: null, componentDataShow: [], mainWidth: '100%', - mainHeight: '100%' + mainHeight: '100%', + searchCount: -1 } }, computed: { @@ -108,10 +110,17 @@ export default { _this.restore() }) }) + // 数据刷新计时器 + let refreshTime = 60000 + if (this.canvasStyleData.refreshTime && this.canvasStyleData.refreshTime > 0) { + refreshTime = this.canvasStyleData.refreshTime * 1000 + } + this.timer = setInterval(() => { + this.searchCount++ + }, refreshTime) }, - created() { - // 先清除查询条件 - // this.$store.dispatch('conditions/clear') + beforeDestroy() { + clearInterval(this.timer) }, methods: { changeStyleWithScale, diff --git a/frontend/src/components/canvas/custom-component/UserView.vue b/frontend/src/components/canvas/custom-component/UserView.vue index 092a9669c9..b4bc2cc4bb 100644 --- a/frontend/src/components/canvas/custom-component/UserView.vue +++ b/frontend/src/components/canvas/custom-component/UserView.vue @@ -54,6 +54,11 @@ export default { default: function() { return {} } + }, + searchCount: { + type: Number, + required: false, + default: 0 } }, data() { @@ -123,6 +128,12 @@ export default { } }, deep: true + }, + // 监听外部计时器变化 + searchCount: function(val1) { + if (val1 > 0) { + this.getData(this.element.propValue.viewId) + } } },