Merge branch 'dev-3.8' of https://git.mesalab.cn/nezha/nezha-fronted into dev-3.9

This commit is contained in:
zhangyu
2023-09-11 14:24:37 +08:00
11 changed files with 65 additions and 14 deletions

View File

@@ -743,3 +743,6 @@ i.nz-icon-override{
.el-form-item__error { .el-form-item__error {
padding-top: 0; padding-top: 0;
} }
input::placeholder{
text-transform:capitalize;
}

View File

@@ -245,6 +245,13 @@ export default {
} }
this.chartInfo.loaded && this.query(elements, startTime, endTime, step, params, isRefresh) 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的数据 query (elements, startTime, endTime, step, params, isRefresh) { // 获取chart的数据
this.isError = false this.isError = false
this.allDataLength = 0 this.allDataLength = 0
@@ -272,10 +279,11 @@ export default {
urlPre += '/logs/loki' urlPre += '/logs/loki'
} }
let requests = elements.map((element) => { let requests = elements.map((element) => {
const myStep = this.getIemStep(element, step)
if (this.from === fromRoute.chartTemp || this.from === fromRoute.dashboardTemp) { if (this.from === fromRoute.chartTemp || this.from === fromRoute.dashboardTemp) {
return chartTempData 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)) { if (isTimeSeries(this.chartInfo.type)) {
let nullType = this.chartInfo.param.nullType || 'null' let nullType = this.chartInfo.param.nullType || 'null'
nullType = (nullType === 'connected' ? 'null' : nullType) nullType = (nullType === 'connected' ? 'null' : nullType)
@@ -299,10 +307,11 @@ export default {
}) })
if (this.multipleTime) { if (this.multipleTime) {
const multipleRequests = elements.map((element) => { const multipleRequests = elements.map((element) => {
const myStep = this.getIemStep(element, step)
if (this.from === fromRoute.chartTemp || this.from === fromRoute.dashboardTemp) { if (this.from === fromRoute.chartTemp || this.from === fromRoute.dashboardTemp) {
return chartTempData 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)) { if (isTimeSeries(this.chartInfo.type)) {
let nullType = this.chartInfo.param.nullType || 'null' let nullType = this.chartInfo.param.nullType || 'null'
nullType = (nullType === 'connected' ? 'null' : nullType) nullType = (nullType === 'connected' ? 'null' : nullType)
@@ -352,7 +361,8 @@ export default {
} }
if (comparisonSt && comparisonEt) { if (comparisonSt && comparisonEt) {
const comparisonRequests = elements.map((element) => { 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) { if (element.filter) {
query += `&filter=${element.filter}` query += `&filter=${element.filter}`
} }

View File

@@ -79,7 +79,7 @@ export default {
const meta2dOptions = { const meta2dOptions = {
minScale: this.minScale, minScale: this.minScale,
// maxScale: 2, // maxScale: 2,
autoAnchor: false, autoAnchor: false
// disableAnchor: true // disableAnchor: true
} }
const meta2d = new window.Meta2d(this.meta2dId, meta2dOptions) const meta2d = new window.Meta2d(this.meta2dId, meta2dOptions)
@@ -128,8 +128,12 @@ export default {
startTime = this.timeRange[0] startTime = this.timeRange[0]
endTime = this.timeRange[1] endTime = this.timeRange[1]
} else if (this.filterTime) { } else if (this.filterTime) {
startTime = this.filterTime[0] startTime = this.momentStrToTimestamp(this.filterTime[0])
endTime = this.filterTime[1] 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.getQueryValues(this.querysArray, startTime, endTime).then((arr) => {
this.clacTopoData(this.$lodash.cloneDeep(this.topoData), arr).then((data) => { this.clacTopoData(this.$lodash.cloneDeep(this.topoData), arr).then((data) => {

View File

@@ -106,6 +106,13 @@
<el-col style="flex: 1"> <el-col style="flex: 1">
<el-input maxlength="512" show-word-limit size="small" type="text" v-model="expressionsShow[index-1].legend" @change="expressionChange"></el-input> <el-input maxlength="512" show-word-limit size="small" type="text" v-model="expressionsShow[index-1].legend" @change="expressionChange"></el-input>
</el-col> </el-col>
<el-col class="legend-title" style="margin-left: 10px">
<span class="legend-title__span">{{$t('overall.step')}}&nbsp;</span>
</el-col>
<el-col style="flex: 1">
<el-input-number @change="expressionChange" v-model="expressionsShow[index-1].step" size="small" :min="minStep" :precision="0" :controls="false" class="append_unit" :placeholder="$t('overall.auto')" :data-unit="$t('overall.seconds')">
</el-input-number>
</el-col>
</el-row> </el-row>
</el-row> </el-row>
</transition> </transition>
@@ -1397,7 +1404,11 @@ export default {
} }
}, },
mixins: [promqlInputMixin, publicConfig, chartTypeShow], mixins: [promqlInputMixin, publicConfig, chartTypeShow],
computed: {}, computed: {
minStep () {
return this.nzDefaultConfig.minStep
}
},
data () { data () {
return { return {
rules: { rules: {

View File

@@ -381,7 +381,7 @@ export default {
height: 4, height: 4,
unit: 2, unit: 2,
type: 'line', 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: { param: {
stack: 0, stack: 0,
nullType: 'null', nullType: 'null',
@@ -427,7 +427,7 @@ export default {
height: 4, height: 4,
unit: 2, unit: 2,
type: 'log', 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: { param: {
enable: { enable: {
thresholds: false, thresholds: false,

View File

@@ -327,7 +327,8 @@ export default {
legend: this.expressionsShow[i].legend, legend: this.expressionsShow[i].legend,
name: this.expressionName[i], name: this.expressionName[i],
state: this.expressionsShow[i].state, state: this.expressionsShow[i].state,
orderNum: i orderNum: i,
step: this.expressionsShow[i].step
}) })
} }
}) })
@@ -407,7 +408,8 @@ export default {
error: '', error: '',
legend: '', legend: '',
elementId: '', elementId: '',
state: 1 state: 1,
step: undefined
}) })
this.expressionChange() this.expressionChange()
} else { } else {
@@ -420,7 +422,8 @@ export default {
error: '', error: '',
elementId: item.id, elementId: item.id,
legend: item.legend, legend: item.legend,
state: item.state state: item.state,
step: item.step
}) })
} }
}, },

View File

@@ -277,7 +277,7 @@ export default {
pointSize: 6 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: '', panel: '',
sync: 0, sync: 0,
remark: '', remark: '',

View File

@@ -26,6 +26,7 @@ export default {
this.$axios.defaults.baseURL = result.body.baseUrl this.$axios.defaults.baseURL = result.body.baseUrl
const version = result.body.version const version = result.body.version
const baseUrl = result.body.baseUrl const baseUrl = result.body.baseUrl
this.$store.commit('setNzDefaultConfig', result.body)
localStorage.setItem('nz-baseURL', baseUrl) localStorage.setItem('nz-baseURL', baseUrl)
const defaultWindowWidth = result.body.width || 1024 const defaultWindowWidth = result.body.width || 1024
if (version !== localStorage.getItem('nz-version')) { if (version !== localStorage.getItem('nz-version')) {

View File

@@ -178,6 +178,9 @@ Vue.mixin({
}, },
$routePath () { $routePath () {
return this.$route.path return this.$route.path
},
nzDefaultConfig () {
return this.$store.getters.getNzDefaultConfig
} }
}, },
methods: { methods: {

View File

@@ -119,6 +119,9 @@ Vue.mixin({
}, },
$routePath () { $routePath () {
return this.$route.path return this.$route.path
},
nzDefaultConfig () {
return this.$store.getters.getNzDefaultConfig
} }
}, },
...mainMixin ...mainMixin

View File

@@ -58,9 +58,15 @@ const store = new Vuex.Store({
diagnosisTab: {}, // 故障诊断 diagnosisTab: {}, // 故障诊断
showDiagnosisTab: false, showDiagnosisTab: false,
configSync: {}, // 配置同步 configSync: {}, // 配置同步
showConfigSync: false showConfigSync: false,
nzDefaultConfig: {
minStep: 60
},
}, },
getters: { getters: {
getNzDefaultConfig (state) {
return state.nzDefaultConfig
},
getGlobalSearchId (state) { getGlobalSearchId (state) {
return state.globalSearchId return state.globalSearchId
}, },
@@ -135,6 +141,13 @@ const store = new Vuex.Store({
} }
}, },
mutations: { mutations: {
// 设置默认 config
setNzDefaultConfig (state, defaultConfig) {
state.nzDefaultConfig = {
...state.nzDefaultConfig,
...defaultConfig
}
},
/* 监听对象变化,用于顶部菜单与底部内容的同步 */ /* 监听对象变化,用于顶部菜单与底部内容的同步 */
projectListChange (state) { projectListChange (state) {
state.projectListChange++ state.projectListChange++