style:去除expression temp的快速选择的阴影改为图标

This commit is contained in:
zhangyu
2021-03-18 13:58:55 +08:00
parent 58929f36d2
commit eca13bc951
10 changed files with 170 additions and 49 deletions

View File

@@ -20,6 +20,9 @@ Created by iconfont
/> />
<missing-glyph /> <missing-glyph />
<glyph glyph-name="moban" unicode="&#58884;" d="M679-0.5H246.7c-39.7 0-72 31.8-72 70.9V614.3c0 39.1 32.3 70.9 72 70.9H679c39.7 0 72-31.8 72-70.9v-543.8c0-39.1-32.3-71-72-71zM246.7 637.9c-13.3 0-24-10.6-24-23.6v-543.8c0-13 10.8-23.6 24-23.6H679c13.3 0 24 10.6 24 23.6V614.3c0 13-10.8 23.6-24 23.6H246.7z m72.1-94.5H607v-23.6H318.8v23.6zM619 507.9H306.8v47.3H619v-47.3z m-288.2 23.7H595 330.8z m-12-82.8H607v-23.6H318.8v23.6zM619 413.3H306.8v47.3H619v-47.3zM330.8 437H595 330.8z m444.5-354.7v47.3c13.1 0 23.8 10.7 23.8 23.8V696.9c0 13.1-10.7 23.8-23.8 23.8H342.6c-13.1 0-23.8-10.7-23.8-23.8h-48c0 39.2 32.2 71.1 71.8 71.1h432.7c39.6 0 71.8-31.9 71.8-71.1v-543.5c0-39.2-32.2-71.1-71.8-71.1zM318.8 354.2H607v-23.6H318.8v23.6zM619 318.7H306.8V366H619v-47.3z m-288.2 23.7H595 330.8z" horiz-adv-x="1024" />
<glyph glyph-name="chaoshi" unicode="&#59133;" d="M757.82562345 339.48597884000003a201.95579891 201.95579891 0 0 0 201.50486092-202.47115675c0-111.83262109-90.18759766-202.47115673-201.50486092-202.47115673a201.95579891 201.95579891 0 0 0-201.44044109 202.47115673c0 111.76820125 90.18759766 202.47115673 201.44044109 202.47115675zM506.58874414 834.93798828c246.08330193 0 445.59115226-200.47414528 445.59115226-447.8458422a30.92146168 30.92146168 0 0 0-61.58524576-0.70861646v0.70861646c0 213.16482878-171.93621321 385.8740783-383.94148666 385.8740783-212.06969416 0-383.94148753-172.70924951-383.94148754-385.8740783 0-210.97455867 168.45754811-382.39541406 377.56393586-385.8740783h6.37755168a30.92146168 30.92146168 0 0 0 30.79262288-30.92146254 30.92146168 30.92146168 0 0 0-30.79262288-31.05030136C260.56986205-60.75369611999997 61.06201172 139.84928882999998 61.06201172 387.09214608 61.06201172 634.463843 260.56986205 834.93798828 506.65316398 834.93798828z m251.23687931-543.05817756a154.4140515 154.4140515 0 0 1-153.96311351-154.86498863 154.4140515 154.4140515 0 0 1 153.96311351-154.86498948 154.4140515 154.4140515 0 0 1 154.09195232 154.86498948 154.4140515 154.4140515 0 0 1-154.09195232 154.80056879z m80.65348007-138.2447029a26.15440332 26.15440332 0 1 0 0-52.43764631H677.23656322a26.15440332 26.15440332 0 0 0-26.02556452 26.28324299c0 14.43001562 11.65996785 26.15440332 26.02556452 26.15440332h161.2425403z m-326.09258537 488.30142148a32.20985668 32.20985668 0 0 0 32.20985668-32.27427565v-256.26161701c0-10.30715389-4.83147819-19.45475333-12.23974552-25.38136703a31.56565918 31.56565918 0 0 0-22.9978374-9.98505557h-0.12883968l-255.10206169 0.45093798a32.01659717 32.01659717 0 0 0-0.19325951 64.03319434h0.06441983l226.24203045-0.38651815V609.66225365a32.20985668 32.20985668 0 0 0 32.20985668 32.33869549z" horiz-adv-x="1024" /> <glyph glyph-name="chaoshi" unicode="&#59133;" d="M757.82562345 339.48597884000003a201.95579891 201.95579891 0 0 0 201.50486092-202.47115675c0-111.83262109-90.18759766-202.47115673-201.50486092-202.47115673a201.95579891 201.95579891 0 0 0-201.44044109 202.47115673c0 111.76820125 90.18759766 202.47115673 201.44044109 202.47115675zM506.58874414 834.93798828c246.08330193 0 445.59115226-200.47414528 445.59115226-447.8458422a30.92146168 30.92146168 0 0 0-61.58524576-0.70861646v0.70861646c0 213.16482878-171.93621321 385.8740783-383.94148666 385.8740783-212.06969416 0-383.94148753-172.70924951-383.94148754-385.8740783 0-210.97455867 168.45754811-382.39541406 377.56393586-385.8740783h6.37755168a30.92146168 30.92146168 0 0 0 30.79262288-30.92146254 30.92146168 30.92146168 0 0 0-30.79262288-31.05030136C260.56986205-60.75369611999997 61.06201172 139.84928882999998 61.06201172 387.09214608 61.06201172 634.463843 260.56986205 834.93798828 506.65316398 834.93798828z m251.23687931-543.05817756a154.4140515 154.4140515 0 0 1-153.96311351-154.86498863 154.4140515 154.4140515 0 0 1 153.96311351-154.86498948 154.4140515 154.4140515 0 0 1 154.09195232 154.86498948 154.4140515 154.4140515 0 0 1-154.09195232 154.80056879z m80.65348007-138.2447029a26.15440332 26.15440332 0 1 0 0-52.43764631H677.23656322a26.15440332 26.15440332 0 0 0-26.02556452 26.28324299c0 14.43001562 11.65996785 26.15440332 26.02556452 26.15440332h161.2425403z m-326.09258537 488.30142148a32.20985668 32.20985668 0 0 0 32.20985668-32.27427565v-256.26161701c0-10.30715389-4.83147819-19.45475333-12.23974552-25.38136703a31.56565918 31.56565918 0 0 0-22.9978374-9.98505557h-0.12883968l-255.10206169 0.45093798a32.01659717 32.01659717 0 0 0-0.19325951 64.03319434h0.06441983l226.24203045-0.38651815V609.66225365a32.20985668 32.20985668 0 0 0 32.20985668 32.33869549z" horiz-adv-x="1024" />

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 146 KiB

