diff --git a/nezha-fronted/src/assets/css/common.scss b/nezha-fronted/src/assets/css/common.scss index dd5fea04c..65fb76be4 100644 --- a/nezha-fronted/src/assets/css/common.scss +++ b/nezha-fronted/src/assets/css/common.scss @@ -743,3 +743,6 @@ i.nz-icon-override{ .el-form-item__error { padding-top: 0; } +input::placeholder{ + text-transform:capitalize; +} diff --git a/nezha-fronted/src/components/chart/panelChart.vue b/nezha-fronted/src/components/chart/panelChart.vue index 21f281f47..3cd01bf42 100644 --- a/nezha-fronted/src/components/chart/panelChart.vue +++ b/nezha-fronted/src/components/chart/panelChart.vue @@ -245,6 +245,13 @@ export default { } this.chartInfo.loaded && this.query(elements, startTime, endTime, step, params, isRefresh) }, + getIemStep (element, step) { + let myStep = step + if (element.step) { + myStep = element.step + 's' + } + return myStep + }, query (elements, startTime, endTime, step, params, isRefresh) { // 获取chart的数据 this.isError = false this.allDataLength = 0 @@ -272,10 +279,11 @@ export default { urlPre += '/logs/loki' } let requests = elements.map((element) => { + const myStep = this.getIemStep(element, step) if (this.from === fromRoute.chartTemp || this.from === fromRoute.dashboardTemp) { return chartTempData } - let query = `${urlPre}/api/v1/query_range?start=${startTime}&end=${endTime}&step=${step}` + let query = `${urlPre}/api/v1/query_range?start=${startTime}&end=${endTime}&step=${myStep}` if (isTimeSeries(this.chartInfo.type)) { let nullType = this.chartInfo.param.nullType || 'null' nullType = (nullType === 'connected' ? 'null' : nullType) @@ -299,10 +307,11 @@ export default { }) if (this.multipleTime) { const multipleRequests = elements.map((element) => { + const myStep = this.getIemStep(element, step) if (this.from === fromRoute.chartTemp || this.from === fromRoute.dashboardTemp) { return chartTempData } - let query = `${urlPre}/api/v1/query_range?start=${startTime - this.minusTime / 1000}&end=${endTime - this.minusTime / 1000}&step=${step}` + let query = `${urlPre}/api/v1/query_range?start=${startTime - this.minusTime / 1000}&end=${endTime - this.minusTime / 1000}&step=${myStep}` if (isTimeSeries(this.chartInfo.type)) { let nullType = this.chartInfo.param.nullType || 'null' nullType = (nullType === 'connected' ? 'null' : nullType) @@ -352,7 +361,8 @@ export default { } if (comparisonSt && comparisonEt) { const comparisonRequests = elements.map((element) => { - let query = `${urlPre}/api/v1/query_range?start=${comparisonSt}&end=${comparisonEt}&step=${step}` + const myStep = this.getIemStep(element, step) + let query = `${urlPre}/api/v1/query_range?start=${comparisonSt}&end=${comparisonEt}&step=${myStep}` if (element.filter) { query += `&filter=${element.filter}` } diff --git a/nezha-fronted/src/components/common/project/meta2d/js/meta2dMainCalc.js b/nezha-fronted/src/components/common/project/meta2d/js/meta2dMainCalc.js index d33cd6c77..20ed60a2d 100644 --- a/nezha-fronted/src/components/common/project/meta2d/js/meta2dMainCalc.js +++ b/nezha-fronted/src/components/common/project/meta2d/js/meta2dMainCalc.js @@ -79,7 +79,7 @@ export default { const meta2dOptions = { minScale: this.minScale, // maxScale: 2, - autoAnchor: false, + autoAnchor: false // disableAnchor: true } const meta2d = new window.Meta2d(this.meta2dId, meta2dOptions) @@ -128,8 +128,12 @@ export default { startTime = this.timeRange[0] endTime = this.timeRange[1] } else if (this.filterTime) { - startTime = this.filterTime[0] - endTime = this.filterTime[1] + startTime = this.momentStrToTimestamp(this.filterTime[0]) + endTime = this.momentStrToTimestamp(this.filterTime[1]) + } + if (typeof (startTime) == 'string') { + startTime = this.momentStrToTimestamp(this.filterTime[0]) + endTime = this.momentStrToTimestamp(this.filterTime[1]) } this.getQueryValues(this.querysArray, startTime, endTime).then((arr) => { this.clacTopoData(this.$lodash.cloneDeep(this.topoData), arr).then((data) => { diff --git a/nezha-fronted/src/components/common/rightBox/chart/chartConfig.vue b/nezha-fronted/src/components/common/rightBox/chart/chartConfig.vue index c4f3857c5..45af636cb 100644 --- a/nezha-fronted/src/components/common/rightBox/chart/chartConfig.vue +++ b/nezha-fronted/src/components/common/rightBox/chart/chartConfig.vue @@ -106,6 +106,13 @@ + + {{$t('overall.step')}}  + + + + + @@ -1397,7 +1404,11 @@ export default { } }, mixins: [promqlInputMixin, publicConfig, chartTypeShow], - computed: {}, + computed: { + minStep () { + return this.nzDefaultConfig.minStep + } + }, data () { return { rules: { diff --git a/nezha-fronted/src/components/common/rightBox/chart/chartRightBox.vue b/nezha-fronted/src/components/common/rightBox/chart/chartRightBox.vue index c0d63e4c1..c659a1fe7 100644 --- a/nezha-fronted/src/components/common/rightBox/chart/chartRightBox.vue +++ b/nezha-fronted/src/components/common/rightBox/chart/chartRightBox.vue @@ -381,7 +381,7 @@ export default { height: 4, unit: 2, type: 'line', - elements: [{ expression: '', legend: '', type: 'expert', id: '', name: 'A', state: 1 }], + elements: [{ expression: '', legend: '', type: 'expert', id: '', name: 'A', state: 1 , step: undefined}], param: { stack: 0, nullType: 'null', @@ -427,7 +427,7 @@ export default { height: 4, unit: 2, type: 'log', - elements: [{ expression: '', legend: '', type: 'expert', id: '', name: 'A', state: 1 }], + elements: [{ expression: '', legend: '', type: 'expert', id: '', name: 'A', state: 1 , step: undefined}], param: { enable: { thresholds: false, diff --git a/nezha-fronted/src/components/common/rightBox/chart/publicConfig.js b/nezha-fronted/src/components/common/rightBox/chart/publicConfig.js index 4cd0bb2b4..d9615393b 100644 --- a/nezha-fronted/src/components/common/rightBox/chart/publicConfig.js +++ b/nezha-fronted/src/components/common/rightBox/chart/publicConfig.js @@ -327,7 +327,8 @@ export default { legend: this.expressionsShow[i].legend, name: this.expressionName[i], state: this.expressionsShow[i].state, - orderNum: i + orderNum: i, + step: this.expressionsShow[i].step }) } }) @@ -407,7 +408,8 @@ export default { error: '', legend: '', elementId: '', - state: 1 + state: 1, + step: undefined }) this.expressionChange() } else { @@ -420,7 +422,8 @@ export default { error: '', elementId: item.id, legend: item.legend, - state: item.state + state: item.state, + step: item.step }) } }, diff --git a/nezha-fronted/src/components/page/dashboard/dashboard.vue b/nezha-fronted/src/components/page/dashboard/dashboard.vue index 85b45a170..6bb9bb7c0 100644 --- a/nezha-fronted/src/components/page/dashboard/dashboard.vue +++ b/nezha-fronted/src/components/page/dashboard/dashboard.vue @@ -277,7 +277,7 @@ export default { pointSize: 6 } }, - elements: [{ expression: '', legend: '', type: 'expert', id: '', name: 'A', state: 1, orderNum: 0 }], + elements: [{ expression: '', legend: '', type: 'expert', id: '', name: 'A', state: 1, orderNum: 0 , step: undefined}], panel: '', sync: 0, remark: '', diff --git a/nezha-fronted/src/entrance/app/App.vue b/nezha-fronted/src/entrance/app/App.vue index 0be2ff9fe..483bfa8b7 100644 --- a/nezha-fronted/src/entrance/app/App.vue +++ b/nezha-fronted/src/entrance/app/App.vue @@ -26,6 +26,7 @@ export default { this.$axios.defaults.baseURL = result.body.baseUrl const version = result.body.version const baseUrl = result.body.baseUrl + this.$store.commit('setNzDefaultConfig', result.body) localStorage.setItem('nz-baseURL', baseUrl) const defaultWindowWidth = result.body.width || 1024 if (version !== localStorage.getItem('nz-version')) { diff --git a/nezha-fronted/src/entrance/app/main.js b/nezha-fronted/src/entrance/app/main.js index f741cb939..1cdaa28cf 100644 --- a/nezha-fronted/src/entrance/app/main.js +++ b/nezha-fronted/src/entrance/app/main.js @@ -178,6 +178,9 @@ Vue.mixin({ }, $routePath () { return this.$route.path + }, + nzDefaultConfig () { + return this.$store.getters.getNzDefaultConfig } }, methods: { diff --git a/nezha-fronted/src/entrance/exportHtml/exportHtml.js b/nezha-fronted/src/entrance/exportHtml/exportHtml.js index e665593ff..ae6fe9615 100644 --- a/nezha-fronted/src/entrance/exportHtml/exportHtml.js +++ b/nezha-fronted/src/entrance/exportHtml/exportHtml.js @@ -119,6 +119,9 @@ Vue.mixin({ }, $routePath () { return this.$route.path + }, + nzDefaultConfig () { + return this.$store.getters.getNzDefaultConfig } }, ...mainMixin diff --git a/nezha-fronted/src/store/index.js b/nezha-fronted/src/store/index.js index 4bdb35ce8..040b00670 100644 --- a/nezha-fronted/src/store/index.js +++ b/nezha-fronted/src/store/index.js @@ -58,9 +58,15 @@ const store = new Vuex.Store({ diagnosisTab: {}, // 故障诊断 showDiagnosisTab: false, configSync: {}, // 配置同步 - showConfigSync: false + showConfigSync: false, + nzDefaultConfig: { + minStep: 60 + }, }, getters: { + getNzDefaultConfig (state) { + return state.nzDefaultConfig + }, getGlobalSearchId (state) { return state.globalSearchId }, @@ -135,6 +141,13 @@ const store = new Vuex.Store({ } }, mutations: { + // 设置默认 config + setNzDefaultConfig (state, defaultConfig) { + state.nzDefaultConfig = { + ...state.nzDefaultConfig, + ...defaultConfig + } + }, /* 监听对象变化,用于顶部菜单与底部内容的同步 */ projectListChange (state) { state.projectListChange++