perf: 修改 base model

This commit is contained in:
ibuler
2022-05-05 16:17:35 +08:00
parent d7f7650e3a
commit 36bb2cf62f
4 changed files with 36 additions and 12 deletions

View File

@@ -118,7 +118,7 @@ export default {
return { name: proto[0], port: proto[1] }
})
const protocolsNames = this.protocols.map(item => item.name)
items = items.filter(item => protocolsNames[item.name])
items = items.filter(item => protocolsNames.indexOf(item.name) > -1)
}
if (items.length === 0) {
items.push({ ...this.protocols[0] })

View File

@@ -496,3 +496,8 @@ a {
.el-input-group__append, .el-input-group__prepend {
color: $--color-primary
}
.el-input.is-disabled .el-input__inner {
color: $--color-text-primary;
cursor: not-allowed;
}

View File

@@ -12,17 +12,8 @@ export default {
GenericCreateUpdatePage
},
data() {
const nodesInitial = []
if (this.$route.query['node']) {
nodesInitial.push(this.$route.query.node)
}
return {
initial: {
is_active: true,
platform: 'Linux',
protocols: ['ssh/22'],
nodes: nodesInitial
},
initial: {},
fields: [
[this.$t('common.Basic'), ['hostname', 'ip', 'platform', 'public_ip', 'domain']],
[this.$t('assets.Protocols'), ['protocols']],
@@ -36,6 +27,32 @@ export default {
createSuccessNextRoute: { name: 'AssetDetail' },
hasDetailInMsg: false
}
},
mounted() {
this.setPlatformInitial()
},
methods: {
async setPlatformInitial() {
const nodesInitial = []
if (this.$route.query['node']) {
nodesInitial.push(this.$route.query.node)
}
const platformId = this.$route.query['platform'] || 1
const url = `/api/v1/assets/platforms/${platformId}/`
this.platform = await this.$axios.get(url)
const initial = {
is_active: true,
platform: parseInt(platformId),
protocols: this.platform.protocols_default || ['ssh/22'],
nodes: nodesInitial,
domain: this.platform['domain_default'],
admin_user: this.platform['admin_user_default']
}
const limits = this.platform['type_limits']
this.fieldsMeta.protocols.el.choices = limits['protocols_limit']
this.initial = initial
this.loading = false
}
}
}
</script>

View File

@@ -48,9 +48,11 @@ export default {
platform: parseInt(platformId),
protocols: this.platform.protocols_default || ['ssh/22'],
nodes: nodesInitial,
domain: this.platform['domain_default'],
admin_user: this.platform['admin_user_default']
}
this.fieldsMeta.protocols.el.choices = this.platform
const limits = this.platform['type_limits']
this.fieldsMeta.protocols.el.choices = limits['protocols_limit']
this.initial = initial
this.loading = false
}