From 7b6ccf3f30baea2f98380dde9a334cac410af836 Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 26 Oct 2022 16:04:38 +0800 Subject: [PATCH] =?UTF-8?q?pref:=20=E4=BF=AE=E6=94=B9=20dialog=20=E5=B8=83?= =?UTF-8?q?=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/AutoDataTable/index.vue | 7 +- src/components/Dialog/index.vue | 22 ++++- .../ListTable/TableAction/ImportDialog.vue | 16 ++-- src/i18n/langs/zh.json | 8 ++ src/router/settings/index.js | 32 +++++++ src/router/workbench/index.js | 42 -------- .../components/AssetAccounts.vue | 71 +++++++------- src/views/assets/Platform/const.js | 4 +- src/views/myapps/DatabaseApp.vue | 96 ------------------- src/views/myapps/KubernetesApp.vue | 96 ------------------- src/views/myapps/RemoteApp.vue | 95 ------------------ src/views/settings/Applet/AppletHosts.vue | 14 +++ .../Applet/Applets/AppletCreateUpdate.vue | 34 +++++++ .../settings/Applet/Applets/AppletList.vue | 60 ++++++++++++ .../settings/Applet/Applets/UploadDialog.vue | 72 ++++++++++++++ src/views/settings/Applet/index.vue | 40 ++++++++ 16 files changed, 328 insertions(+), 381 deletions(-) delete mode 100644 src/views/myapps/DatabaseApp.vue delete mode 100644 src/views/myapps/KubernetesApp.vue delete mode 100644 src/views/myapps/RemoteApp.vue create mode 100644 src/views/settings/Applet/AppletHosts.vue create mode 100644 src/views/settings/Applet/Applets/AppletCreateUpdate.vue create mode 100644 src/views/settings/Applet/Applets/AppletList.vue create mode 100644 src/views/settings/Applet/Applets/UploadDialog.vue create mode 100644 src/views/settings/Applet/index.vue diff --git a/src/components/AutoDataTable/index.vue b/src/components/AutoDataTable/index.vue index 2d3ef2e76..0ca6faf40 100644 --- a/src/components/AutoDataTable/index.vue +++ b/src/components/AutoDataTable/index.vue @@ -27,7 +27,8 @@ import { DisplayFormatter, ActionsFormatter, ChoicesFormatter, - ObjectRelatedFormatter + ObjectRelatedFormatter, + ChoicesDisplayFormatter } from '@/components/TableFormatters' import i18n from '@/i18n/i18n' import ColumnSettingPopover from './components/ColumnSettingPopover' @@ -136,6 +137,10 @@ export default { col.sortable = 'custom' col.formatter = DisplayFormatter break + case 'labeled_choice': + col.sortable = 'custom' + col.formatter = ChoicesDisplayFormatter + break case 'boolean': col.formatter = ChoicesFormatter col.align = 'center' diff --git a/src/components/Dialog/index.vue b/src/components/Dialog/index.vue index ad9667a61..796fab487 100644 --- a/src/components/Dialog/index.vue +++ b/src/components/Dialog/index.vue @@ -83,12 +83,24 @@ export default { diff --git a/src/components/ListTable/TableAction/ImportDialog.vue b/src/components/ListTable/TableAction/ImportDialog.vue index d1e8d2fb3..b2d9110a4 100644 --- a/src/components/ListTable/TableAction/ImportDialog.vue +++ b/src/components/ListTable/TableAction/ImportDialog.vue @@ -5,14 +5,14 @@ :destroy-on-close="true" :close-on-click-modal="false" :loading-status="loadStatus" - width="80%" + width="60%" class="importDialog" :show-cancel="false" :show-confirm="false" @close="handleImportCancel" > - - + + {{ this.$t('common.Create') }} @@ -27,7 +27,7 @@ - +
{{ $t('common.imExport.dragUploadFileInfo') }}
- {{ $t('common.imExport.uploadCsvLth10MHelpText') }} + + {{ $t('common.imExport.uploadCsvLth10MHelpText') }} +
{{ renderError }}
@@ -243,10 +245,6 @@ export default { overflow: auto } - .importDialog >>> .el-form-item.file-uploader { - padding-right: 150px; - } - .file-uploader >>> .el-upload { width: 100%; //padding-right: 150px; diff --git a/src/i18n/langs/zh.json b/src/i18n/langs/zh.json index 7f799c172..13e23a0b7 100644 --- a/src/i18n/langs/zh.json +++ b/src/i18n/langs/zh.json @@ -408,6 +408,7 @@ "Update": "更新", "Revise": "修改", "Upload": "上传", + "OfflineUpload": "离线上传", "Clone": "克隆", "Username": "用户名", "Validity": "有效", @@ -705,6 +706,7 @@ }, "route": { "": "", + "AppletCreate": "创建远程应用", "CreateEndpoint": "创建端点", "UpdateEndpoint": "更新端点", "CreateEndpointRule": "创建端点规则", @@ -885,6 +887,11 @@ "rbac": { "Permissions": "权限" }, + "terminal": { + "Applets": "远程应用", + "AppletHosts": "应用发布机", + "uploadZipTips": "请上传zip格式的文件" + }, "sessions": { "SetToDefaultStorage": "设置为默认存储", "SetToDefault": "设为默认", @@ -966,6 +973,7 @@ } }, "setting": { + "Applets": "远程应用", "EndpointListHelpMessage": "服务端点是用户访问服务的地址(端口),当用户在连接资产时,会根据端点规则和资产标签选择服务端点,作为访问入口建立连接,实现分布式连接资产", "EndpointRuleListHelpMessage": "对于服务端点选择策略,目前支持两种:
1、根据端点规则指定端点(当前页面);
2、通过资产标签选择端点,标签名固定是 endpoint,值是端点的名称。
两种方式优先使用标签匹配,因为 IP 段可能冲突,标签方式是作为规则的补充存在的。", "EnableKoKoSSHHelpText": "开启时连接资产会显示 SSH Client 拉起方式", diff --git a/src/router/settings/index.js b/src/router/settings/index.js index ac9de5c95..527e1dd97 100644 --- a/src/router/settings/index.js +++ b/src/router/settings/index.js @@ -199,6 +199,38 @@ export default { } ] }, + { + path: '/settings/applets', + component: empty, + redirect: '', + meta: { + title: i18n.t('setting.Applets'), + app: 'terminal', + permissions: ['settings.change_terminal'] + }, + children: [ + { + path: '', + name: 'Applets', + component: () => import('@/views/settings/Applet'), + meta: { + title: i18n.t('setting.Applets'), + icon: 'tasks', + permissions: ['settings.change_terminal'] + } + }, + { + path: 'create', + name: 'AppletCreate', + component: () => import('@/views/settings/Applet/Applets/AppletCreateUpdate'), + meta: { + title: i18n.t('route.AppletCreate'), + permissions: ['settings.change_terminal'] + }, + hidden: true + } + ] + }, { path: '/settings/security', name: 'Security', diff --git a/src/router/workbench/index.js b/src/router/workbench/index.js index 8c21a50b2..e4d64545d 100644 --- a/src/router/workbench/index.js +++ b/src/router/workbench/index.js @@ -42,48 +42,6 @@ export default { permissions: ['perms.view_myassets'] } }, - { - path: '/workbench/apps', - name: 'Apps', - component: empty, - redirect: 'remoteapp', - alwaysShow: true, - meta: { - title: i18n.t('route.MyApps'), - icon: 'th', - permissions: ['perms.view_myapps'] - }, - children: [ - { - path: 'remote-apps', - name: 'MyRemoteApps', - component: () => import('@/views/myapps/RemoteApp'), - meta: { - title: i18n.t('route.RemoteApp'), - permissions: [], - licenseRequired: true - } - }, - { - path: 'databases', - name: 'MyDatabases', - component: () => import('@/views/myapps/DatabaseApp'), - meta: { - title: i18n.t('route.DatabaseApp'), - permissions: [] - } - }, - { - path: 'kubernetes', - name: 'MyKubernetes', - component: () => import('@/views/myapps/KubernetesApp'), - meta: { - title: i18n.t('route.KubernetesApp'), - permissions: [] - } - } - ] - }, { path: '/workbench/ops', component: empty, diff --git a/src/views/assets/Asset/AssetCreateUpdate/components/AssetAccounts.vue b/src/views/assets/Asset/AssetCreateUpdate/components/AssetAccounts.vue index 5ee5b786c..c1985b6d7 100644 --- a/src/views/assets/Asset/AssetCreateUpdate/components/AssetAccounts.vue +++ b/src/views/assets/Asset/AssetCreateUpdate/components/AssetAccounts.vue @@ -1,36 +1,37 @@ @@ -61,11 +62,11 @@ export default { }, data() { return { - addAccountDialogVisible: false, - templateDialogVisible: false, accounts: [], account: {}, - initial: false + initial: false, + addAccountDialogVisible: false, + templateDialogVisible: false } }, watch: { @@ -91,7 +92,7 @@ export default { onEditClick(account) { this.account = account setTimeout(() => { - this.visible = true + this.addAccountDialogVisible = true }) }, onAddClick() { diff --git a/src/views/assets/Platform/const.js b/src/views/assets/Platform/const.js index 9149897a2..3110405a9 100644 --- a/src/views/assets/Platform/const.js +++ b/src/views/assets/Platform/const.js @@ -14,7 +14,7 @@ export const platformFieldsMeta = (vm) => { 'ansible_enabled', 'ansible_config', 'ping_enabled', 'ping_method', 'gather_facts_enabled', 'gather_facts_method', - 'create_account_enabled', 'create_account_method', + 'push_account_enabled', 'push_account_method', 'change_secret_enabled', 'change_secret_method', 'verify_account_enabled', 'verify_account_method' ], @@ -25,7 +25,7 @@ export const platformFieldsMeta = (vm) => { }, ping_method: {}, gather_facts_method: {}, - create_account_method: {}, + push_account_method: {}, change_secret_method: {}, verify_account_method: {} } diff --git a/src/views/myapps/DatabaseApp.vue b/src/views/myapps/DatabaseApp.vue deleted file mode 100644 index 9998dbb52..000000000 --- a/src/views/myapps/DatabaseApp.vue +++ /dev/null @@ -1,96 +0,0 @@ - - - - - diff --git a/src/views/myapps/KubernetesApp.vue b/src/views/myapps/KubernetesApp.vue deleted file mode 100644 index d59db2a62..000000000 --- a/src/views/myapps/KubernetesApp.vue +++ /dev/null @@ -1,96 +0,0 @@ - - - - - diff --git a/src/views/myapps/RemoteApp.vue b/src/views/myapps/RemoteApp.vue deleted file mode 100644 index 381ccf65b..000000000 --- a/src/views/myapps/RemoteApp.vue +++ /dev/null @@ -1,95 +0,0 @@ - - - - - diff --git a/src/views/settings/Applet/AppletHosts.vue b/src/views/settings/Applet/AppletHosts.vue new file mode 100644 index 000000000..62cb080dc --- /dev/null +++ b/src/views/settings/Applet/AppletHosts.vue @@ -0,0 +1,14 @@ + + + + + diff --git a/src/views/settings/Applet/Applets/AppletCreateUpdate.vue b/src/views/settings/Applet/Applets/AppletCreateUpdate.vue new file mode 100644 index 000000000..654101260 --- /dev/null +++ b/src/views/settings/Applet/Applets/AppletCreateUpdate.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/views/settings/Applet/Applets/AppletList.vue b/src/views/settings/Applet/Applets/AppletList.vue new file mode 100644 index 000000000..5764a0751 --- /dev/null +++ b/src/views/settings/Applet/Applets/AppletList.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/src/views/settings/Applet/Applets/UploadDialog.vue b/src/views/settings/Applet/Applets/UploadDialog.vue new file mode 100644 index 000000000..95e77dfb7 --- /dev/null +++ b/src/views/settings/Applet/Applets/UploadDialog.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/views/settings/Applet/index.vue b/src/views/settings/Applet/index.vue new file mode 100644 index 000000000..4a8f15f73 --- /dev/null +++ b/src/views/settings/Applet/index.vue @@ -0,0 +1,40 @@ + + + + +