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 @@
+
+
+
+
+
+