From d0b4b488b1dcbfb853eda0039653ac5a809acb5c Mon Sep 17 00:00:00 2001 From: ibuler Date: Fri, 7 Apr 2023 11:32:33 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=AF=B9=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E8=B5=84=E4=BA=A7=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/AccountListTable/AccountList.vue | 4 ++-- src/i18n/langs/zh.json | 1 + .../accounts/Account/AccountDetail/Detail.vue | 6 +++--- .../AssetCreateUpdate/BaseAssetCreateUpdate.vue | 7 ++++++- .../AssetCreateUpdate/CustomCreateUpdate.vue | 8 ++------ src/views/assets/Asset/AssetDetail/Detail.vue | 8 ++++---- src/views/assets/Asset/AssetList/HostList.vue | 6 +++--- src/views/assets/Asset/AssetList/WebList.vue | 2 +- .../Asset/AssetList/components/BaseList.vue | 15 ++++++++++----- .../assets/Domain/DomainDetail/GatewayList.vue | 2 +- src/views/assets/Platform/PlatformList.vue | 4 +--- 11 files changed, 34 insertions(+), 29 deletions(-) diff --git a/src/components/AccountListTable/AccountList.vue b/src/components/AccountListTable/AccountList.vue index e20e2c5f4..720f23268 100644 --- a/src/components/AccountListTable/AccountList.vue +++ b/src/components/AccountListTable/AccountList.vue @@ -244,8 +244,8 @@ export default { can: ({ row }) => !this.$store.getters.currentOrgIsRoot && this.$hasPerm('accounts.change_account') && - row.asset['auto_info'].ansible_enabled && - row.asset['auto_info'].ping_enabled, + row.asset['auto_config'].ansible_enabled && + row.asset['auto_config'].ping_enabled, callback: ({ row }) => { this.$axios.post( `/api/v1/accounts/accounts/tasks/`, diff --git a/src/i18n/langs/zh.json b/src/i18n/langs/zh.json index 4636c180b..48b398425 100644 --- a/src/i18n/langs/zh.json +++ b/src/i18n/langs/zh.json @@ -208,6 +208,7 @@ }, "assets": { "CustomHelpMessage": "自定义类型资产,需要 Applet 插件的支持", + "CustomFields": "自定义属性", "CommentHelpText": "注意:备注信息会在 Luna 页面的用户授权资产树中进行悬停显示,普通用户可以查看,请不要填写敏感信息。", "BulkUpdatePlatformHelpText": "只修改相同类型的资产", "ImportMessage": "请前往对应类型的页面导入数据", diff --git a/src/views/accounts/Account/AccountDetail/Detail.vue b/src/views/accounts/Account/AccountDetail/Detail.vue index 4bf641b6f..88c3719c7 100644 --- a/src/views/accounts/Account/AccountDetail/Detail.vue +++ b/src/views/accounts/Account/AccountDetail/Detail.vue @@ -85,8 +85,8 @@ export default { label: this.$t('assets.Test'), disabled: ( !vm.$hasPerm('accounts.verify_account') || - !vm.object.asset.auto_info?.ansible_enabled || - !vm.object.asset.auto_info?.ping_enabled || + !vm.object.asset.auto_config?.ansible_enabled || + !vm.object.asset.auto_config?.ping_enabled || this.$store.getters.currentOrgIsRoot ) }, @@ -111,7 +111,7 @@ export default { label: this.$t('assets.Push'), disabled: ( !vm.$hasPerm('accounts.push_account') || - !vm.object.asset.auto_info?.push_account_enabled || + !vm.object.asset.auto_config?.push_account_enabled || this.$store.getters.currentOrgIsRoot ) }, diff --git a/src/views/assets/Asset/AssetCreateUpdate/BaseAssetCreateUpdate.vue b/src/views/assets/Asset/AssetCreateUpdate/BaseAssetCreateUpdate.vue index a608140c1..7ab001995 100644 --- a/src/views/assets/Asset/AssetCreateUpdate/BaseAssetCreateUpdate.vue +++ b/src/views/assets/Asset/AssetCreateUpdate/BaseAssetCreateUpdate.vue @@ -6,6 +6,7 @@ import GenericCreateUpdatePage from '@/layout/components/GenericCreateUpdatePage' import { assetFieldsMeta } from '@/views/assets/const' import { encryptPassword } from '@/utils/crypto' +import { setUrlParam } from '@/utils/common' export default { components: { GenericCreateUpdatePage }, @@ -98,7 +99,11 @@ export default { }, computed: { iConfig() { - const { url, addFields, addFieldsMeta, defaultConfig } = this + const { addFields, addFieldsMeta, defaultConfig } = this + let url = this.url + if (this.$route.query.platform) { + url = setUrlParam(url, 'platform', this.$route.query.platform) + } // 过滤类型为:null, undefined 的元素 defaultConfig.fields = defaultConfig.fields.filter(Boolean) const config = _.merge(defaultConfig, { url }) diff --git a/src/views/assets/Asset/AssetCreateUpdate/CustomCreateUpdate.vue b/src/views/assets/Asset/AssetCreateUpdate/CustomCreateUpdate.vue index d05e946a0..13ec0d43f 100644 --- a/src/views/assets/Asset/AssetCreateUpdate/CustomCreateUpdate.vue +++ b/src/views/assets/Asset/AssetCreateUpdate/CustomCreateUpdate.vue @@ -12,20 +12,16 @@ export default { return { url: '/api/v1/assets/customs/', addFields: [ - [this.$t('assets.Secure'), ['info'], 1] + [this.$t('assets.CustomFields'), ['custom_info'], 1] ], addFieldsMeta: { - info: { + custom_info: { fields: '__all__' } } } }, mounted() { - const platform = this.$route.query.platform - if (platform) { - this.url += `?platform=${platform}` - } } } diff --git a/src/views/assets/Asset/AssetDetail/Detail.vue b/src/views/assets/Asset/AssetDetail/Detail.vue index 688948887..d25763753 100644 --- a/src/views/assets/Asset/AssetDetail/Detail.vue +++ b/src/views/assets/Asset/AssetDetail/Detail.vue @@ -72,8 +72,8 @@ export default { type: 'primary', label: this.$t('assets.Refresh'), disabled: !vm.$hasPerm('assets.refresh_assethardwareinfo') || - !this.object['auto_info'].gather_facts_enabled || - !this.object['auto_info'].ansible_enabled || + !this.object['auto_config'].gather_facts_enabled || + !this.object['auto_config'].ansible_enabled || this.$store.getters.currentOrgIsRoot }, callbacks: { @@ -94,8 +94,8 @@ export default { type: 'primary', label: this.$t('assets.Test'), disabled: !vm.$hasPerm('assets.test_assetconnectivity') || - !this.object['auto_info'].ansible_enabled || - !this.object['auto_info']['ping_enabled'] || + !this.object['auto_config'].ansible_enabled || + !this.object['auto_config']['ping_enabled'] || this.$store.getters.currentOrgIsRoot }, callbacks: { diff --git a/src/views/assets/Asset/AssetList/HostList.vue b/src/views/assets/Asset/AssetList/HostList.vue index 6159e64be..460fa3353 100644 --- a/src/views/assets/Asset/AssetList/HostList.vue +++ b/src/views/assets/Asset/AssetList/HostList.vue @@ -2,8 +2,8 @@
@@ -58,8 +58,8 @@ export default { can: ({ row }) => this.$hasPerm('assets.test_assetconnectivity') && !this.$store.getters.currentOrgIsRoot && - row['auto_info'].ansible_enabled && - row['auto_info'].ping_enabled, + row['auto_config'].ansible_enabled && + row['auto_config'].ping_enabled, callback: ({ row }) => { if (row.platform.name === 'Gateway') { this.GatewayVisible = true diff --git a/src/views/assets/Asset/AssetList/WebList.vue b/src/views/assets/Asset/AssetList/WebList.vue index 14e0d7608..b6d1572d7 100644 --- a/src/views/assets/Asset/AssetList/WebList.vue +++ b/src/views/assets/Asset/AssetList/WebList.vue @@ -20,7 +20,7 @@ export default { tableConfig: { columnsExclude: [ 'username_selector', 'password_selector', 'submit_selector', - 'script', 'spec_info', 'info', 'auto_info' + 'script', 'spec_info', 'info', 'auto_config' ], columnsMeta: { autofill: { diff --git a/src/views/assets/Asset/AssetList/components/BaseList.vue b/src/views/assets/Asset/AssetList/components/BaseList.vue index c297f94b0..af34b0e73 100644 --- a/src/views/assets/Asset/AssetList/components/BaseList.vue +++ b/src/views/assets/Asset/AssetList/components/BaseList.vue @@ -7,9 +7,9 @@ import { ListTable } from '@/components' import { - ActionsFormatter, ArrayFormatter, ChoicesFormatter, DetailFormatter, ProtocolsFormatter, TagsFormatter + ActionsFormatter, + ArrayFormatter, + ChoicesFormatter, + DetailFormatter, + ProtocolsFormatter, + TagsFormatter } from '@/components/TableFormatters' import AssetBulkUpdateDialog from './AssetBulkUpdateDialog' import { connectivityMeta } from '@/components/AccountListTable/const' @@ -114,7 +119,7 @@ export default { ...extraQuery, ...this.extraQuery }, - columnsExclude: ['spec_info', 'auto_info'], + columnsExclude: ['spec_info', 'auto_config'], columnsShow: { min: ['name', 'address', 'actions'], default: [ @@ -177,8 +182,8 @@ export default { can: ({ row }) => this.$hasPerm('assets.test_assetconnectivity') && !this.$store.getters.currentOrgIsRoot && - row['auto_info'].ansible_enabled && - row['auto_info'].ping_enabled, + row['auto_config'].ansible_enabled && + row['auto_config'].ping_enabled, callback: ({ row }) => { if (row.platform.name === 'Gateway') { this.GatewayVisible = true diff --git a/src/views/assets/Domain/DomainDetail/GatewayList.vue b/src/views/assets/Domain/DomainDetail/GatewayList.vue index 755defde4..40936bf71 100644 --- a/src/views/assets/Domain/DomainDetail/GatewayList.vue +++ b/src/views/assets/Domain/DomainDetail/GatewayList.vue @@ -37,7 +37,7 @@ export default { tableConfig: { url: `/api/v1/assets/gateways/?domain=${this.$route.params.id}`, columnsExclude: [ - 'info', 'spec_info', 'auto_info' + 'info', 'spec_info', 'auto_config' ], columnsShow: { min: ['name', 'actions'], diff --git a/src/views/assets/Platform/PlatformList.vue b/src/views/assets/Platform/PlatformList.vue index 4f4c5e6de..94537e5e5 100644 --- a/src/views/assets/Platform/PlatformList.vue +++ b/src/views/assets/Platform/PlatformList.vue @@ -6,7 +6,7 @@ @tab-click="changeMoreCreates" > - + @@ -87,8 +87,6 @@ export default { }, headerActions: { hasRightActions: true, - hasMoreActions: false, - hasBulkDelete: false, createRoute: 'PlatformCreate', canCreate: () => { return this.$hasPerm('assets.add_platform')