File diff suppressed because one or more lines are too long

View File

@@ -66,7 +66,7 @@
<el-form-item :label='$t("alert.silence.matcher")' prop="matcher" class="matcher"> <el-form-item :label='$t("alert.silence.matcher")' prop="matcher" class="matcher">
<div class="matcher-type"> <div class="matcher-type">
<div class="matcher-type-title">Alert rule</div> <div class="matcher-type-title">Alert rule</div>
<el-select v-model="editAlertSilence.ruleId" filterable @change="matcherChange" :popper-append-to-body="false" size="small" class="matcher-type-content"> <el-select v-model="editAlertSilence.ruleId" filterable @change="matcherChange" :popper-append-to-body="false" size="small" class="matcher-type-content" clearable>
<el-option <el-option
v-for="item in ruleList" v-for="item in ruleList"
:key="item.id" :key="item.id"
@@ -96,6 +96,7 @@
<template v-slot:trigger> <template v-slot:trigger>
<el-input class="panel-name" placeholder="" readonly="readonly" v-model="editAlertSilence.name" size="small"> <el-input class="panel-name" placeholder="" readonly="readonly" v-model="editAlertSilence.name" size="small">
<span slot="suffix" class="el-input__icon el-icon-circle-close el-input__clear" @click.stop="clearValue"></span>
</el-input> </el-input>
</template> </template>
</select-alert-silence> </select-alert-silence>
@@ -255,6 +256,17 @@
delete params.time; delete params.time;
delete params.matcher; delete params.matcher;
if(valid){ if(valid){
params={
id:params.id,
endAt:params.endAt,
startAt:params.startAt,
linkId:params.linkId,
linkName:params.linkName,
reason:params.reason,
ruleId:params.ruleId,
name:params.name,
type:params.type,
}
if(this.editAlertSilence.id){ if(this.editAlertSilence.id){
this.$put('/alert/silence',params).then(response=>{ this.$put('/alert/silence',params).then(response=>{
this.prevent_opt.save=false; this.prevent_opt.save=false;
@@ -364,6 +376,10 @@
},
clearValue(){
this.editAlertSilence.name='';
this.editAlertSilence.linkId='';
}, },
typeChange(val,linkId){ typeChange(val,linkId){
let firstArr=[] let firstArr=[]

View File

@@ -14,8 +14,9 @@
:options="metricOptions" @change="metricChange"> :options="metricOptions" @change="metricChange">
<template slot-scope="{ node, data }"> <template slot-scope="{ node, data }">
<div :class="['nz-cascade',data.temp?'nz-cascade-temp':'']" @click="()=>{lazyLoad(node,data)}">{{ <div :class="['nz-cascade',data.temp&&!data.child?'nz-cascade-temp':'']" @click="()=>{lazyLoad(node,data)}">
data.label }} <i class="nz-icon nz-icon-moban"></i>
{{data.label}}
</div> </div>
</template> </template>
@@ -48,8 +49,9 @@
:props="{emitPath:false}" :options="metricOptions" @change="metricChange"> :props="{emitPath:false}" :options="metricOptions" @change="metricChange">
<template slot-scope="{ node, data }"> <template slot-scope="{ node, data }">
<div :class="['nz-cascade',data.temp?'nz-cascade-temp':'']" @click="()=>{lazyLoad(node,data)}">{{ <div :class="['nz-cascade',data.temp&&!data.child?'nz-cascade-temp':'']" @click="()=>{lazyLoad(node,data)}">
data.label }} <i class="nz-icon nz-icon-moban"></i>
{{data.label}}
</div> </div>
</template> </template>
@@ -103,7 +105,7 @@
<el-form-item prop="expression"> <el-form-item prop="expression">
<el-input v-model="tempBox.expression" size="small" disabled></el-input> <el-input v-model="tempBox.expression" size="small" disabled></el-input>
</el-form-item> </el-form-item>
<span class="temp-form-box-title">Variable</span> <span class="temp-form-box-title" v-if="tempBox.vars.length">Variable</span>
<el-form-item v-for="(item,index) in tempBox.vars" :prop="item" :key="index"> <el-form-item v-for="(item,index) in tempBox.vars" :prop="item" :key="index">
<el-row> <el-row>
<el-col :span="6" class="temp-form-box-col"> <el-col :span="6" class="temp-form-box-col">
@@ -111,10 +113,24 @@
</el-col> </el-col>
<el-col :span="17" v-if="format(item).key"> <el-col :span="17" v-if="format(item).key">
<!--<el-input v-model="tempBox[item]" :id="'tempBox'+item" size="small"></el-input>--> <!--<el-input v-model="tempBox[item]" :id="'tempBox'+item" size="small"></el-input>-->
<el-select v-model="tempBox[item]" size="small" style="width: 100%" :popper-class="'nz-temp-box'"> <!--<el-select v-model="tempBox[item]" size="small" style="width: 100%" :popper-class="'nz-temp-box'">-->
<el-option v-for="(item1,index) in format(item).arr" :key="index" :label="item1[format(item).value]" :value="item1[format(item).value]"> <!--<el-option v-for="(item1,index) in format(item).arr" :key="index" :label="item1[format(item).value]" :value="item1[format(item).value]">-->
</el-option> <!--</el-option>-->
</el-select> <!--</el-select>-->
<select-alert-silence :filter-silence="filterSilence" :silence-data="format(item).arr" :panel-lock="false" :placement="'bottom-start'" :typeContentLoading="typeContentLoading"
@selectSilence="(val)=>{silenceChange(val,item)}" ref="selectPanel" style="width: 300px;">
<template v-slot:header>
<div class="panel-select-header">
<el-input :placeholder="$t('overall.search')" clearable size="mini" style="width: 340px; margin-right: 5px;" v-model="filterSilence" id="panel-list-search"></el-input>
</div>
</template>
<template v-slot:trigger>
<el-input class="panel-name" placeholder="" readonly="readonly" v-model="tempBox[item]" size="small">
<span slot="suffix" class="el-input__icon el-icon-circle-close el-input__clear" @click.stop="clearValue(item)"></span>
</el-input>
</template>
</select-alert-silence>
</el-col> </el-col>
<el-col :span="17" v-else> <el-col :span="17" v-else>
<el-input v-model="tempBox[item]" :id="'tempBox'+item" size="small"></el-input> <el-input v-model="tempBox[item]" :id="'tempBox'+item" size="small"></el-input>
@@ -138,11 +154,12 @@
<script> <script>
import editor from './editor' import editor from './editor'
import selectAlertSilence from '../../../common/alert/selectAlertSilence'
export default { export default {
name:"promqlInput", name:"promqlInput",
components:{ components:{
'editor':editor 'editor':editor,
selectAlertSilence
}, },
props:{ props:{
index:{type:Number}, index:{type:Number},
@@ -160,7 +177,8 @@
showTemp:{ showTemp:{
type:Boolean, type:Boolean,
default:true default:true
} },
typeContentLoading:false,
//metricOptions: {type: Array}, //metricOptions: {type: Array},
//metricStore: {type: Array} //metricStore: {type: Array}
}, },
@@ -185,11 +203,11 @@
endpointOption:[], endpointOption:[],
datacenterOption:[], datacenterOption:[],
projectOption:[], projectOption:[],
filterSilence:'',
} }
}, },
created(){ created(){
this.queryMetrics(); this.queryMetrics();
this.getAllOptins();
}, },
methods:{ methods:{
closeDropdown(){ closeDropdown(){
@@ -313,11 +331,16 @@
if(res.code===200){ if(res.code===200){
res.data.vars.forEach(item=>{ res.data.vars.forEach(item=>{
res.data[item]=''; res.data[item]='';
let arr=item.split('.')
let keyword=arr[0].toLowerCase();
this.getAllOptins(keyword,keyword+'Option');
}); });
this.tempBox={ this.tempBox={
...this.tempBox, ...this.tempBox,
...res.data, ...res.data,
}; };
setTimeout(()=>{ setTimeout(()=>{
this.tempBoxShow=true; this.tempBoxShow=true;
},100) },100)
@@ -352,6 +375,13 @@
return return
} }
if(this.tempBox.vars.length==0){
this.tempBoxShow=false;
this.expressionList[this.index]= params.expression;
this.$emit('change', params.expression);
return
}
this.$post('/expression/tmpl/render',params).then(res=>{ this.$post('/expression/tmpl/render',params).then(res=>{
if(res.code===200){ if(res.code===200){
this.tempBoxShow=false; this.tempBoxShow=false;
@@ -384,34 +414,95 @@
} }
} }
}, },
getAllOptins(){ getAllOptins(key,arr){
switch(key){
case 'asset':
this.$get('asset',{pageNo:1,pageSize:-1}).then(response=>{
if(response.code==200){
let arr=[];
response.data.list.forEach(asset=>{
asset.name=asset.sn;
let idcF=arr.find(idc=>idc.id===asset.idc.id);
if(idcF){
idcF.children.push(asset);
} else{
let idc={...asset.idc};
idc.children=[asset];
arr.push(idc);
}
});
this.assetOption=arr;
}
});
break;
case 'module':
this.$get('module',{pageNo:1,pageSize:-1}).then(response=>{
if(response.code==200){
let arr=[];
response.data.list.forEach(module=>{
let projectF=arr.find(project=>project.id===module.project.id)
if(projectF){
projectF.children.push(module);
} else{
let project={...module.project};
project.children=[module];
arr.push(project);
}
});
this.moduleOption=arr;
}
});
break;
case 'endpoint':
this.$get('endpoint',{pageNo:1,pageSize:-1}).then(response=>{
if(response.code==200){
let arr=[];
response.data.list.forEach(item=>{
item.name=item.host;
let projectF = arr.find(project=>item.project.id===project.id);
if(projectF){
let moduleF = projectF.children.find(module=>module.id===item.module.id);
if(moduleF){
moduleF.children.push(item)
} else{
projectF.children.push({...item.module,children:[item]});
}
} else {
let project={...item.project};
project.children=[{...item.module,children:[item]}]
arr.push(project);
}
});
this.endpointOption=arr;
}
});
break;
case 'datacenter':
this.$get('idc',{pageNo:1,pageSize:-1}).then(response=>{ this.$get('idc',{pageNo:1,pageSize:-1}).then(response=>{
if(response.code==200){ if(response.code==200){
this.datacenterOption=response.data.list; this.datacenterOption=response.data.list;
} }
}); });
this.$get('asset',{pageNo:1,pageSize:-1}).then(response=>{ break;
if(response.code==200){ case 'project':
this.assetOption=response.data.list;
}
});
this.$get('project',{pageNo:1,pageSize:-1}).then(response=>{ this.$get('project',{pageNo:1,pageSize:-1}).then(response=>{
if(response.code==200){ if(response.code==200){
this.projectOption=response.data.list; this.projectOption=response.data.list;
} }
}); });
this.$get('module',{pageNo:1,pageSize:-1}).then(response=>{ break;
if(response.code==200){ default:
this.moduleOption=response.data.list; break;
} }
}); },
this.$get('endpoint',{pageNo:1,pageSize:-1}).then(response=>{ silenceChange(val,key){
if(response.code==200){ this.tempBox[key]=val.name;
this.endpointOption=response.data.list; },
} clearValue(key){
}); this.tempBox[key]='';
}, },
tempBoxClose(){ tempBoxClose(){
this.cascaderValue=""; this.cascaderValue="";
@@ -532,9 +623,13 @@
.nz-cascade { .nz-cascade {
padding: 0 20px 0 30px; padding: 0 20px 0 30px;
} }
.nz-cascade .nz-icon-moban {
display: none;
}
.nz-cascade-temp { .nz-cascade-temp .nz-icon-moban{
background: #F8F9FB; display: inline-block;
/*background: #F8F9FB;*/
} }
.temp-form-box{ .temp-form-box{
width: 480px; width: 480px;

View File

@@ -197,6 +197,9 @@ Vue.mixin({
callBack 回调 callBack 回调
*/ */
let rowCopy={...row}; let rowCopy={...row};
if(rowCopy.name){
rowCopy.name = 'Copy from ' + rowCopy.name;
}
if(format){ if(format){
rowCopy=format(rowCopy) rowCopy=format(rowCopy)
} }

View File

@@ -1 +1 @@
{"baseUrl":"http://192.168.40.42:8080/nz-admin/", "version": "1.2.2020.11.10.14.10"} {"baseUrl":"", "version": "1.2.2020.11.10.14.10"}