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++