fix: asset批量搜素 搜索条件变更

This commit is contained in:
zhangyu
2022-06-01 14:37:59 +08:00
parent b762506cd5
commit e140d74073
3 changed files with 80 additions and 43 deletions

View File

@@ -156,7 +156,7 @@ export const asset = {
},
editTypeOptions: [
{ value: 1, label: i18n.t('overall.account') },
{ value: 2, label: 'Label' },
{ value: 2, label: i18n.t('overall.labels') },
{ value: 3, label: i18n.t('asset.state') },
{ value: 4, label: i18n.t('asset.snmpCredential') }
],

View File

@@ -283,45 +283,51 @@ export default {
selectedData: [],
searchLabel: {},
searchMsg: { // 给搜索框子组件传递的信息
searchLabelList: [
{
id: 1,
searchLabelList: [{
id: 'ids',
name: 'ID',
type: 'input',
label: 'id',
label: 'ids',
disabled: false
}, {
id: 20,
name: this.$t('asset.sn'),
name: this.$t('overall.name'),
type: 'input',
label: 'name',
id: 'name',
disabled: false
}, {
name: 'SN',
type: 'input',
label: 'sn',
id: 'sn',
disabled: false
}, {
id: 21,
name: this.$t('webshell.host'),
name: this.$t('dashboard.overview.dataCenter.dataCenter'),
type: 'dc',
label: 'dcIds',
readonly: true,
disabled: false
}, {
name: 'IP',
type: 'input',
label: 'manageIp',
id: 'manageIp',
disabled: false
}, {
id: 22,
name: this.$t('asset.state'),
type: 'select',
label: 'assetState',
type: 'assetState',
label: 'stateIds',
id: 'stateIds',
readonly: true,
disabled: false
}, {
id: 23,
name: this.$t('asset.pingStatus'),
type: 'select',
label: 'pingStatus',
name: this.$t('asset.type'),
type: 'assetType',
label: 'assetType',
id: 'typeIds',
readonly: true,
disabled: false
}, {
id: 23,
name: this.$t('asset.cabinet'),
type: 'input',
label: 'cabinetName',
disabled: false
}
]
}]
},
tableTitle: [
{

View File

@@ -100,6 +100,16 @@
<li v-for="(item,key) in assetStateSelect" :key="key" :class="search_select_style_num==key?'search-style-ind':''" @click="selectObject(val, item, $event)">{{$t(item.name)}}</li>
</ul>
</div>
<div v-if="val.type === 'assetType'" :style="'top:' + selectDom.top +'; left:'+selectDom.left" class="select_info_list">
<el-scrollbar v-if="assetTypeTree.length > 8" class="el-scrollbar-small" style="height: 240px;">
<ul>
<li v-for="(item,key) in assetTypeTree" :key="key" :class="search_select_style_num==key?'search-style-ind':''" @click="selectObject(val, item, $event)">{{$t(item.name)}}</li>
</ul>
</el-scrollbar>
<ul v-else>
<li v-for="(item,key) in assetTypeTree" :key="key" :class="search_select_style_num==key?'search-style-ind':''" @click="selectObject(val, item, $event)">{{$t(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>
@@ -316,7 +326,8 @@ export default {
selectInfo: false,
disabaled: true,
downBool: false,
where: this.$route.path
where: this.$route.path,
assetTypeTree: []
}
},
watch: {
@@ -509,6 +520,10 @@ export default {
val.val = selectItem.name
val.valnum = selectItem.id
val.valString = ''
} else if (val.type == 'assetType' && selectItem.searchType == 'assetType') {
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
@@ -613,6 +628,16 @@ export default {
}
})
},
getAssetTypeData () {
this.$get('asset/typeConf/tree').then(response => {
if (response.code === 200) {
this.assetTypeTree = response.data.list
this.assetTypeTree.forEach((item, index) => {
this.$set(item, 'searchType', 'assetType')
})
}
})
},
getBrandData () {
this.$get('asset/brand', { pageNo: 1, pageSize: -1 }).then(response => {
if (response.code === 200) {
@@ -869,6 +894,8 @@ export default {
objectInfo.type = val.valnum
} else if (val.label === 'assetState') {
objectInfo.state = val.valnum
} else if (val.label === 'assetType') {
objectInfo.typeIds = val.valnum
} else if (val.label === 'credentialType') {
objectInfo.types = val.valnum
} else if (val.label === 'promState') {
@@ -902,8 +929,11 @@ export default {
objectInfo.moduleId = val.valnum
} else if (val.type === 'project') {
objectInfo.projectIds = val.valnum
} else if (val.type === 'assetState') {
objectInfo.stateIds = val.valnum
} else if (val.label === 'assetState') {
console.log(val)
objectInfo.state = val.valnum
} else if (val.label === 'assetType') {
objectInfo.typeIds = val.valnum
} else if (val.type === 'brand') {
objectInfo.brandIds = val.valnum
} else if (val.type === 'group') {
@@ -1467,6 +1497,7 @@ export default {
setTimeout(() => {
if (this.$route.path === '/asset' || this.targetTab === 'asset') {
this.getAssetStateData()
this.getAssetTypeData()
}
if (this.$route.path === '/agent' || this.$route.path === '/ipam') {
this.getDcData()