feat:promeServer 配置新增thanos 选项

This commit is contained in:
wangwenrui
2020-09-01 15:36:21 +08:00
parent 1bc2f99116
commit 702e00f973
3 changed files with 74 additions and 9 deletions

View File

@@ -32,10 +32,56 @@ export const staticMenus = {
}; };
export const promServer = { export const promServer = {
typeData: [ theData:[
{value: 1, label: 'Global'}, {
{value: 2, label: 'Per-Datacenter'} label:'Federation',
], value:'federation',
children:[
{
label:'Global',
value:1,
text:'Global',
},
{
label:'Per-datacenter',
value:2,
text:'Per-datacenter',
}
]
},
{
label:'Thanos',
value:'Thanos',
children:[
{
label:'query',
value:3,
text:'Thanos-query'
},
{
label:'rule',
value:4,
text:'Thanos-rule'
},
{
label:'sidecar',
value:5,
text:'Thanos-sidecar'
},
{
label:'store',
value:6,
text:'Thanos-store'
},
{
label:'compactor',
value:7,
text:'Thanos-compactor'
}
]
}
]
}; };
export const asset = { export const asset = {

View File

@@ -39,9 +39,15 @@
</el-form-item> </el-form-item>
<!--type--> <!--type-->
<el-form-item :label="$t('config.promServer.type')" prop="type"> <el-form-item :label="$t('config.promServer.type')" prop="type">
<el-select popper-class="config-dropdown" v-model="editPromServer.type" placeholder="" size="small"> <el-cascader
<el-option v-for="item in $CONSTANTS.promServer.typeData" :key="item.value" :label="item.label" :value="item.value" :id="'prom-edit-type-op-'+item.value"></el-option> style="width: 100%"
</el-select> v-model="editPromServer.type"
placeholder=""
size="small"
popper-class="config-dropdown"
:options="$CONSTANTS.promServer.theData"
:props="{ multiple: false, checkStrictly: false ,emitPath:false}"
clearable></el-cascader>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-scrollbar> </el-scrollbar>

View File

@@ -44,8 +44,9 @@
<span v-if="item.prop == 'idc'" >{{scope.row[item.prop]?scope.row[item.prop].name:'-'}}</span> <span v-if="item.prop == 'idc'" >{{scope.row[item.prop]?scope.row[item.prop].name:'-'}}</span>
<span v-else-if="item.prop == 'type'"> <span v-else-if="item.prop == 'type'">
{{scope.row[item.prop] == '1' ? 'Global' : ''}} <!--{{scope.row[item.prop] == '1' ? 'Global' : ''}}
{{scope.row[item.prop] == '2' ? 'Per-Datacenter' : ''}} {{scope.row[item.prop] == '2' ? 'Per-Datacenter' : ''}}-->
{{findServerType(scope.row[item.prop]).text}}
</span> </span>
<span v-else-if="item.prop == 'status'"> <span v-else-if="item.prop == 'status'">
<el-popover placement="right" width="200" trigger="hover" :content="$t('asset.assetStatPre')+(scope.row.checkTime?scope.row.checkTime:$t('asset.assetStatDown'))"> <el-popover placement="right" width="200" trigger="hover" :content="$t('asset.assetStatPre')+(scope.row.checkTime?scope.row.checkTime:$t('asset.assetStatDown'))">
@@ -214,6 +215,7 @@
}], }],
}, },
searchLabel: {}, //搜索参数 searchLabel: {}, //搜索参数
promServerType:null,
} }
}, },
methods: { methods: {
@@ -372,6 +374,17 @@
this.$set(this.searchLabel, "orderBy", orderBy); this.$set(this.searchLabel, "orderBy", orderBy);
this.getTableData(); this.getTableData();
}, },
findServerType(type){
if(!this.promServerType){
this.promServerType=[];
this.$CONSTANTS.promServer.theData.forEach(item=>{
this.promServerType=this.promServerType.concat(item.children)
})
}
return this.promServerType.find(item=>{
return item.value == type
})
}
}, },
mounted() { mounted() {
//初始化数据 //初始化数据