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)