diff --git a/nezha-fronted/src/components/chart/chart/chartStat.vue b/nezha-fronted/src/components/chart/chart/chartStat.vue index fb70d5de9..d7f96bb37 100644 --- a/nezha-fronted/src/components/chart/chart/chartStat.vue +++ b/nezha-fronted/src/components/chart/chart/chartStat.vue @@ -55,6 +55,7 @@ export default { }) }, initStatData (chartInfo, originalDatas) { + this.statData = [] return new Promise(resolve => { let colorIndex = 0 originalDatas.forEach((originalData, expressionIndex) => { diff --git a/nezha-fronted/src/components/common/mixin/routerPathParams.js b/nezha-fronted/src/components/common/mixin/routerPathParams.js index 309202a88..90ad054eb 100644 --- a/nezha-fronted/src/components/common/mixin/routerPathParams.js +++ b/nezha-fronted/src/components/common/mixin/routerPathParams.js @@ -6,16 +6,37 @@ export default { const q = this.$route.query lodash.forIn(searchKeys, (val, key) => { let qv = lodash.get(q, key) + console.log(qv, q, key, val) if (qv && val.type == 'number') { qv = lodash.toNumber(qv) } + setTimeout(() => { + this.setSearchInput(val, qv) + }, 200) qv && this.$set(val.target, val.propertyName, qv) }) }, // 更新path,包含请求参数 updatePath (param, path) { - console.log(param) + // console.log(param) this.$router.replace({ path: path, query: param }).catch(err => {}) + }, + setSearchInput (val, qv) { + let dataList = '' + if (this.detailType !== 'view') { + dataList = 'dataList' + } else { + dataList = 'detailList' + } + if (val.isSearchInput) { + setTimeout(() => { + const obj = lodash.cloneDeep(val.defaultJson) + obj[val.jsonKey] = qv + this.$refs[dataList].$refs.searchInput.select_list.push(obj) + this.$refs[dataList].$refs.searchInput.sreach_num++ + // this.$refs[dataList].$refs.searchInput.searchLabelList = this.$refs[dataList].$refs.searchInput.searchLabelList.filter(item => item.label !== 'projectIds') + }) + } } } } diff --git a/nezha-fronted/src/components/page/alert/alertRule.vue b/nezha-fronted/src/components/page/alert/alertRule.vue index 2eb302ab8..43aa27f1d 100644 --- a/nezha-fronted/src/components/page/alert/alertRule.vue +++ b/nezha-fronted/src/components/page/alert/alertRule.vue @@ -344,9 +344,38 @@ export default { orderBy: { target: this.$data, propertyName: 'orderBy', type: 'string' }, ids: { target: this.searchLabel, propertyName: 'ids', type: 'number' }, severityIds: { target: this.searchLabel, propertyName: 'severityIds', type: 'string' }, - type: { target: this.searchLabel, propertyName: 'type', type: 'number' }, - name: { target: this.searchLabel, propertyName: 'name', type: 'string' } + type: { + target: this.searchLabel, + propertyName: 'type', + type: 'number', + isSearchInput: true, + defaultJson: + { + name: 'Type', + id: 5, + type: 'alertTypes', + label: 'type', + disabled: false, + readonly: true, + val: 'Metrics', + valnum: 1, + valString: '' + }, + jsonKey: 'valnum' + }, + name: { + target: this.searchLabel, + propertyName: 'name', + type: 'string', + isSearchInput: true, + defaultJson: { + + } + } } + Object.keys(this.$route.query).forEach(key => { + this.$set(searchKeys[key].target, key, this.$route.query[key]) + }) this.initQueryFromPath(searchKeys) }, mounted () {