From 41b3249f2868580477f100614d3846a0be04a008 Mon Sep 17 00:00:00 2001 From: "liu.shiyi" Date: Mon, 6 Nov 2023 14:17:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E6=9D=A1=E5=BD=A2?= =?UTF-8?q?=E5=9B=BE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BasicComponents/Numbers/index.vue | 1 - data-room-ui/packages/PlotRender/index.vue | 22 ++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/data-room-ui/packages/BasicComponents/Numbers/index.vue b/data-room-ui/packages/BasicComponents/Numbers/index.vue index 6c6d1b50..454e9c73 100644 --- a/data-room-ui/packages/BasicComponents/Numbers/index.vue +++ b/data-room-ui/packages/BasicComponents/Numbers/index.vue @@ -39,7 +39,6 @@ export default { methods: { // 通过表达式计算得来的值 getDataByExpression (config) { - console.log('getDataByExpression', this.dataset) const result = new Function('dataset', 'computedDatas', this.config.expression) config.customize.title = result(this.dataset, this.computedDatas) // 同时将计算得来的值保存到公共的数据存储的地方 diff --git a/data-room-ui/packages/PlotRender/index.vue b/data-room-ui/packages/PlotRender/index.vue index be6cd8ed..dc798981 100644 --- a/data-room-ui/packages/PlotRender/index.vue +++ b/data-room-ui/packages/PlotRender/index.vue @@ -186,7 +186,7 @@ export default { console.error(e) } } - if(config.chartType=='Treemap'){ + if (config.chartType == 'Treemap') { const xAxis = config.setting.find(item => item.field === 'xField')?.value const listData = data.children.map(item => { if (xAxis && typeof item[xAxis] === 'number') { @@ -194,14 +194,26 @@ export default { } return item }) - config.option.data={name:'root',children:[...listData]} + config.option.data = { name: 'root', children: [...listData] } // console.log(config.option.data) - }else{ - // 如果维度为数字类型则转化为字符串,否则在不增加其他配置的情况下会导致图标最后一项不显示(g2plot官网已说明) + } else { + // 如果维度为数字类型则转化为字符串,否则在不增加其他配置的情况下会导致图标最后一项不显示(g2plot官网已说明) const xAxis = config.setting.find(item => item.field === 'xField')?.value + const yAxis = config.setting.find(item => item.field === 'yField')?.value config.option.data = data?.map(item => { - if (xAxis && typeof item[xAxis] === 'number') { + // 此处函数处理data + if (config.dataHandler) { + try { + // 此处函数处理data + eval(config.dataHandler) + } catch (e) { + console.error(e) + } + } + if (config.chartType !== 'Bar' && xAxis && typeof item[xAxis] === 'number') { item[xAxis] = (item[xAxis]).toString() + } else if (config.chartType === 'Bar' && yAxis && typeof item[yAxis] === 'number') { + item[yAxis] = (item[yAxis]).toString() } return item })