From 053f1f123bf9582e001bfbfbb7d8873b9466c515 Mon Sep 17 00:00:00 2001 From: zhangyu Date: Fri, 4 Dec 2020 17:24:12 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9AvalueMapping=E6=B7=BB=E5=8A=A0tool?= =?UTF-8?q?tip=E7=9A=84=E6=8F=90=E7=A4=BA=20=EF=BC=8C=20=E6=96=87=E6=9C=AC?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E5=8F=AF=E4=BB=A5=E4=BD=BF=E7=94=A8{{value}}?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E4=B8=BA=E5=8E=9F=E5=80=BC=20fix=EF=BC=9A?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=20chart=20Type=E4=B8=BAtable=E6=97=B6=20valu?= =?UTF-8?q?e=E6=9C=AA=E6=B7=BB=E5=8A=A0=E8=83=8C=E6=99=AF=E8=89=B2?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/charts/chart-single-stat.vue | 4 ++-- nezha-fronted/src/components/charts/chart-table.vue | 12 +++++++----- nezha-fronted/src/components/common/language/cn.js | 3 +++ nezha-fronted/src/components/common/language/en.js | 3 +++ .../src/components/page/dashboard/chartBox.vue | 10 ++++++++-- 5 files changed, 23 insertions(+), 9 deletions(-) diff --git a/nezha-fronted/src/components/charts/chart-single-stat.vue b/nezha-fronted/src/components/charts/chart-single-stat.vue index 5679cb2a5..d1c775c61 100644 --- a/nezha-fronted/src/components/charts/chart-single-stat.vue +++ b/nezha-fronted/src/components/charts/chart-single-stat.vue @@ -424,7 +424,7 @@ export default { if(this.mapping&&!this.mapping.color){ this.mapping.color={bac:'#fff',text:'#000'} } - this.serieSingleStat = mapping?mapping.text:chartDataFormat.getUnit(chartItem.unit?chartItem.unit:2).compute(singleStatTmp,null,2); + this.serieSingleStat = mapping?mapping.text.replace('{{value}}', singleStatTmp):chartDataFormat.getUnit(chartItem.unit?chartItem.unit:2).compute(singleStatTmp,null,2); }else{ this.serieSingleStat = chartDataFormat.getUnit(chartItem.unit?chartItem.unit:2).compute(singleStatTmp,null,2); } @@ -460,7 +460,7 @@ export default { if(this.mapping&&!this.mapping.color){ this.mapping.color={bac:'#fff',text:'#000'} } - this.serieSingleStat = mapping?mapping.text:chartDataFormat.getUnit(chartItem.unit?chartItem.unit:2).compute(singleStatTmp,null,2); + this.serieSingleStat = mapping?mapping.text.replace('{{value}}', singleStatTmp):chartDataFormat.getUnit(chartItem.unit?chartItem.unit:2).compute(singleStatTmp,null,2); }else{ this.serieSingleStat = chartDataFormat.getUnit(chartItem.unit?chartItem.unit:2).compute(singleStatTmp,null,2); } diff --git a/nezha-fronted/src/components/charts/chart-table.vue b/nezha-fronted/src/components/charts/chart-table.vue index a429d635e..edb8e4ca4 100644 --- a/nezha-fronted/src/components/charts/chart-table.vue +++ b/nezha-fronted/src/components/charts/chart-table.vue @@ -52,7 +52,7 @@
+ @sort-change="tableDataSort" > @@ -97,7 +97,7 @@ @@ -210,7 +210,8 @@ }], searchTime: [new Date().setHours(new Date().getHours() - 1), new Date()],//全屏显示的时间 oldSearchTime: [], - ps: null + ps: null, + mapping:{}, }; }, created() { @@ -395,7 +396,8 @@ }else{ mapping=mappings.find(t=>{return t.from <= value&& t.to >= value}); } - item.value = mapping?mapping.text:chartDataFormat.getUnit(chartItem.unit?chartItem.unit:2).compute(value,null,2); + this.mapping=mapping; + item.value = mapping?mapping.text.replace('{{value}}', item.value):chartDataFormat.getUnit(chartItem.unit?chartItem.unit:2).compute(value,null,2); } return item; })); diff --git a/nezha-fronted/src/components/common/language/cn.js b/nezha-fronted/src/components/common/language/cn.js index 858171ecb..7a6e3752d 100644 --- a/nezha-fronted/src/components/common/language/cn.js +++ b/nezha-fronted/src/components/common/language/cn.js @@ -182,6 +182,9 @@ const cn = { unit: "单位", legend: "图例", legendTip: "使用名称或表达式控制时间序列的名称。例如{{hostname}将替换为标签主机名的标签值。", + valueMappingTip: '使用{{value}}可以显示原值\n'+ + '例如:total alive: {{value}}\n'+ + '结果为:total alive: 100', option: "操作", alertParam:{ param:'参数', diff --git a/nezha-fronted/src/components/common/language/en.js b/nezha-fronted/src/components/common/language/en.js index 4b685d9ee..92cdac40a 100644 --- a/nezha-fronted/src/components/common/language/en.js +++ b/nezha-fronted/src/components/common/language/en.js @@ -145,6 +145,9 @@ const en = { legend:'Legend', statistics:'Statistics', legendTip:'Controls the name of the time series, using name or pattern. For example {{hostname}} will be replaced with label value for the label hostname.', + valueMappingTip: 'Use {{value}} to display the original value\n'+ + 'For example: Total Alive: {{value}}\n'+ + 'The result is: Total Alive: 100', sync: 'Sync to assets', last:'Last', threshold:'Threshold', diff --git a/nezha-fronted/src/components/page/dashboard/chartBox.vue b/nezha-fronted/src/components/page/dashboard/chartBox.vue index 66e8c20e2..5144f11a0 100644 --- a/nezha-fronted/src/components/page/dashboard/chartBox.vue +++ b/nezha-fronted/src/components/page/dashboard/chartBox.vue @@ -329,7 +329,13 @@
- {{$t('dashboard.panel.chartForm.valMapping.name')}} + + {{$t('dashboard.panel.chartForm.valMapping.name')}} + +
{{$t('dashboard.panel.chartForm.valueMappingTip')}}
+ +
+
@@ -1628,7 +1634,7 @@ deep: true, immediate: true, handler(n) { - //console.log(n); + console.log(n,(n.param&&n.param.valueMapping)&&(n.type === 'singleStat' || n.type === 'table')); if((n.param&&n.param.valueMapping)&&(n.type === 'singleStat' || n.type === 'table')){ n.param.valueMapping.mapping.forEach(item=>{ this.showPicker.push({bac:false,text:false})