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: [ editTypeOptions: [
{ value: 1, label: i18n.t('overall.account') }, { 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: 3, label: i18n.t('asset.state') },
{ value: 4, label: i18n.t('asset.snmpCredential') } { value: 4, label: i18n.t('asset.snmpCredential') }
], ],

View File

@@ -283,45 +283,51 @@ export default {
selectedData: [], selectedData: [],
searchLabel: {}, searchLabel: {},
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
searchLabelList: [ searchLabelList: [{
{ id: 'ids',
id: 1, name: 'ID',
name: 'ID', type: 'input',
type: 'input', label: 'ids',
label: 'id', disabled: false
disabled: false }, {
}, { name: this.$t('overall.name'),
id: 20, type: 'input',
name: this.$t('asset.sn'), label: 'name',
type: 'input', id: 'name',
label: 'sn', disabled: false
disabled: false }, {
}, { name: 'SN',
id: 21, type: 'input',
name: this.$t('webshell.host'), label: 'sn',
type: 'input', id: 'sn',
label: 'manageIp', disabled: false
disabled: false }, {
}, { name: this.$t('dashboard.overview.dataCenter.dataCenter'),
id: 22, type: 'dc',
name: this.$t('asset.state'), label: 'dcIds',
type: 'select', readonly: true,
label: 'assetState', disabled: false
disabled: false }, {
}, { name: 'IP',
id: 23, type: 'input',
name: this.$t('asset.pingStatus'), label: 'manageIp',
type: 'select', id: 'manageIp',
label: 'pingStatus', disabled: false
disabled: false }, {
}, { name: this.$t('asset.state'),
id: 23, type: 'assetState',
name: this.$t('asset.cabinet'), label: 'stateIds',
type: 'input', id: 'stateIds',
label: 'cabinetName', readonly: true,
disabled: false disabled: false
} }, {
] name: this.$t('asset.type'),
type: 'assetType',
label: 'assetType',
id: 'typeIds',
readonly: true,
disabled: false
}]
}, },
tableTitle: [ 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> <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> </ul>
</div> </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"> <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;"> <el-scrollbar v-if="brandSelect.length > 8" class="el-scrollbar-small" style="height: 240px;">
<ul> <ul>
@@ -316,7 +326,8 @@ export default {
selectInfo: false, selectInfo: false,
disabaled: true, disabaled: true,
downBool: false, downBool: false,
where: this.$route.path where: this.$route.path,
assetTypeTree: []
} }
}, },
watch: { watch: {
@@ -509,6 +520,10 @@ export default {
val.val = selectItem.name val.val = selectItem.name
val.valnum = selectItem.id val.valnum = selectItem.id
val.valString = '' 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') { } else if (val.type === 'brand' && selectItem.searchType === 'brand') {
val.val = selectItem.name val.val = selectItem.name
val.valnum = selectItem.id 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 () { getBrandData () {
this.$get('asset/brand', { pageNo: 1, pageSize: -1 }).then(response => { this.$get('asset/brand', { pageNo: 1, pageSize: -1 }).then(response => {
if (response.code === 200) { if (response.code === 200) {
@@ -869,6 +894,8 @@ export default {
objectInfo.type = val.valnum objectInfo.type = val.valnum
} else if (val.label === 'assetState') { } else if (val.label === 'assetState') {
objectInfo.state = val.valnum objectInfo.state = val.valnum
} else if (val.label === 'assetType') {
objectInfo.typeIds = val.valnum
} else if (val.label === 'credentialType') { } else if (val.label === 'credentialType') {
objectInfo.types = val.valnum objectInfo.types = val.valnum
} else if (val.label === 'promState') { } else if (val.label === 'promState') {
@@ -902,8 +929,11 @@ export default {
objectInfo.moduleId = val.valnum objectInfo.moduleId = val.valnum
} else if (val.type === 'project') { } else if (val.type === 'project') {
objectInfo.projectIds = val.valnum objectInfo.projectIds = val.valnum
} else if (val.type === 'assetState') { } else if (val.label === 'assetState') {
objectInfo.stateIds = val.valnum console.log(val)
objectInfo.state = val.valnum
} else if (val.label === 'assetType') {
objectInfo.typeIds = val.valnum
} else if (val.type === 'brand') { } else if (val.type === 'brand') {
objectInfo.brandIds = val.valnum objectInfo.brandIds = val.valnum
} else if (val.type === 'group') { } else if (val.type === 'group') {
@@ -1467,6 +1497,7 @@ export default {
setTimeout(() => { setTimeout(() => {
if (this.$route.path === '/asset' || this.targetTab === 'asset') { if (this.$route.path === '/asset' || this.targetTab === 'asset') {
this.getAssetStateData() this.getAssetStateData()
this.getAssetTypeData()
} }
if (this.$route.path === '/agent' || this.$route.path === '/ipam') { if (this.$route.path === '/agent' || this.$route.path === '/ipam') {
this.getDcData() this.getDcData()