From c89e0adaf3f38d73328445d5a8d1537fcb2334f8 Mon Sep 17 00:00:00 2001 From: "liu.shiyi" Date: Mon, 16 Oct 2023 14:38:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E5=8F=B0=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data-room-ui/packages/BasicComponents/Numbers/index.vue | 9 ++++++--- data-room-ui/packages/BasicComponents/Texts/index.vue | 7 +++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/data-room-ui/packages/BasicComponents/Numbers/index.vue b/data-room-ui/packages/BasicComponents/Numbers/index.vue index 7c28dd4a..a1cf5bd7 100644 --- a/data-room-ui/packages/BasicComponents/Numbers/index.vue +++ b/data-room-ui/packages/BasicComponents/Numbers/index.vue @@ -40,13 +40,16 @@ export default { // 通过表达式计算得来的值 getDataByExpression (config) { // 如果表达式是由其他组件的值构成的 - if (this.config.expressionCodes && this.config.expressionCodes.length) { - // eslint-disable-next-line no-new-func + const len = this.config.expressionCodes ? this.config.expressionCodes.length : 0 + const len1 = this.currentComputedDatas ? Object.keys(this.currentComputedDatas).length : 0 + const len2 = this.currentDataset ? Object.keys(this.currentDataset).length : 0 + if (len && len === len1 + len2) { + // eslint-disable-next-line no-new-func const result = new Function('dataset', 'computedDatas', this.config.expression) config.customize.title = result(this.dataset, this.computedDatas) // 同时将计算得来的值保存到公共的数据存储的地方 this.updateComputedDatas({ code: config.code, name: config.name, data: config.customize.title }) - // this.changeChartConfig(config) + // this.changeChartConfig(config) } }, dataFormatting (config, data) { diff --git a/data-room-ui/packages/BasicComponents/Texts/index.vue b/data-room-ui/packages/BasicComponents/Texts/index.vue index 7c28dd4a..4f24012d 100644 --- a/data-room-ui/packages/BasicComponents/Texts/index.vue +++ b/data-room-ui/packages/BasicComponents/Texts/index.vue @@ -40,7 +40,10 @@ export default { // 通过表达式计算得来的值 getDataByExpression (config) { // 如果表达式是由其他组件的值构成的 - if (this.config.expressionCodes && this.config.expressionCodes.length) { + const len = this.config.expressionCodes ? this.config.expressionCodes.length : 0 + const len1 = this.currentComputedDatas ? Object.keys(this.currentComputedDatas).length : 0 + const len2 = this.currentDataset ? Object.keys(this.currentDataset).length : 0 + if (len && len === len1 + len2) { // eslint-disable-next-line no-new-func const result = new Function('dataset', 'computedDatas', this.config.expression) config.customize.title = result(this.dataset, this.computedDatas) @@ -53,7 +56,7 @@ export default { // 文本数据配置原则:选择数据集则以后端返回的数据为主,否则以设置面板中标题设置为准 if (config.dataSource.businessKey) { config.customize.title = data && data.data && data.data.length ? data.data[0][config.dataSource.metricField] : '暂无数据' - config.option.data = data && data.data && data.data.length ? data.data :[] + config.option.data = data && data.data && data.data.length ? data.data : [] } return config }