From 9c4e4e17b5f995f69f96ed072eca98b74e7d6dcd Mon Sep 17 00:00:00 2001 From: zhangyu Date: Tue, 29 Mar 2022 17:59:56 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BC=98=E5=8C=96=20group=20?= =?UTF-8?q?=E6=8A=98=E5=8F=A0=E7=9A=84=E9=97=AE=E9=A2=98=20=E8=A1=A5?= =?UTF-8?q?=E5=85=85=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/chart/chart/legend.vue | 7 ++- .../src/components/chart/chartList.vue | 9 +-- .../src/components/charts/chart-table.vue | 2 +- .../src/components/charts/chartPreview.vue | 2 +- .../src/components/common/js/constants.js | 2 +- .../src/components/common/js/tools.js | 62 ++----------------- .../src/components/common/language/cn.js | 2 +- .../src/components/common/language/en.js | 2 +- nezha-fronted/src/libs/bus.js | 2 +- 9 files changed, 22 insertions(+), 68 deletions(-) diff --git a/nezha-fronted/src/components/chart/chart/legend.vue b/nezha-fronted/src/components/chart/chart/legend.vue index 5f87d3ae6..5bd9f8ac3 100644 --- a/nezha-fronted/src/components/chart/chart/legend.vue +++ b/nezha-fronted/src/components/chart/chart/legend.vue @@ -5,7 +5,10 @@
-
{{statistics}}
+
+ {{$t(statisticsList.find(key=>key.value === statistics).label)}} + -- +
{ this.$refs['chart' + item.id][0] && this.$refs['chart' + item.id][0].$refs.chart && this.$refs['chart' + item.id][0].$refs.chart.$refs['chart' + item.id] && this.$refs['chart' + item.id][0].$refs.chart.$refs['chart' + item.id].$refs.chartList.onScroll(scrollTop, top) - },100) - return + },300) } if (item.loaded) { return diff --git a/nezha-fronted/src/components/charts/chart-table.vue b/nezha-fronted/src/components/charts/chart-table.vue index a7ff38b7f..331ab727b 100644 --- a/nezha-fronted/src/components/charts/chart-table.vue +++ b/nezha-fronted/src/components/charts/chart-table.vue @@ -495,7 +495,7 @@ export default { }) break } - case 'average': { + case 'avg': { result = classifies.map(group => { const groupData = group.map(t => parseFloat(t.data[1])) const sum = eval(groupData.join('+')) diff --git a/nezha-fronted/src/components/charts/chartPreview.vue b/nezha-fronted/src/components/charts/chartPreview.vue index c98efa7d4..ee10650c8 100644 --- a/nezha-fronted/src/components/charts/chartPreview.vue +++ b/nezha-fronted/src/components/charts/chartPreview.vue @@ -1449,7 +1449,7 @@ export default { }) break } - case 'average': { + case 'avg': { result = classifies.map(group => { const groupData = group.map(t => parseFloat(t.data[1])) const sum = eval(groupData.join('+')) diff --git a/nezha-fronted/src/components/common/js/constants.js b/nezha-fronted/src/components/common/js/constants.js index dbf2632ee..2993480b2 100644 --- a/nezha-fronted/src/components/common/js/constants.js +++ b/nezha-fronted/src/components/common/js/constants.js @@ -212,7 +212,7 @@ export const alertMessage = { export const statisticsList = [ { value: 'min', label: i18n.t('dashboard.panel.chartForm.statisticsVal.min') }, { value: 'max', label: i18n.t('dashboard.panel.chartForm.statisticsVal.max') }, - { value: 'average', label: i18n.t('dashboard.panel.chartForm.statisticsVal.average') }, + { value: 'avg', label: i18n.t('dashboard.panel.chartForm.statisticsVal.average') }, { value: 'total', label: i18n.t('dashboard.panel.chartForm.statisticsVal.total') }, { value: 'first', label: i18n.t('dashboard.panel.chartForm.statisticsVal.first') }, { value: 'last', label: i18n.t('dashboard.panel.chartForm.statisticsVal.last') }, diff --git a/nezha-fronted/src/components/common/js/tools.js b/nezha-fronted/src/components/common/js/tools.js index 0a15184cf..25f955a6e 100644 --- a/nezha-fronted/src/components/common/js/tools.js +++ b/nezha-fronted/src/components/common/js/tools.js @@ -13,7 +13,7 @@ export const clickoutside = { let oldValue try { oldValue = JSON.parse(JSON.stringify(binding.value.obj)) - el.__oldValue__ = oldValue + el.__newValue__ = oldValue } catch (e) { } @@ -37,8 +37,8 @@ export const clickoutside = { return false } if (oldValue) { - const newValue = JSON.parse(JSON.stringify(binding.value.obj)) - if (unsavedChange == 'on' && !isEqual(oldValue, newValue)) { + // const newValue = JSON.parse(JSON.stringify(binding.value.obj)) + if (unsavedChange == 'on' && !isEqual(oldValue, el.__newValue__)) { MessageBox.confirm(i18n.t('tip.confirmCancel'), { confirmButtonText: i18n.t('tip.yes'), cancelButtonText: i18n.t('tip.no'), @@ -68,59 +68,7 @@ export const clickoutside = { document.addEventListener('mousedown', documentHandler) }, update (el, binding, vnode) { - if (!binding.expression) return - const oldValue = el.__oldValue__ - const unsavedChange = localStorage.getItem('nz-unnsaved-change') - document.removeEventListener('mousedown', el.__vueClickOutside__) - function documentHandler (e) { - if (el.contains(e.target)) { - return false - } else { - let flag = true - const path = e.path || (e.composedPath && e.composedPath()) - // eslint-disable-next-line no-labels - top: for (let i = 0; i < path.length; i++) { - for (let j = 0; j < exceptClassName.length; j++) { - if (path[i].className && path[i].className.indexOf && path[i].className.indexOf(exceptClassName[j]) !== -1) { - flag = false - // eslint-disable-next-line no-labels - break top - } - } - } - if (!flag) { - return false - } - if (oldValue) { - const newValue = JSON.parse(JSON.stringify(binding.value.obj)) - if (unsavedChange == 'on' && !isEqual(oldValue, newValue)) { - MessageBox.confirm(i18n.t('tip.confirmCancel'), { - confirmButtonText: i18n.t('tip.yes'), - cancelButtonText: i18n.t('tip.no'), - type: 'warning' - }).then(() => { - if (binding.value.func) { - binding.value.func() - } - }) - } else { - binding.value.func() - } - } else { - if (binding.arg) { - binding.value(e, binding.arg) - } else { - if (binding.value) { - binding.value(e) - } - } - } - } - } - - // 给当前元素绑定个私有变量,方便在unbind中可以解除事件监听 - el.__vueClickOutside__ = documentHandler - document.addEventListener('mousedown', documentHandler) + el.__newValue__ = binding.value.obj }, unbind (el, binding) { // 解除事件监听 @@ -922,7 +870,7 @@ export function getMetricTypeValue (queryItem, type) { const max = copy.sort((x, y) => { return parseFloat(y[1]) - parseFloat(x[1]) })[0][1] return max } - case 'average': { + case 'avg': { copy = copy.map(t => parseFloat(t[1])) const sum = eval(copy.join('+')) const avg = sum / copy.length diff --git a/nezha-fronted/src/components/common/language/cn.js b/nezha-fronted/src/components/common/language/cn.js index d9e416f57..4bde619de 100644 --- a/nezha-fronted/src/components/common/language/cn.js +++ b/nezha-fronted/src/components/common/language/cn.js @@ -349,7 +349,7 @@ const cn = { statisticsVal: { min: 'Min', max: 'Max', - average: 'Average', + avg: 'Avg', total: 'Total', first: 'First', last: 'Last', diff --git a/nezha-fronted/src/components/common/language/en.js b/nezha-fronted/src/components/common/language/en.js index 55f9f9965..5838b26bd 100644 --- a/nezha-fronted/src/components/common/language/en.js +++ b/nezha-fronted/src/components/common/language/en.js @@ -365,7 +365,7 @@ const en = { statisticsVal: { min: 'Min', max: 'Max', - average: 'Average', + avg: 'Avg', total: 'Total', first: 'First', last: 'Last', diff --git a/nezha-fronted/src/libs/bus.js b/nezha-fronted/src/libs/bus.js index ebf8af8da..3805dd341 100644 --- a/nezha-fronted/src/libs/bus.js +++ b/nezha-fronted/src/libs/bus.js @@ -192,7 +192,7 @@ export default new Vue({ statisticsRlt = dataArray.reduce(function (a, b) { return b > a ? b : a }) - } else if (statistics === 'average') { // average:平均值 + } else if (statistics === 'avg') { // avg:平均值 let sum = 0 dataArray.forEach((item) => { sum = Number(sum) + Number(item)