From acc919b0e7a86c44e0665d6b6adc176da5cafd3e Mon Sep 17 00:00:00 2001 From: feng <1304903146@qq.com> Date: Thu, 24 Nov 2022 21:15:18 +0800 Subject: [PATCH] perf: gateway --- .../DomainDetail/GatewayCreateUpdate.vue | 38 +++--- .../components/ProtocolSelector/index.vue | 116 ++++++++++++++++++ 2 files changed, 138 insertions(+), 16 deletions(-) create mode 100644 src/views/assets/Domain/components/ProtocolSelector/index.vue diff --git a/src/views/assets/Domain/DomainDetail/GatewayCreateUpdate.vue b/src/views/assets/Domain/DomainDetail/GatewayCreateUpdate.vue index ede129f7a..a1a173928 100644 --- a/src/views/assets/Domain/DomainDetail/GatewayCreateUpdate.vue +++ b/src/views/assets/Domain/DomainDetail/GatewayCreateUpdate.vue @@ -6,6 +6,7 @@ import GenericCreateUpdatePage from '@/layout/components/GenericCreateUpdatePage' import { Select2, UploadKey } from '@/components' import { UpdateToken } from '@/components/FormFields' +import ProtocolSelector from '../components/ProtocolSelector' export default { name: 'GatewayCreateUpdate', @@ -13,23 +14,17 @@ export default { data() { return { initial: { - protocol: 'ssh', - port: 22, - domain: this.$route.query.domain, - is_active: true + is_active: true, + protocols: '', + domain: this.$route.query.domain }, fields: [ - [this.$t('common.Basic'), ['name', 'ip', 'port', 'protocol', 'domain']], + [this.$t('common.Basic'), ['name', 'address']], + [this.$t('assets.Network'), ['domain', 'protocols']], [this.$t('assets.Auth'), ['username', 'password', 'private_key', 'passphrase']], [this.$t('common.Other'), ['is_active', 'comment']] ], fieldsMeta: { - ip: { - type: 'input', - el: { - type: 'input' - } - }, domain: { component: Select2, el: { @@ -40,17 +35,25 @@ export default { multiple: false } }, - protocol: { - helpText: this.$t('assets.GatewayProtocolHelpText') + protocols: { + component: ProtocolSelector, + el: { + }, + hidden: (form) => { + const fieldsMeta = this.fieldsMeta + if (form['protocols']) { + fieldsMeta['protocols'].el.choices = form['protocols'] + } + } }, password: { component: UpdateToken }, - is_active: { - type: 'switch' - }, private_key: { component: UploadKey + }, + is_active: { + type: 'switch' } }, updateSuccessNextRoute: { @@ -87,6 +90,9 @@ export default { } } }, + mounted() { + console.log('---', this.object) + }, methods: { } } diff --git a/src/views/assets/Domain/components/ProtocolSelector/index.vue b/src/views/assets/Domain/components/ProtocolSelector/index.vue new file mode 100644 index 000000000..9d7216042 --- /dev/null +++ b/src/views/assets/Domain/components/ProtocolSelector/index.vue @@ -0,0 +1,116 @@ + + + +