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

# Conflicts:
#	nezha-fronted/src/components/layout/path_navigation/PathNavigation.vue
This commit is contained in:
zhangyu
2021-05-10 16:37:19 +08:00
33 changed files with 596 additions and 784 deletions

View File

@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4"> <module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager"> <component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" /> <content url="file://$MODULE_DIR$">
<excludePattern pattern="Tiles" />
</content>
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>

View File

@@ -11,6 +11,11 @@
class="full-width-height" class="full-width-height"
> >
<template v-slot:title><span :title="obj.name">{{obj.name}}</span></template> <template v-slot:title><span :title="obj.name">{{obj.name}}</span></template>
<template v-slot:top-tool-right>
<el-select v-model="state" class="margin-r-10" size="small" value-key="value" @change="getTableData">
<el-option v-for="item in stateOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</template>
<template v-slot> <template v-slot>
<alertMessageTable <alertMessageTable
ref="dataTable" ref="dataTable"
@@ -43,7 +48,7 @@ import nzBottomDataList from '@/components/common/bottomBox/nzBottomDataList'
import axios from 'axios' import axios from 'axios'
import bus from '@/libs/bus' import bus from '@/libs/bus'
import alertMessageTable from '@/components/common/table/alert/alertMessageTable.vue' import alertMessageTable from '@/components/common/table/alert/alertMessageTable.vue'
import { fromRoute } from '@/components/common/js/constants' import { alertMessage as alertMessageConstant, fromRoute } from '@/components/common/js/constants'
// import {getTime} from "@/components/common/js/tools"; // import {getTime} from "@/components/common/js/tools";
// import chartDataFormat from "@/components/charts/chartDataFormat"; // import chartDataFormat from "@/components/charts/chartDataFormat";
@@ -69,67 +74,46 @@ export default {
}, },
data () { data () {
return { return {
stateOptions: alertMessageConstant.states,
url: 'alert/message', url: 'alert/message',
tableId: 'alertMessageModule', // 需要分页的table的id用于记录每页数量 tableId: 'alertMessageModule', // 需要分页的table的id用于记录每页数量
state: '1',
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
zheze_none: true, searchLabelList: [
searchLabelList: [{ {
id: 2, id: 26,
name: this.$t('alert.alertName'), name: this.$t('alert.list.id'),
type: 'input', type: 'id',
label: 'alertName', label: 'id',
disabled: false disabled: false
}, { },
id: 20, {
name: this.$t('project.project.project'), name: this.$t('alert.alertRule'),
type: 'project', type: 'input',
label: 'project', label: 'ruleName',
disabled: false disabled: false
}, { }, {
id: 21, name: this.$t('asset.asset'),
name: this.$t('project.module.module'), type: 'input',
type: 'module', label: 'assetName',
label: 'module', disabled: false
disabled: false }, {
}, { name: 'Endpoint',
id: 22, type: 'input',
name: this.$t('project.endpoint.endpoint'), label: 'endpointName',
type: 'input', disabled: false
label: 'endpointId', }, {
disabled: false name: this.$t('alert.summary'),
}, { type: 'input',
id: 4, label: 'summary',
name: this.$t('alert.severity'), disabled: false
type: 'selectString', }, {
label: 'severity', name: 'Labels',
disabled: false type: 'input',
}, { label: 'labels',
id: 11, disabled: false
name: this.$t('asset.asset'), }
type: 'asset', ]
label: 'asset',
disabled: false
}, {
id: 12,
name: this.$t('alert.list.state'),
type: 'select',
label: 'alertMessageState',
disabled: false
},
{
id: 26,
name: this.$t('alert.list.id'),
type: 'id',
label: 'id',
disabled: false
}, {
id: 27,
name: this.$t('config.dc.dc'),
type: 'idc',
label: 'idcId',
disabled: false,
readonly: true
}]
}, },
rightBox: { rightBox: {
editShow: false, editShow: false,
@@ -282,7 +266,10 @@ export default {
}) })
} }
}, },
getTableData () { getTableData (state) {
if (state) {
this.state = state
}
this.$set(this.searchLabel, 'pageNo', this.pageObj.pageNo) this.$set(this.searchLabel, 'pageNo', this.pageObj.pageNo)
this.$set(this.searchLabel, 'pageSize', this.pageObj.pageSize) this.$set(this.searchLabel, 'pageSize', this.pageObj.pageSize)
if (this.searchTime && this.searchTime.length > 1) { if (this.searchTime && this.searchTime.length > 1) {
@@ -293,6 +280,10 @@ export default {
delete this.searchLabel.endAt delete this.searchLabel.endAt
} }
this.tools.loading = true this.tools.loading = true
if (state) {
delete this.searchLabel.startAt
delete this.searchLabel.endAt
}
if (this.from === fromRoute.module) { if (this.from === fromRoute.module) {
this.searchLabel.moduleIds = this.obj.id this.searchLabel.moduleIds = this.obj.id
} else if (this.from === fromRoute.endpoint) { } else if (this.from === fromRoute.endpoint) {
@@ -302,9 +293,7 @@ export default {
} else if (this.from === fromRoute.alertRule) { } else if (this.from === fromRoute.alertRule) {
this.searchLabel.ruleIds = this.obj.id this.searchLabel.ruleIds = this.obj.id
} }
// state 暂时默认1 this.$get(this.url + '?state=' + this.state, this.searchLabel).then(response => {
this.searchLabel.state = 1
this.$get(this.url, this.searchLabel).then(response => {
this.tools.loading = false this.tools.loading = false
if (response.code === 200) { if (response.code === 200) {
this.nowTime = this.utcTimeToTimezoneStr(response.time) this.nowTime = this.utcTimeToTimezoneStr(response.time)

View File

@@ -25,6 +25,11 @@
@selectionChange="selectionChange" @selectionChange="selectionChange"
></cabinet-table> ></cabinet-table>
</template> </template>
<template v-slot:top-tool-right>
<button id="asset-create-asset" v-has="'panel_chart_add'" class="top-tool-btn margin-r-10" @click.stop="addChart">
<i class="nz-icon nz-icon-create-square"></i>
</button>
</template>
<template v-slot:pagination> <template v-slot:pagination>
<Pagination ref="Pagination" :pageObj="pageObj" :tableId="tableId" @pageNo='pageNo' @pageSize='pageSize'></Pagination> <Pagination ref="Pagination" :pageObj="pageObj" :tableId="tableId" @pageNo='pageNo' @pageSize='pageSize'></Pagination>
</template> </template>
@@ -84,8 +89,8 @@ export default {
}, },
{ {
id: 13, id: 13,
name: this.$t('config.dc.remark'), name: this.$t('config.dc.description'),
label: 'remark', label: 'description',
disabled: false disabled: false
} }
] ]
@@ -99,6 +104,15 @@ export default {
// 切换tab // 切换tab
changeTab (tab) { changeTab (tab) {
this.$emit('changeTab', tab) this.$emit('changeTab', tab)
},
addChart () {
this.rightBox.show = true
},
closeRightBox (refresh) {
this.rightBox.show = false
if (refresh) {
this.refresh()
}
} }
}, },
watch: { watch: {

View File

@@ -155,7 +155,7 @@ export const alertMessage = {
{ value: 'P3', label: i18n.t('alert.config.P3') } { value: 'P3', label: i18n.t('alert.config.P3') }
], ],
states: [ states: [
{ value: '1', label: i18n.t('alert.list.pending') }, { value: '1', label: i18n.t('overall.active') },
{ value: '2', label: i18n.t('overall.silence') }, { value: '2', label: i18n.t('overall.silence') },
{ value: '3', label: i18n.t('alert.list.expired') } { value: '3', label: i18n.t('alert.list.expired') }
] ]
@@ -172,6 +172,55 @@ export const statisticsList = [
{ value: 'different', label: i18n.t('dashboard.panel.chartForm.statisticsVal.different') } { value: 'different', label: i18n.t('dashboard.panel.chartForm.statisticsVal.different') }
] ]
export const chart = {
varType: [
{ value: '1', label: i18n.t('asset.asset') },
{ value: '2', label: i18n.t('asset.endpoint') }
],
type: [
{
value: 'line',
label: i18n.t('dashboard.panel.chartForm.typeVal.line.label')
},
{
value: 'stackArea',
label: i18n.t('dashboard.panel.chartForm.typeVal.stackArea.label')
},
{
value: 'bar',
label: i18n.t('dashboard.panel.chartForm.typeVal.bar.label')
},
{
value: 'singleStat',
label: i18n.t('dashboard.panel.chartForm.typeVal.singleStat.label')
},
{
value: 'pie',
label: i18n.t('dashboard.panel.chartForm.typeVal.pie.label')
},
{
value: 'table',
label: i18n.t('dashboard.panel.chartForm.typeVal.table.label')
},
{
value: 'alertList',
label: i18n.t('dashboard.panel.chartForm.typeVal.alertList.label')
},
{
value: 'text',
label: i18n.t('dashboard.panel.chartForm.typeVal.text.label')
},
{
value: 'url',
label: i18n.t('dashboard.panel.chartForm.typeVal.url.label')
},
{
value: 'group',
label: i18n.t('dashboard.panel.chartForm.typeVal.group.label')
}
]
}
export const intervalList = [ export const intervalList = [
{ value: -1, label: i18n.t('dashboard.panel.refreshInterval.never') }, { value: -1, label: i18n.t('dashboard.panel.refreshInterval.never') },
{ value: 30, label: '30s' }, { value: 30, label: '30s' },

View File

@@ -84,7 +84,7 @@ const en = {
clickUpload: 'Click to upload', clickUpload: 'Click to upload',
upload: 'upload', upload: 'upload',
template: 'Template', template: 'Template',
active: 'active', active: 'Active',
result: { result: {
total: 'Total', total: 'Total',
failed: 'Failed', failed: 'Failed',
@@ -694,7 +694,7 @@ const en = {
selectArea: 'Select area', selectArea: 'Select area',
cabinetNum: 'Cabinet', cabinetNum: 'Cabinet',
assets: 'Assets', assets: 'Assets',
remark: 'Remark', remark: 'Description',
cabinets: 'Cabinets', cabinets: 'Cabinets',
createDc: 'Nre data center', createDc: 'Nre data center',
editDc: 'Edit data center', editDc: 'Edit data center',

View File

@@ -79,7 +79,7 @@ export default {
if (valid) { if (valid) {
this.editCabinet.idcId = this.currentDc.id this.editCabinet.idcId = this.currentDc.id
if (this.editCabinet.id) { if (this.editCabinet.id) {
this.$put('cabinet', this.editCabinet).then(res => { this.$put('/dc/cabinet', this.editCabinet).then(res => {
this.prevent_opt.save = false this.prevent_opt.save = false
if (res.code === 200) { if (res.code === 200) {
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') }) this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
@@ -89,7 +89,7 @@ export default {
} }
}) })
} else { } else {
this.$post('cabinet', this.editCabinet).then(res => { this.$post('/dc/cabinet', this.editCabinet).then(res => {
this.prevent_opt.save = false this.prevent_opt.save = false
if (res.code === 200) { if (res.code === 200) {
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') }) this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })

View File

@@ -56,6 +56,8 @@ export default {
} }
} }
}, },
created() {
},
methods: { methods: {
clickOutside () { clickOutside () {
this.esc(false) this.esc(false)
@@ -71,7 +73,7 @@ export default {
if (valid) { if (valid) {
this.editCabinet.idcId = this.currentDc.id this.editCabinet.idcId = this.currentDc.id
if (this.editCabinet.id) { if (this.editCabinet.id) {
this.$put('cabinet', this.editCabinet).then(res => { this.$put('/dc/cabinet', this.editCabinet).then(res => {
this.prevent_opt.save = false this.prevent_opt.save = false
if (res.code === 200) { if (res.code === 200) {
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') }) this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
@@ -81,7 +83,7 @@ export default {
} }
}) })
} else { } else {
this.$post('cabinet', this.editCabinet).then(res => { this.$post('/dc/cabinet', this.editCabinet).then(res => {
this.prevent_opt.save = false this.prevent_opt.save = false
if (res.code === 200) { if (res.code === 200) {
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') }) this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })

View File

@@ -49,7 +49,7 @@
<li v-for="(item,key) in selectInfoList[val.label]" :key="key" @click="tr_selectInfo(val.label,item.value,item.label,$event)" :class="search_select_style_num==key?'search-style-ind':''">{{item.label}}</li> <li v-for="(item,key) in selectInfoList[val.label]" :key="key" @click="tr_selectInfo(val.label,item.value,item.label,$event)" :class="search_select_style_num==key?'search-style-ind':''">{{item.label}}</li>
</ul> </ul>
</div> </div>
<div class="select_info_list" :style="'top:' + selectDom.top +'; left:'+selectDom.left " v-if="val.type == 'selectString'"> <div v-if="val.type === 'selectString'" :style="'top:' + selectDom.top +'; left:'+selectDom.left " class="select_info_list">
<el-scrollbar v-if="selectInfoList[val.label].length > 8" class="el-scrollbar-small" style="height: 240px;"> <el-scrollbar v-if="selectInfoList[val.label].length > 8" class="el-scrollbar-small" style="height: 240px;">
<ul> <ul>
<li v-for="(item,key) in selectInfoList[val.label]" :key="key" @click="stringSelectInfo(val, item, $event)" :class="search_select_style_num==key?'search-style-ind':''">{{item.label}}</li> <li v-for="(item,key) in selectInfoList[val.label]" :key="key" @click="stringSelectInfo(val, item, $event)" :class="search_select_style_num==key?'search-style-ind':''">{{item.label}}</li>
@@ -89,7 +89,37 @@
<li v-for="(item,key) in assetSelect" :key="key" @click="selectObject(val, item, $event)" :class="search_select_style_num==key?'search-style-ind':''">{{item.host}}</li> <li v-for="(item,key) in assetSelect" :key="key" @click="selectObject(val, item, $event)" :class="search_select_style_num==key?'search-style-ind':''">{{item.host}}</li>
</ul> </ul>
</div> </div>
<div class="select_info_list" :style="'top:' + selectDom.top +'; left:'+selectDom.left " v-if="val.type == 'project'"> <div v-if="val.type === 'assetState'" :style="'top:' + selectDom.top +'; left:'+selectDom.left" class="select_info_list">
<el-scrollbar v-if="assetStateSelect.length > 8" class="el-scrollbar-small" style="height: 240px;">
<ul>
<li v-for="(item,key) in assetStateSelect" :key="key" :class="search_select_style_num==key?'search-style-ind':''" @click="selectObject(val, item, $event)">{{item.name}}</li>
</ul>
</el-scrollbar>
<ul v-else>
<li v-for="(item,key) in assetStateSelect" :key="key" :class="search_select_style_num==key?'search-style-ind':''" @click="selectObject(val, item, $event)">{{item.name}}</li>
</ul>
</div>
<div v-if="val.type === 'brand'" :style="'top:' + selectDom.top +'; left:'+selectDom.left" class="select_info_list">
<el-scrollbar v-if="brandSelect.length > 8" class="el-scrollbar-small" style="height: 240px;">
<ul>
<li v-for="(item,key) in brandSelect" :key="key" :class="search_select_style_num==key?'search-style-ind':''" @click="selectObject(val, item, $event)">{{item.name}}</li>
</ul>
</el-scrollbar>
<ul v-else>
<li v-for="(item,key) in brandSelect" :key="key" :class="search_select_style_num==key?'search-style-ind':''" @click="selectObject(val, item, $event)">{{item.name}}</li>
</ul>
</div>
<div v-if="val.type === 'group'" :style="'top:' + selectDom.top +'; left:'+selectDom.left" class="select_info_list">
<el-scrollbar v-if="groupSelect.length > 8" class="el-scrollbar-small" style="height: 240px;">
<ul>
<li v-for="(item,key) in groupSelect" :key="key" :class="search_select_style_num==key?'search-style-ind':''" @click="selectObject(val, item, $event)">{{item.name}}</li>
</ul>
</el-scrollbar>
<ul v-else>
<li v-for="(item,key) in brandSelect" :key="key" :class="search_select_style_num==key?'search-style-ind':''" @click="selectObject(val, item, $event)">{{item.name}}</li>
</ul>
</div>
<div v-if="val.type === 'project'" :style="'top:' + selectDom.top +'; left:'+selectDom.left " class="select_info_list">
<el-scrollbar v-if="projectSelect.length > 8" class="el-scrollbar-small" style="height: 240px;"> <el-scrollbar v-if="projectSelect.length > 8" class="el-scrollbar-small" style="height: 240px;">
<ul> <ul>
<li v-for="(item,key) in projectSelect" :key="key" @click="selectObject(val, item, $event)" :class="search_select_style_num==key?'search-style-ind':''">{{item.name}}</li> <li v-for="(item,key) in projectSelect" :key="key" @click="selectObject(val, item, $event)" :class="search_select_style_num==key?'search-style-ind':''">{{item.name}}</li>
@@ -99,6 +129,16 @@
<li v-for="(item,key) in projectSelect" :key="key" @click="selectObject(val, item, $event)" :class="search_select_style_num==key?'search-style-ind':''">{{item.name}}</li> <li v-for="(item,key) in projectSelect" :key="key" @click="selectObject(val, item, $event)" :class="search_select_style_num==key?'search-style-ind':''">{{item.name}}</li>
</ul> </ul>
</div> </div>
<div v-if="val.type === 'severity'" :style="'top:' + selectDom.top +'; left:'+selectDom.left " class="select_info_list">
<el-scrollbar v-if="severitySelect.length > 8" class="el-scrollbar-small" style="height: 240px;">
<ul>
<li v-for="(item,key) in severitySelect" :key="key" :class="search_select_style_num==key?'search-style-ind':''" @click="selectObject(val, item, $event)">{{item.name}}</li>
</ul>
</el-scrollbar>
<ul v-else>
<li v-for="(item,key) in severitySelect" :key="key" :class="search_select_style_num==key?'search-style-ind':''" @click="selectObject(val, item, $event)">{{item.name}}</li>
</ul>
</div>
<div class="select_info_list" :style="'top:' + selectDom.top +'; left:'+selectDom.left " v-if="val.type == 'module'"> <div class="select_info_list" :style="'top:' + selectDom.top +'; left:'+selectDom.left " v-if="val.type == 'module'">
<el-scrollbar v-if="moduleSelect.length > 8" class="el-scrollbar-small" style="height: 240px;"> <el-scrollbar v-if="moduleSelect.length > 8" class="el-scrollbar-small" style="height: 240px;">
<ul> <ul>
@@ -222,7 +262,11 @@ export default {
actionSelect: [], actionSelect: [],
dcSelect: [], // 数据中心 dcSelect: [], // 数据中心
assetSelect: [], // 资产 assetSelect: [], // 资产
assetStateSelect: [],
brandSelect: [],
groupSelect: [],
projectSelect: [], projectSelect: [],
severitySelect: [],
moduleSelect: [], moduleSelect: [],
modelSelect: [], modelSelect: [],
gnameList: [], gnameList: [],
@@ -444,6 +488,22 @@ export default {
val.val = selectItem.host val.val = selectItem.host
val.valnum = selectItem.id val.valnum = selectItem.id
val.valString = '' val.valString = ''
} else if (val.type == 'assetState' && selectItem.searchType == 'assetState') {
val.val = selectItem.name
val.valnum = selectItem.id
val.valString = ''
} else if (val.type === 'brand' && selectItem.searchType === 'brand') {
val.val = selectItem.name
val.valnum = selectItem.id
val.valString = ''
} else if (val.type === 'group' && selectItem.searchType === 'group') {
val.val = selectItem.name
val.valnum = selectItem.id
val.valString = ''
} else if (val.type === 'severity' && selectItem.searchType === 'severity') {
val.val = selectItem.name
val.valnum = selectItem.id
val.valString = ''
} }
} }
// this.select_list.push({type: 'dc', val: selectItem.name, valnum: selectItem.id}); // this.select_list.push({type: 'dc', val: selectItem.name, valnum: selectItem.id});
@@ -520,6 +580,36 @@ export default {
} }
}) })
}, },
getAssetStateData () {
this.$get('asset/stateConf', { pageNo: 1, pageSize: -1 }).then(response => {
if (response.code === 200) {
this.assetStateSelect = response.data.list
this.assetStateSelect.forEach((item, index) => {
this.$set(item, 'searchType', 'assetState')
})
}
})
},
getBrandData () {
this.$get('asset/brand', { pageNo: 1, pageSize: -1 }).then(response => {
if (response.code === 200) {
this.brandSelect = response.data.list
this.brandSelect.forEach((item, index) => {
this.$set(item, 'searchType', 'brand')
})
}
})
},
getGroupData () {
this.$get('asset/field/group', { pageNo: 1, pageSize: -1 }).then(response => {
if (response.code === 200) {
this.groupSelect = response.data.list
this.groupSelect.forEach((item, index) => {
this.$set(item, 'searchType', 'group')
})
}
})
},
getModelData () { getModelData () {
this.$get('model', { pageNo: 1, pageSize: -1 }).then(response => { this.$get('model', { pageNo: 1, pageSize: -1 }).then(response => {
if (response.code === 200) { if (response.code === 200) {
@@ -531,7 +621,7 @@ export default {
}) })
}, },
getProjectData () { getProjectData () {
this.$get('project', { pageNo: 1, pageSize: -1 }).then(response => { this.$get('monitor/project', { pageNo: 1, pageSize: -1 }).then(response => {
if (response.code === 200) { if (response.code === 200) {
this.projectSelect = response.data.list this.projectSelect = response.data.list
this.projectSelect.forEach((item, index) => { this.projectSelect.forEach((item, index) => {
@@ -540,6 +630,16 @@ export default {
} }
}) })
}, },
getSeverityData () {
this.$get('alert/severity', { pageNo: 1, pageSize: -1 }).then(response => {
if (response.code === 200) {
this.severitySelect = response.data.list
this.severitySelect.forEach((item, index) => {
this.$set(item, 'searchType', 'severity')
})
}
})
},
getModuleData () { getModuleData () {
this.$get('module', { pageNo: 1, pageSize: -1 }).then(response => { this.$get('module', { pageNo: 1, pageSize: -1 }).then(response => {
if (response.code === 200) { if (response.code === 200) {
@@ -593,7 +693,7 @@ export default {
stringSelectInfo (column, selectItem, e) { stringSelectInfo (column, selectItem, e) {
this.stop_click(e) this.stop_click(e)
this.select_list.forEach(val => { this.select_list.forEach(val => {
if (val.label == column.label) { if (val.label === column.label) {
val.val = selectItem.value val.val = selectItem.value
val.valString = selectItem.label val.valString = selectItem.label
} }
@@ -759,20 +859,34 @@ export default {
} else if (val.type == 'selectAction') { // 新增日志判断 } else if (val.type == 'selectAction') { // 新增日志判断
objectInfo[val.label] = val.valnum objectInfo[val.label] = val.valnum
} else if (val.type == 'dc') { } else if (val.type == 'dc') {
objectInfo.idcId = val.valnum objectInfo.dcIds = val.valnum
} else if (val.type == 'asset') { } else if (val.type == 'asset') {
objectInfo.asset = val.val objectInfo.asset = val.val
} else if (val.type == 'module') { } else if (val.type == 'module') {
objectInfo.moduleId = val.valnum objectInfo.moduleId = val.valnum
} else if (val.type == 'project') { } else if (val.type === 'project') {
objectInfo.projectId = val.valnum objectInfo.projectIds = val.valnum
} else if (val.type == 'idc') { } else if (val.type === 'assetState') {
objectInfo.dcId = val.valnum objectInfo.stateIds = val.valnum
} else if (val.type === 'brand') {
objectInfo.brandIds = val.valnum
} else if (val.type === 'group') {
objectInfo.groupIds = val.valnum
} else if (val.type === 'selectString') {
if (val.label === 'dcState') {
objectInfo.state = val.val
} else if (val.label === 'promType') {
objectInfo.type = val.val
} else if (val.label === 'promState') {
objectInfo.status = val.val
} else if (val.label === 'chartType') {
objectInfo.type = val.val
}
} else { } else {
objectInfo[val.label] = val.val objectInfo[val.label] = val.val
} }
} }
// console.log('search obj', objectInfo) console.log('search obj', objectInfo)
}) })
this.getHeight() this.getHeight()
// 搜索完成后存储在本地历史记录中 // 搜索完成后存储在本地历史记录中
@@ -1326,23 +1440,25 @@ export default {
this.defaultValue != '' ? this.no_condition=this.defaultValue:''; */ this.defaultValue != '' ? this.no_condition=this.defaultValue:''; */
this.restructure_historyDate() this.restructure_historyDate()
setTimeout(() => { setTimeout(() => {
if (this.$route.path == '/Objects_Objects') { if (this.$route.path === '/asset') {
this.schelistget() this.getAssetStateData()
} }
if (this.$route.path == '/agent') { if (this.$route.path === '/agent') {
this.getDcData() this.getDcData()
} }
if (this.$route.path == '/monitor/project' || this.$route.path == '/alertMessage' || this.$route.path == '/alertRule') { if (this.$route.path === '/model') {
this.getAssetData() this.getBrandData()
} }
if (this.$route.path == '/alertMessage') { if (this.$route.path === '/assetLabel') {
this.getGroupData()
}
if (this.$route.path === '/monitor/module') {
this.getProjectData() this.getProjectData()
this.getModuleData()
} }
if (this.$route.path == '/asset') { if (this.$route.path === '/alertRule') {
this.getModelData() this.getSeverityData()
} }
if (this.$route.path == '/exprTemp') { if (this.$route.path === '/exprTemp') {
this.getGnameList() this.getGnameList()
} }
}, 1000) }, 1000)

View File

@@ -51,7 +51,7 @@ const searchSelectInfo = { // value: 传给后台的值label显示给用
label: i18n.t('asset.suspended') label: i18n.t('asset.suspended')
} }
], ],
endpointState: [ // 资产入库/出库状态 endpointState: [
{ {
value: 1, value: 1,
label: 'UP' label: 'UP'
@@ -63,6 +63,15 @@ const searchSelectInfo = { // value: 传给后台的值label显示给用
label: 'SUSPENDED' label: 'SUSPENDED'
} }
], ],
promState: [
{
value: 1,
label: 'UP'
}, {
value: 0,
label: 'DOWN'
}
],
pingStatus: [ pingStatus: [
{ {
value: '0', value: '0',
@@ -73,6 +82,15 @@ const searchSelectInfo = { // value: 传给后台的值label显示给用
label: i18n.t('asset.pingActive') label: i18n.t('asset.pingActive')
} }
], ],
credentialType: [
{
value: 2,
label: 'V2'
}, {
value: 3,
label: 'V3'
}
],
operation: [ operation: [
{ {
value: 'add', value: 'add',
@@ -110,7 +128,6 @@ const searchSelectInfo = { // value: 传给后台的值label显示给用
value: 'logout', value: 'logout',
label: i18n.t('config.operationlog.operations.logout') label: i18n.t('config.operationlog.operations.logout')
} }
], ],
alertMessageState: [ alertMessageState: [
{ {
@@ -142,6 +159,62 @@ const searchSelectInfo = { // value: 传给后台的值label显示给用
label: i18n.t('overall.result.failed') label: i18n.t('overall.result.failed')
} }
], ],
dcState: [
{
value: 'enable',
label: 'Enable'
},
{
value: 'disable',
label: 'Disable'
}
],
varType: [
{ value: '1', label: i18n.t('asset.asset') },
{ value: '2', label: i18n.t('asset.endpoint') }
],
chartType: [
{
value: 'line',
label: i18n.t('dashboard.panel.chartForm.typeVal.line.label')
},
{
value: 'stackArea',
label: i18n.t('dashboard.panel.chartForm.typeVal.stackArea.label')
},
{
value: 'bar',
label: i18n.t('dashboard.panel.chartForm.typeVal.bar.label')
},
{
value: 'singleStat',
label: i18n.t('dashboard.panel.chartForm.typeVal.singleStat.label')
},
{
value: 'pie',
label: i18n.t('dashboard.panel.chartForm.typeVal.pie.label')
},
{
value: 'table',
label: i18n.t('dashboard.panel.chartForm.typeVal.table.label')
},
{
value: 'alertList',
label: i18n.t('dashboard.panel.chartForm.typeVal.alertList.label')
},
{
value: 'text',
label: i18n.t('dashboard.panel.chartForm.typeVal.text.label')
},
{
value: 'url',
label: i18n.t('dashboard.panel.chartForm.typeVal.url.label')
},
{
value: 'group',
label: i18n.t('dashboard.panel.chartForm.typeVal.group.label')
}
],
terminalStatus: [ terminalStatus: [
{ {
value: 0, value: 0,

View File

@@ -106,9 +106,15 @@
fixed="right"> fixed="right">
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div> <div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items"> <div slot-scope="scope" class="table-operation-items">
<button class="table-operation-item" @click="showBottomBox('detail',scope.row)"><i class="nz-icon nz-icon-view1"></i></button> <button class="table-operation-item" @click="$emit('messageDetail', scope.row)"><i class="nz-icon nz-icon-view1"></i></button>
<!-- <button class="table-operation-item" @click="detail(scope.row)"><i class="nz-icon nz-icon-view1"></i></button> --> <el-dropdown size="medium" trigger="hover" @command="tableOperation">
<button class="table-operation-item" @click="toDeleteMessage(scope.row)"><i class="nz-icon nz-icon-delete"></i></button> <div class="table-operation-item table-operation-item--more">
<span></span><i class="nz-icon nz-icon-arrow-down"></i>
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="['delete', scope.row]"><i class="nz-icon nz-icon-delete"></i><span class="operation-dropdown-text">{{$t('overall.delete')}}</span></el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div> </div>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -159,7 +165,7 @@ export default {
width: 80, width: 80,
sortable: 'custom' sortable: 'custom'
}, { }, {
label: this.$t('alert.alertName'), label: this.$t('alert.rule'),
prop: 'alertRule', prop: 'alertRule',
show: true, show: true,
width: 180, width: 180,

View File

@@ -11,7 +11,7 @@
</div> </div>
<div :class="{'top-tool-main-right-to-left': bottomBox.showSubList}" class="top-tool-right"> <div :class="{'top-tool-main-right-to-left': bottomBox.showSubList}" class="top-tool-right">
<div v-if="showLayout.indexOf('searchInput') > -1" class="top-tool-search margin-r-20"> <div v-if="showLayout.indexOf('searchInput') > -1" class="top-tool-search margin-r-20">
<search-input ref="searchInput" :inTransform="bottomBox.inTransform" :searchMsg="searchMsg" @search="search"></search-input> <search-input ref="searchInput" :from="from" :inTransform="bottomBox.inTransform" :searchMsg="searchMsg" @search="search"></search-input>
</div> </div>
<slot name="top-tool-right"></slot> <slot name="top-tool-right"></slot>
<button v-if="showLayout.indexOf('elementSet') > -1" class="top-tool-btn table-column-setting" <button v-if="showLayout.indexOf('elementSet') > -1" class="top-tool-btn table-column-setting"

View File

@@ -114,12 +114,6 @@ export default {
label: this.$t('config.dc.remark'), label: this.$t('config.dc.remark'),
prop: 'remark', prop: 'remark',
show: true show: true
},
{
label: this.$t('config.account.option'),
prop: 'option',
show: true,
width: 120
} }
] ]
} }

View File

@@ -37,7 +37,7 @@
<span v-if="item.prop==='varType'">{{scope.row[item.prop]===1?'Asset':'endpoint'}}</span> <span v-if="item.prop==='varType'">{{scope.row[item.prop]===1?'Asset':'endpoint'}}</span>
<span v-else-if="item.prop==='type'"> <span v-else-if="item.prop==='type'">
<i :class="typeIcon(scope.row)"/> <i :class="typeIcon(scope.row)"/>
{{chartTypeList.find(title=>title.id == scope.row[item.prop]).name}} {{chartTypeList.find(title=>title.value === scope.row[item.prop]).label}}
</span> </span>
<span v-else-if="scope.row[item.prop]">{{scope.row[item.prop] || '-'}}</span> <span v-else-if="scope.row[item.prop]">{{scope.row[item.prop] || '-'}}</span>
<template v-else>-</template> <template v-else>-</template>
@@ -66,81 +66,40 @@
<script> <script>
import table from '@/components/common/mixin/table' import table from '@/components/common/mixin/table'
import { chart as chartConstant } from '@/components/common/js/constants'
export default { export default {
name: 'roleTable', name: 'roleTable',
mixins: [table], mixins: [table],
data () { data () {
return { return {
chartTypeList: chartConstant.type,
tableTitle: [ tableTitle: [
{ {
label: 'ID', label: 'ID',
prop: 'id', prop: 'id',
show: true, show: true,
width: 80, width: 80,
sortable:'custom' sortable: 'custom'
}, { }, {
label: this.$t('config.exprTemp.name'), label: this.$t('config.exprTemp.name'),
prop: 'name', prop: 'name',
show: true, show: true,
sortable:'custom' sortable: 'custom'
}, { }, {
label: this.$t('config.exprTemp.type'), label: this.$t('config.exprTemp.type'),
prop: 'type', prop: 'type',
show: true, show: true,
sortable:'custom' sortable: 'custom'
}, { }, {
label: this.$t('config.exprTemp.varType'), label: this.$t('config.exprTemp.varType'),
prop: 'varType', prop: 'varType',
show: true, show: true,
sortable:'custom' sortable: 'custom'
}, { }, {
label: this.$t('config.exprTemp.remark'), label: this.$t('config.exprTemp.remark'),
prop: 'remark', prop: 'remark',
show: true show: true
} }
],
chartTypeList: [
{
id: 'line',
name: this.$t('dashboard.panel.chartForm.typeVal.line.label')
},
{
id: 'stackArea',
name: this.$t('dashboard.panel.chartForm.typeVal.stackArea.label')
},
{
id: 'bar',
name: this.$t('dashboard.panel.chartForm.typeVal.bar.label')
},
{
id: 'singleStat',
name: this.$t('dashboard.panel.chartForm.typeVal.singleStat.label')
},
{
id: 'pie',
name: this.$t('dashboard.panel.chartForm.typeVal.pie.label')
},
{
id: 'table',
name: this.$t('dashboard.panel.chartForm.typeVal.table.label')
},
{
id: 'alertList',
name: this.$t('dashboard.panel.chartForm.typeVal.alertList.label')
},
{
id: 'text',
name: this.$t('dashboard.panel.chartForm.typeVal.text.label')
},
{
id: 'url',
name: this.$t('dashboard.panel.chartForm.typeVal.url.label')
},
{
id: 'group',
name: this.$t('dashboard.panel.chartForm.typeVal.group.label')
}
] ]
} }
}, },

View File

@@ -22,11 +22,11 @@
<span v-show="$store.state.consoleCount>0" class="right-tip">{{$store.state.consoleCount<=10?$store.state.consoleCount:'10+'}}</span> <span v-show="$store.state.consoleCount>0" class="right-tip">{{$store.state.consoleCount<=10?$store.state.consoleCount:'10+'}}</span>
</div> </div>
</el-dropdown> </el-dropdown>
<el-dropdown> <!-- <el-dropdown>
<el-dropdown-menu></el-dropdown-menu> <el-dropdown-menu></el-dropdown-menu>
<div class="header-menu__item" @click="centerDialogVisible = true"><i class="nz-icon nz-icon-guide"></i></div> <div class="header-menu__item" @click="centerDialogVisible = true"><i class="nz-icon nz-icon-guide"></i></div>
<path-navigation :show.sync="centerDialogVisible"></path-navigation> <path-navigation :show.sync="centerDialogVisible"></path-navigation>
</el-dropdown> </el-dropdown>-->
</div> </div>
<!--个人操作--> <!--个人操作-->
<div class="personal"> <div class="personal">

View File

@@ -78,7 +78,7 @@
</transition> </transition>
<!-- cabinet --> <!-- cabinet -->
<transition name="right-box"> <transition name="right-box">
<cabinet-box v-if="rightBox.cabinet.show" :cabinet="cabinet" ref="cabinetEditBox" @close="closeCabinetBox"></cabinet-box> <cabinet-box v-if="rightBox.cabinet.show" :current-dc="cabinet" :cabinet="cabinet" ref="cabinetEditBox" @close="closeCabinetBox"></cabinet-box>
</transition> </transition>
<!-- agent --> <!-- agent -->
<transition name="right-box"> <transition name="right-box">
@@ -173,7 +173,7 @@
v-if="rightBox.charts.show"></chart-box> v-if="rightBox.charts.show"></chart-box>
</transition> </transition>
<transition name="right-box"> <transition name="right-box">
<alert-rule-box v-if="rightBox.alert.show" ref="alertConfigBox" :alert="alert" @close="closeAlertBox"></alert-rule-box> <alert-rule-box v-if="rightBox.alert.show" :alert-rule="alert" ref="alertConfigBox" :alert="alert" @close="closeAlertBox"></alert-rule-box>
</transition> </transition>
<!--web--> <!--web-->
<el-dropdown> <el-dropdown>
@@ -228,12 +228,10 @@ import axios from 'axios'
export default { export default {
props: { props: {
show: Boolean, show: Boolean,
params: { type: Object },
exportFileName: { type: String }, exportFileName: { type: String },
link: { type: Object }, id: { type: String, default: 'export' },
permissions: { type: Object }, currentDc: { type: Object },
showCur: { type: Boolean, default: true }, alertRule: Object
id: { type: String, default: 'export' }
}, },
components: { components: {
DcBox, DcBox,
@@ -432,9 +430,10 @@ export default {
unit: 2, unit: 2,
operator: '>', operator: '>',
last: 60, last: 60,
severity: 'P2', severityId: '',
summary: '', summary: '',
description: '' description: '',
method: []
}, },
cabinet: { cabinet: {
id: '', id: '',

View File

@@ -12,14 +12,10 @@
:search-msg="searchMsg" :search-msg="searchMsg"
@search="search" @search="search"
> >
<template v-slot:top-tool-left >
<div v-for="(item,ind) in tablist">
<div class="nz-tab-item-box" @click="getTableData(ind)" :index="ind" :key="item.state">
<div class="nz-tab-item" :class="{active:ind==isActive}">{{item.name}}</div>
</div>
</div>
</template>
<template v-slot:top-tool-right> <template v-slot:top-tool-right>
<el-select v-model="state" class="margin-r-10" size="small" value-key="value" @change="getTableData">
<el-option v-for="item in stateOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
<pick-time v-model="searchTime" :default-pick="12" :refresh-data-func="getTableData" :show-empty="true" :use-chart-unit="false" :use-refresh="false"></pick-time> <pick-time v-model="searchTime" :default-pick="12" :refresh-data-func="getTableData" :show-empty="true" :use-chart-unit="false" :use-refresh="false"></pick-time>
<button id="roles-add" v-has="'alertMessage_view'" :title="$t('overall.exportExcelLower')" class="top-tool-btn margin-r-10" <button id="roles-add" v-has="'alertMessage_view'" :title="$t('overall.exportExcelLower')" class="top-tool-btn margin-r-10"
type="button" @click="showExportDialog"> type="button" @click="showExportDialog">
@@ -43,7 +39,7 @@
@reload="getTableData" @reload="getTableData"
@selectionChange="selectionChange" @selectionChange="selectionChange"
@showBottomBox="(targetTab, object) => { $refs.dataList.showBottomBox(targetTab, object) }" @showBottomBox="(targetTab, object) => { $refs.dataList.showBottomBox(targetTab, object) }"
@toDelete="toDeleteMessage"></alert-message-table> @messageDetail="messageDetail"></alert-message-table>
</template> </template>
<!-- 分页组件 --> <!-- 分页组件 -->
<template v-slot:pagination> <template v-slot:pagination>
@@ -110,6 +106,7 @@ import deleteButton from '@/components/common/deleteButton'
import nzDataList from '@/components/common/table/nzDataList' import nzDataList from '@/components/common/table/nzDataList'
import dataListMixin from '@/components/common/mixin/dataList' import dataListMixin from '@/components/common/mixin/dataList'
import chartDataFormat from '@/components/charts/chartDataFormat' import chartDataFormat from '@/components/charts/chartDataFormat'
import { alertMessage as alertMessageConstant } from '@/components/common/js/constants'
export default { export default {
name: 'alertList', name: 'alertList',
components: { components: {
@@ -121,22 +118,8 @@ export default {
mixins: [dataListMixin], mixins: [dataListMixin],
data () { data () {
return { return {
tablist: [ stateOptions: alertMessageConstant.states,
{ state: '1',
state: '1',
name: 'Active'
},
{
state: '2',
name: 'Silebt'
},
{
state: '3',
name: 'Expired'
}
],
isActive: 0,
ind: 0,
url: 'alert/message', url: 'alert/message',
// 导出相关 // 导出相关
importBox: { show: false, title: this.$t('overall.exportExcel') }, importBox: { show: false, title: this.$t('overall.exportExcel') },
@@ -153,69 +136,41 @@ export default {
tableId: 'alertMessageTable', // 需要分页的table的id用于记录每页数量 tableId: 'alertMessageTable', // 需要分页的table的id用于记录每页数量
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
zheze_none: true, searchLabelList: [
searchLabelList: [{ {
id: 1, id: 26,
name: this.$t('alert.alertName'), name: this.$t('alert.list.id'),
type: 'input', type: 'id',
label: 'alertName', label: 'id',
disabled: false
}, /* {
id: 3,
name: this.$t('alert.list.type'),
type: 'select',
label: 'alertType',
disabled: false disabled: false
}, */{ },
id: 20, {
name: this.$t('alert.severity'), name: this.$t('alert.alertRule'),
type: 'selectString', type: 'input',
label: 'severity', label: 'ruleName',
disabled: false disabled: false
}, { }, {
id: 21, name: this.$t('asset.asset'),
name: this.$t('asset.asset'), type: 'input',
type: 'asset', label: 'assetName',
label: 'asset', disabled: false
disabled: false }, {
}, { name: 'Endpoint',
id: 22, type: 'input',
name: this.$t('project.project.project'), label: 'endpointName',
type: 'project', disabled: false
label: 'project', }, {
disabled: false name: this.$t('alert.summary'),
}, { type: 'input',
id: 23, label: 'summary',
name: this.$t('project.module.module'), disabled: false
type: 'module', }, {
label: 'module', name: 'Labels',
disabled: false type: 'input',
}, { label: 'labels',
id: 24, disabled: false
name: this.$t('project.endpoint.endpoint'), }
type: 'input', ]
label: 'endpointId',
disabled: false
}, {
id: 25,
name: this.$t('alert.list.state'),
type: 'select',
label: 'alertMessageState',
disabled: false
}, {
id: 26,
name: this.$t('alert.list.id'),
type: 'id',
label: 'id',
disabled: false
}, {
id: 27,
name: this.$t('config.dc.dc'),
type: 'idc',
label: 'idcId',
disabled: false,
readonly: true
}]
}, },
requestIndex: 0, requestIndex: 0,
viewAssetState: false, viewAssetState: false,
@@ -269,6 +224,10 @@ export default {
this.queryChartDate() this.queryChartDate()
}) })
}, },
messageDetail (row) {
this.currentMsg = { ...row }
this.queryChartDate()
},
queryMessage (alertMessage) { queryMessage (alertMessage) {
if (!this.hasButton('alertMessage_view')) { if (!this.hasButton('alertMessage_view')) {
return return
@@ -382,14 +341,10 @@ export default {
}) })
} }
}, },
getTableData (ind) { getTableData (state) {
if (ind == undefined) { if (state) {
ind = this.ind this.state = state
} else {
this.ind = ind
} }
const ii = ind + 1
this.isActive = ind
this.$set(this.searchLabel, 'pageNo', this.pageObj.pageNo) this.$set(this.searchLabel, 'pageNo', this.pageObj.pageNo)
this.$set(this.searchLabel, 'pageSize', this.pageObj.pageSize) this.$set(this.searchLabel, 'pageSize', this.pageObj.pageSize)
if (this.searchTime && this.searchTime.length > 1) { if (this.searchTime && this.searchTime.length > 1) {
@@ -400,16 +355,16 @@ export default {
delete this.searchLabel.endAt delete this.searchLabel.endAt
} }
this.tools.loading = true this.tools.loading = true
if (ind === 0 || ind === 1 || ind === 2) { if (state) {
delete this.searchLabel.startAt delete this.searchLabel.startAt
delete this.searchLabel.endAt delete this.searchLabel.endAt
} }
this.$get(this.url + '?state=' + ii, this.searchLabel).then(response => { this.$get(this.url + '?state=' + this.state, this.searchLabel).then(response => {
this.tools.loading = false this.tools.loading = false
if (response.code == 200) { if (response.code == 200) {
this.nowTime = this.utcTimeToTimezoneStr(response.time) this.nowTime = this.utcTimeToTimezoneStr(response.time)
this.tableData = response.data.list this.tableData = response.data.list
const axiosAll = [] /* const axiosAll = []
this.$nextTick(() => { this.$nextTick(() => {
this.tableData.forEach((item) => { this.tableData.forEach((item) => {
item.labels = JSON.parse(item.labels) item.labels = JSON.parse(item.labels)
@@ -439,7 +394,7 @@ export default {
}) })
this.$set(this.tableData, [...this.tableData]) this.$set(this.tableData, [...this.tableData])
}) })
}) }) */
this.deleteBox.ids = '' this.deleteBox.ids = ''
this.pageObj.total = response.data.total this.pageObj.total = response.data.total
} }

View File

@@ -95,18 +95,18 @@ export default {
id: 1, id: 1,
name: 'ID', name: 'ID',
type: 'input', type: 'input',
label: 'id', label: 'ids',
disabled: false disabled: false
}, { }, {
id: 2, id: 2,
name: this.$t('alert.alertName'), name: this.$t('alert.alertName'),
type: 'input', type: 'input',
label: 'alertName', label: 'name',
disabled: false disabled: false
}, { }, {
id: 4, id: 4,
name: this.$t('alert.severity'), name: this.$t('alert.severity'),
type: 'selectString', type: 'severity',
label: 'severity', label: 'severity',
disabled: false disabled: false
}] }]

View File

@@ -82,34 +82,14 @@ export default {
zheze_none: true, zheze_none: true,
searchLabelList: [ searchLabelList: [
{ {
id: 11, name: 'ID',
name: this.$t('alert.silence.datacenter'),
type: 'input', type: 'input',
label: 'datacenter', label: 'ids',
disabled: false disabled: false
}, { }, {
id: 12, name: this.$t('alert.silence.matchers'),
name: this.$t('alert.silence.project'),
type: 'input', type: 'input',
label: 'project', label: 'matchers ',
disabled: false
}, {
id: 13,
name: this.$t('alert.silence.module'),
type: 'input',
label: 'module',
disabled: false
}, {
id: 14,
name: this.$t('alert.silence.endpoint'),
type: 'input',
label: 'endpoint',
disabled: false
}, {
id: 15,
name: this.$t('alert.silence.asset'),
type: 'input',
label: 'asset ',
disabled: false disabled: false
} }
] ]

View File

@@ -143,42 +143,30 @@ export default {
}, },
tableId: 'assetTable', // 需要分页的table的id用于记录每页数量 tableId: 'assetTable', // 需要分页的table的id用于记录每页数量
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
zheze_none: true,
searchLabelList: [{ searchLabelList: [{
id: 1,
name: 'ID', name: 'ID',
type: 'input', type: 'input',
label: 'id', label: 'ids',
disabled: false
}, {
name: 'Name',
type: 'input',
label: 'name',
disabled: false disabled: false
}, { }, {
id: 20,
name: 'SN', name: 'SN',
type: 'input', type: 'input',
label: 'sn', label: 'sn',
disabled: false disabled: false
}, { }, {
id: 21, name: 'IP',
name: 'Host',
type: 'input', type: 'input',
label: 'host', label: 'manageIp',
disabled: false disabled: false
}, { }, {
id: 22,
name: this.$t('asset.state'), name: this.$t('asset.state'),
type: 'select', type: 'assetState',
label: 'assetState', label: 'stateIds',
disabled: false
}, {
id: 23,
name: 'pingStatus',
type: 'select',
label: 'pingStatus',
disabled: false
}, {
id: 23,
name: this.$t('asset.cabinet'),
type: 'input',
label: 'cabinetName',
disabled: false disabled: false
}] }]
}, },

View File

@@ -134,34 +134,24 @@ export default {
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
zheze_none: true, zheze_none: true,
searchLabelList: [{ searchLabelList: [{
id: 1,
name: 'ID', name: 'ID',
type: 'input', type: 'input',
label: 'id', label: 'ids',
disabled: false disabled: false
}, { }, {
id: 5,
name: this.$t('config.agent.dataCenter'), name: this.$t('config.agent.dataCenter'),
type: 'dc', type: 'dc',
label: 'dc', label: 'dc',
disabled: false disabled: false
}, { }, {
id: 6,
name: this.$t('config.agent.type'), name: this.$t('config.agent.type'),
type: 'select', type: 'select',
label: 'promType', label: 'promType',
disabled: false disabled: false
}, { }, {
id: 8, name: this.$t('state.state'),
name: this.$t('project.endpoint.host'), type: 'select',
type: 'input', label: 'promState',
label: 'host',
disabled: false
}, {
id: 9,
name: this.$t('project.endpoint.port'),
type: 'input',
label: 'port',
disabled: false disabled: false
}] }]
}, },

View File

@@ -108,17 +108,25 @@ export default {
zheze_none: true, zheze_none: true,
searchLabelList: [ searchLabelList: [
{ {
id: 11,
name: 'Id', name: 'Id',
type: 'input', type: 'input',
label: 'id', label: 'ids',
disabled: false disabled: false
}, { }, {
id: 12, name: 'Name',
name: this.$t('config.assetLabel.name'),
type: 'input', type: 'input',
label: 'name', label: 'name',
disabled: false disabled: false
}, {
name: 'Key',
type: 'input',
label: 'key',
disabled: false
}, {
name: 'Group',
type: 'group',
label: 'group',
disabled: false
} }
] ]
}, },

View File

@@ -73,8 +73,12 @@ export default {
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
zheze_none: true, zheze_none: true,
searchLabelList: [{ searchLabelList: [{
id: 10, name: 'ID',
name: this.$t('config.assetType.type'), type: 'input',
label: 'ids',
disabled: false
}, {
name: 'Name',
type: 'input', type: 'input',
label: 'name', label: 'name',
disabled: false disabled: false

View File

@@ -47,13 +47,12 @@
</template> </template>
</nz-data-list> </nz-data-list>
<transition name="right-box"> <transition name="right-box">
<snmp-credential-box :credential="object" v-if="rightBox.show" ref="credentialBox" @close="closeRightBox" @reload="getTableData"></snmp-credential-box> <snmp-credential-box :credential="object" v-if="rightBox.show" ref="credentialBox" @close="closeSnmpBox" @reload="getTableData"></snmp-credential-box>
</transition> </transition>
</div> </div>
</template> </template>
<script> <script>
import mibBrowser from './mibBrowser'
import deleteButton from '@/components/common/deleteButton' import deleteButton from '@/components/common/deleteButton'
import nzDataList from '@/components/common/table/nzDataList' import nzDataList from '@/components/common/table/nzDataList'
import dataListMixin from '@/components/common/mixin/dataList' import dataListMixin from '@/components/common/mixin/dataList'
@@ -88,22 +87,19 @@ export default {
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
zheze_none: true, zheze_none: true,
searchLabelList: [{ searchLabelList: [{
id: 1,
name: 'ID', name: 'ID',
type: 'input', type: 'input',
label: 'id', label: 'id',
disabled: false disabled: false
}, { }, {
id: 5,
name: this.$t('overall.name'), name: this.$t('overall.name'),
type: 'input', type: 'input',
label: 'name', label: 'name',
disabled: false disabled: false
}, { }, {
id: 6,
name: 'Type', name: 'Type',
type: 'input', type: 'select',
label: 'types', label: 'credentialType',
disabled: false disabled: false
}] }]
} }

View File

@@ -83,13 +83,32 @@ export default {
}, },
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
zheze_none: true, zheze_none: true,
searchLabelList: [{ searchLabelList: [
id: 10, {
name: this.$t('overall.name'), name: 'ID',
type: 'input', type: 'input',
label: 'name', label: 'ids',
disabled: false disabled: false
}] },
{
name: this.$t('overall.name'),
type: 'input',
label: 'name',
disabled: false
},
{
name: this.$t('asset.location'),
type: 'input',
label: 'location',
disabled: false
},
{
name: this.$t('asset.state'),
type: 'selectString',
label: 'dcState',
disabled: false
}
]
}, },
regNum: /^[0-9]+.?[0-9]*/, regNum: /^[0-9]+.?[0-9]*/,
tabShow: 1, // 控制显示一级页面和二级页面 1 dc 2cabinet tabShow: 1, // 控制显示一级页面和二级页面 1 dc 2cabinet

View File

@@ -67,13 +67,21 @@ export default {
}, },
tableId: 'modelTable', tableId: 'modelTable',
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
zheze_none: true,
searchLabelList: [{ searchLabelList: [{
id: 10, name: 'ID',
name: this.$t('config.model.model'), type: 'input',
label: 'ids',
disabled: false
}, {
name: 'Name',
type: 'input', type: 'input',
label: 'name', label: 'name',
disabled: false disabled: false
}, {
name: this.$t('asset.brand'),
type: 'brand',
label: 'brandIds',
disabled: false
}] }]
} }
} }

View File

@@ -90,20 +90,30 @@ export default {
tableId: 'chartTemp', tableId: 'chartTemp',
/* 搜素相关 */ /* 搜素相关 */
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
zheze_none: true,
searchLabelList: [ searchLabelList: [
{ {
id: 11, name: 'ID',
name: 'Id',
type: 'input', type: 'input',
label: 'id', label: 'ids',
disabled: false disabled: false
}, { },
id: 12, {
name: this.$t('config.exprTemp.name'), name: this.$t('overall.name'),
type: 'input', type: 'input',
label: 'name', label: 'name',
disabled: false disabled: false
},
{
name: this.$t('overall.type'),
type: 'selectString',
label: 'chartType',
disabled: false
},
{
name: this.$t('dashboard.panel.chartForm.varType'),
type: 'select',
label: 'varType',
disabled: false
} }
] ]
}, },

View File

@@ -107,21 +107,18 @@ export default {
zheze_none: true, zheze_none: true,
searchLabelList: [ searchLabelList: [
{ {
id: 11,
name: 'Id', name: 'Id',
type: 'input', type: 'input',
label: 'id', label: 'ids',
disabled: false disabled: false
}, { }, {
id: 12,
name: this.$t('config.exprTemp.name'), name: this.$t('config.exprTemp.name'),
type: 'input', type: 'input',
label: 'name', label: 'name',
disabled: false disabled: false
}, { }, {
id: 13,
name: this.$t('config.exprTemp.gname'), name: this.$t('config.exprTemp.gname'),
type: 'selectTemp', type: 'input',
label: 'gname', label: 'gname',
disabled: false disabled: false
} }

View File

@@ -154,16 +154,31 @@ export default {
panelData: [], panelData: [],
panelDataDragTmp: [], panelDataDragTmp: [],
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
zheze_none: true,
searchLabelList: [ searchLabelList: [
/* {
{ name: 'ID',
id: 1, type: 'input',
name: this.$t("dashboard.panel.searchItem.name"), label: 'ids',
type: 'input', disabled: false
label: 'name', },
disabled: false {
} */ name: this.$t('overall.name'),
type: 'input',
label: 'name',
disabled: false
},
{
name: this.$t('overall.type'),
type: 'selectString',
label: 'chartType',
disabled: false
},
{
name: this.$t('dashboard.panel.chartForm.varType'),
type: 'select',
label: 'varType',
disabled: false
}
] ]
}, },
searchLabel: {}, // 搜索参数 searchLabel: {}, // 搜索参数

View File

@@ -111,46 +111,26 @@ export default {
dataListLayout: ['searchInput', 'elementSet'], dataListLayout: ['searchInput', 'elementSet'],
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
zheze_none: true, zheze_none: true,
searchLabelList: [{ searchLabelList: [
id: 11, {
name: 'project id', id: 13,
type: 'input', name: 'ID',
label: 'projectIds', type: 'input',
disabled: false label: 'ids',
}, { disabled: false
id: 12, }, {
name: 'endpoint name', name: 'Name',
type: 'input', type: 'input',
label: 'name', label: 'name',
disabled: false disabled: false
}, },
{ {
id: 13, name: this.$t('asset.asset'),
name: 'endpoint id', type: 'input',
type: 'input', label: 'assetName',
label: 'id', disabled: false
disabled: false }
}, { ]
id: 14,
name: this.$t('asset.asset'),
type: 'query',
label: 'query',
disabled: false
}, {
id: 34,
name: this.$t('project.project.project'),
// name: this.$t('asset.asset'),
type: 'input',
label: 'projectName',
disabled: false
}, {
id: 35,
name: this.$t('project.module.module'),
// name: this.$t('asset.asset'),
type: 'input',
label: 'moduleName',
disabled: false
}]
}, },
roles: [], roles: [],
rightBox: { rightBox: {

View File

@@ -119,27 +119,25 @@ export default {
queryPermission: 'account_view', queryPermission: 'account_view',
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
zheze_none: true, zheze_none: true,
searchLabelList: [{ searchLabelList: [
id: 10, {
name: 'module name', name: 'ID',
type: 'input', type: 'input',
label: 'name', label: 'ids',
disabled: false disabled: false
}, }, {
{ name: 'Name',
id: 11, type: 'input',
name: 'project id', label: 'name',
type: 'input', disabled: false
label: 'projectIds', },
disabled: false {
}, name: 'Project name',
{ type: 'project',
id: 12, label: 'projectIds',
name: 'module id', disabled: false
type: 'input', }
label: 'ids', ]
disabled: false
}]
} }
} }
}, },

View File

@@ -706,342 +706,3 @@ export default {
} }
} }
</script> </script>
<style scoped lang="scss">
.project {
height: 100%;
background: #f6f6f6;
}
/* .content-right-option {
cursor: pointer;
display: inline-block;
margin-right: 6px;
}
.content-right-option .nz-icon-delete {
color: #F98D9A;
}
.content-right-option .nz-icon-delete:hover {
color: #D96D7A;
}
.content-right-option .nz-icon-view {
color: #60BEFF;
}
.content-right-option .nz-icon-view:hover {
color: #409EFF;
}*/
/* start--param*/
.param-btn {
float: right;
height: 27px;
margin-top: -3px;
}
.param-btn-active {
background-color: #656565;
color: white;
border: 1px solid #656565;
}
.param-btn-active:hover, .param-btn-active:focus {
background-color: #656565;
color: white;
}
.param-btn-clear {
background-color: #D4D4D4;
border: 1px solid #D4D4D4;
color: white;
}
.param-btn-clear:hover, .param-btn-clear:focus {
background-color: #D4D4D4;
color: white;
}
.param-box {
border: 1px solid #DCDFE6;
border-radius: 4px;
padding: 0 10px;
}
.param-box-endpoint {
height: 325px;
}
.param-box-module {
height: 227px;
}
.param-box-row {
padding: 7px 0 0 0;
position: relative;
}
.param-box-row:last-of-type {
padding-bottom: 7px;
}
.param-box-row-key, .param-box-row-value {
display: inline-block;
width: 41.5%;
}
.param-box-row-eq {
display: inline-block;
width: 22px;
text-align: center;
height: 32px;
line-height: 32px;
color: #c4c7cF;
}
.param-box-row-symbol {
font-size: 12px;
color: #c4c7cF;
border: 1px solid #c4c7cF;
text-align: center;
height: 12px;
width: 14px;
display: inline-block;
position: absolute;
top: 17px;
right: 25px;
cursor: pointer;
}
.param-box-row-symbol > i {
position: absolute;
top: 1px;
right: 1px;
}
/* end--param*/
/* begin--子弹框*/
.right-sub-box {
width: 380px;
height: 520px;
position: absolute;
top: 380px;
right: 100px;
z-index: 2;
padding: 0 10px;
}
.right-sub-box .el-input-group {
width: 227px;
float: right;
margin: 7px 0 0 0;
}
/* begin--搜索框*/
.endpoint-asset-prepend {
border-radius: 4px 0 0 4px;
}
.endpoint-asset-label {
line-height: 26px;
height: 26px;
}
.endpoint-asset-dropdown {
position: absolute;
top: 27px;
background-color: #656565;
border-radius: 4px;
width: 52px;
left: 0;
}
.endpoint-asset-dropdown-item {
text-align: center;
line-height: 22px;
height: 22px;
cursor: default;
}
.endpoint-asset-label-txt {
display: inline-block;
width: 19px;
text-align: center;
}
.endpoint-asset-dropdown-item:first-of-type {
border-radius: 4px 4px 0 0;
}
.endpoint-asset-dropdown-item:last-of-type {
border-radius: 0 0 4px 4px;
}
.endpoint-asset-dropdown-item:hover {
background-color: #3a8ee6;
}
/* end--搜索框*/
/* begin--table*/
.endpoint-sub-table {
margin-top: 25px;
}
.line-100 {
margin-bottom: 3px;
}
.endpoint-sub-table-head {
line-height: 28px;
height: 30px;
}
.endpoint-sub-table-row {
line-height: 28px;
height: 30px;
color: #656565;
}
.endpoint-sub-table-row-active {
background-color: #dadada;
}
.endpoint-sub-table-col {
display: inline-block;
width: 45%;
padding-left: 10px;
}
.endpoint-sub-table-paginate-all {
position: absolute;
left: 10px;
bottom: 17px;
color: #5a5a5a;
}
.endpoint-sub-table-body {
font-size: 15px;
}
/* end--table*/
/* end--子弹框*/
.item-tip-hide {
display: none;
position: absolute;
bottom: 34px;
min-width: 50px;
white-space: normal;
}
.item-tip:hover > .item-tip-show {
display: block;
}
</style>
<style>
/* begin--覆盖分页组件样式*/
.right-sub-box .el-pagination.is-background .btn-next, .right-sub-box .el-pagination.is-background .btn-prev, .right-sub-box .el-pagination.is-background .el-pager li {
margin: 0 3px;
min-width: 25px;
}
.right-sub-box .el-pagination button, .right-sub-box .el-pagination span:not([class*=suffix]) {
margin: 0 3px;
height: 25px;
line-height: 25px;
}
.right-sub-box .el-pager li {
height: 25px;
line-height: 25px;
}
.right-sub-box .el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #656565;
border: 1px solid #656565;
}
.right-sub-box .el-pagination.is-background .btn-next, .right-sub-box .el-pagination.is-background .btn-prev, .right-sub-box .el-pagination.is-background .el-pager li {
background-color: white;
}
.right-sub-box .el-pagination button, .right-sub-box .el-pager li {
border: 1px solid #DADADA;
}
.right-sub-box .el-pager li.active + li {
border: 1px solid #DADADA;
}
.right-sub-box .el-pagination.is-background .el-pager li:not(.disabled):hover {
color: black;
}
.right-sub-box .el-pagination.is-background .el-pager li.active:hover {
color: white;
}
.endpoint-sub-table-paginate .el-pagination {
position: absolute;
right: 10px;
bottom: 13px;
}
.el-input-group__append > i {
cursor: pointer;
}
.el-table .disabledCheck .cell .el-checkbox__inner {
display: none !important;
}
.el-table .disabledCheck .cell::before {
/*content: '\e627';*/
/*font-family: 'nz-icon';*/
text-align: center;
line-height: 37px;
}
/* end--覆盖分页组件样式*/
/* 列表搜索框 样式重写*/
.relative-position {
position: relative;
}
.query-input-inactive {
left: 213px;
width: 18%;
}
.query-input-inactive .el-input__inner {
height: 26px;
line-height: 26px;
}
.metric-tip-icon {
vertical-align: middle;
transform: scale(0.6);
display: inline-block;
}
.metirc-tip-list {
line-height: 26px;
font-weight: bold;
}
.table-header-inner {
position: absolute;
z-index: 1;
top: 38px;
left: 11px;
cursor: pointer;
}
.control-icon-unchecked {
color: #d1d1d1;
}
.control-icon-checked {
color: #666;
}
</style>

View File

@@ -75,20 +75,20 @@ export default {
queryPermission: 'account_view', queryPermission: 'account_view',
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
zheze_none: true, zheze_none: true,
searchLabelList: [{ searchLabelList: [
id: 10, {
name: 'Project name', name: 'Id',
type: 'input', type: 'input',
label: 'name', label: 'ids',
disabled: false disabled: false
}, },
{ {
id: 10, name: 'Name',
name: 'Project id', type: 'input',
type: 'input', label: 'name',
label: 'ids', disabled: false
disabled: false }
}] ]
}, },
roles: [] roles: []
} }

View File

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