From ad02a57c0a5177d1951a0ea913136504d30ee32e Mon Sep 17 00:00:00 2001 From: zhaojisen <1301338853@qq.com> Date: Fri, 7 Mar 2025 11:17:17 +0800 Subject: [PATCH 01/10] Fixed: Fix the issue of missing fields in the command storage page form --- .../AccountTemplate/Detail/Account.vue | 29 ++++++++++++------- .../assets/Asset/AssetDetail/PermUser.vue | 11 +++++-- src/views/settings/Storage/CommandStorage.vue | 19 +++++------- src/views/settings/Storage/ReplayStorage.vue | 14 ++++----- src/views/settings/Storage/index.vue | 4 --- 5 files changed, 41 insertions(+), 36 deletions(-) diff --git a/src/views/accounts/AccountTemplate/Detail/Account.vue b/src/views/accounts/AccountTemplate/Detail/Account.vue index cc656721e..bc2d5c6e2 100644 --- a/src/views/accounts/AccountTemplate/Detail/Account.vue +++ b/src/views/accounts/AccountTemplate/Detail/Account.vue @@ -76,21 +76,28 @@ export default { name: { formatter: DetailFormatter, formatterArgs: { - route: 'AssetAccountDetail', - can: vm.$hasPerm('accounts.view_account') + drawer: true, + can: vm.$hasPerm('accounts.view_account'), + getRoute: ({ row }) => { + return { + name: 'AssetAccountDetail', + params: { id: row.id } + } + } } }, asset: { label: this.$t('Asset'), - formatter: function(row) { - const to = { - name: 'AssetDetail', - params: { id: row.asset.id } - } - if (vm.$hasPerm('assets.view_asset')) { - return {row.asset.name} - } else { - return {row.asset.name} + formatter: DetailFormatter, + formatterArgs: { + drawer: true, + can: vm.$hasPerm('assets.view_asset'), + getTitle: ({ row }) => row.asset.name, + getRoute: ({ row }) => { + return { + name: 'AssetDetail', + params: { id: row.asset.id } + } } } }, diff --git a/src/views/assets/Asset/AssetDetail/PermUser.vue b/src/views/assets/Asset/AssetDetail/PermUser.vue index a46faab30..036e39495 100644 --- a/src/views/assets/Asset/AssetDetail/PermUser.vue +++ b/src/views/assets/Asset/AssetDetail/PermUser.vue @@ -50,9 +50,16 @@ export default { }, columnsMeta: { name: { - formatter: vm.$hasPerm('users.view_user') ? DetailFormatter : '', + formatter: DetailFormatter, formatterArgs: { - route: 'UserDetail' + drawer: true, + can: vm.$hasPerm('users.view_user'), + getRoute: ({ row }) => { + return { + name: 'UserDetail', + params: { id: row.id } + } + } } }, source: { diff --git a/src/views/settings/Storage/CommandStorage.vue b/src/views/settings/Storage/CommandStorage.vue index b06330dc7..d217bfb8c 100644 --- a/src/views/settings/Storage/CommandStorage.vue +++ b/src/views/settings/Storage/CommandStorage.vue @@ -1,5 +1,10 @@ - + - - diff --git a/src/views/settings/Storage/ReplayStorage.vue b/src/views/settings/Storage/ReplayStorage.vue index a8bd7c051..dac75064b 100644 --- a/src/views/settings/Storage/ReplayStorage.vue +++ b/src/views/settings/Storage/ReplayStorage.vue @@ -1,5 +1,10 @@ - + - - From a106b5e199c4943263dc00318e55fa9e57031b80 Mon Sep 17 00:00:00 2001 From: zhaojisen <1301338853@qq.com> Date: Fri, 7 Mar 2025 14:42:39 +0800 Subject: [PATCH 02/10] Fixed: Fix: Applications related to Drawer in the component settings page --- .../Component/TerminalDetail/index.vue | 7 +---- .../Terminal/Component/TerminalList.vue | 27 ++++++++++++++++--- .../Terminal/Endpoint/EndpointList.vue | 14 +++++----- .../EndpointRule/EndpointRuleList.vue | 14 +++++----- 4 files changed, 40 insertions(+), 22 deletions(-) diff --git a/src/views/settings/Terminal/Component/TerminalDetail/index.vue b/src/views/settings/Terminal/Component/TerminalDetail/index.vue index 2e42788ea..0177e3988 100644 --- a/src/views/settings/Terminal/Component/TerminalDetail/index.vue +++ b/src/views/settings/Terminal/Component/TerminalDetail/index.vue @@ -38,8 +38,7 @@ export default { actions: { canUpdate: this.$hasPerm('terminal.change_terminal'), hasDelete: this.$hasPerm('terminal.delete_terminal'), - canDelete: this.$hasPerm('terminal.delete_terminal'), - detailApiUrl: `/api/v1/terminal/terminals/${this.$route.params.id}/` + canDelete: this.$hasPerm('terminal.delete_terminal') }, titlePrefix: this.$t('TerminalDetail') } @@ -49,7 +48,3 @@ export default { } } - - diff --git a/src/views/settings/Terminal/Component/TerminalList.vue b/src/views/settings/Terminal/Component/TerminalList.vue index c18b1cd3e..a7448a61f 100644 --- a/src/views/settings/Terminal/Component/TerminalList.vue +++ b/src/views/settings/Terminal/Component/TerminalList.vue @@ -1,6 +1,12 @@ - + - - diff --git a/src/views/settings/Terminal/EndpointRule/EndpointRuleList.vue b/src/views/settings/Terminal/EndpointRule/EndpointRuleList.vue index 6865be016..d30185080 100644 --- a/src/views/settings/Terminal/EndpointRule/EndpointRuleList.vue +++ b/src/views/settings/Terminal/EndpointRule/EndpointRuleList.vue @@ -1,12 +1,17 @@ - + - - From 29ed35f94ffcfe01237ed6ce7b96a982acbb2ba7 Mon Sep 17 00:00:00 2001 From: zhaojisen <1301338853@qq.com> Date: Fri, 7 Mar 2025 15:26:02 +0800 Subject: [PATCH 03/10] Fixed: Fix the Drawer issue in the remote applications page --- .../Applet/AppProvider/AppProviderList.vue | 1 - .../Applet/AppletDetail/AppletHosts.vue | 14 +++++---- .../Applet/Applet/AppletDetail/index.vue | 6 ---- .../AppletHost/AppletHostCreateUpdate.vue | 4 --- .../AppletHost/AppletHostDetail/Applets.vue | 10 +++--- .../Applet/AppletHost/AppletHostList.vue | 31 +++++-------------- src/views/settings/Applet/index.vue | 4 --- 7 files changed, 19 insertions(+), 51 deletions(-) diff --git a/src/views/settings/Applet/AppProvider/AppProviderList.vue b/src/views/settings/Applet/AppProvider/AppProviderList.vue index 61a61102e..f88b50ae8 100644 --- a/src/views/settings/Applet/AppProvider/AppProviderList.vue +++ b/src/views/settings/Applet/AppProvider/AppProviderList.vue @@ -78,5 +78,4 @@ export default { .App-Provider ::v-deep .protocol { margin-left: 3px; } - diff --git a/src/views/settings/Applet/Applet/AppletDetail/AppletHosts.vue b/src/views/settings/Applet/Applet/AppletDetail/AppletHosts.vue index 705d356d6..b046c0847 100644 --- a/src/views/settings/Applet/Applet/AppletDetail/AppletHosts.vue +++ b/src/views/settings/Applet/Applet/AppletDetail/AppletHosts.vue @@ -1,10 +1,14 @@ - + - - - diff --git a/src/views/settings/Applet/Applet/AppletDetail/index.vue b/src/views/settings/Applet/Applet/AppletDetail/index.vue index bf2f0ccdb..31a81d084 100644 --- a/src/views/settings/Applet/Applet/AppletDetail/index.vue +++ b/src/views/settings/Applet/Applet/AppletDetail/index.vue @@ -52,12 +52,6 @@ export default { titlePrefix: this.$tc('AppletDetail') } } - }, - mounted() { } } - - diff --git a/src/views/settings/Applet/AppletHost/AppletHostCreateUpdate.vue b/src/views/settings/Applet/AppletHost/AppletHostCreateUpdate.vue index 8d0e0370f..23088d782 100644 --- a/src/views/settings/Applet/AppletHost/AppletHostCreateUpdate.vue +++ b/src/views/settings/Applet/AppletHost/AppletHostCreateUpdate.vue @@ -85,7 +85,3 @@ export default { methods: {} } - - diff --git a/src/views/settings/Applet/AppletHost/AppletHostDetail/Applets.vue b/src/views/settings/Applet/AppletHost/AppletHostDetail/Applets.vue index da0d1ef26..633cd06a5 100644 --- a/src/views/settings/Applet/AppletHost/AppletHostDetail/Applets.vue +++ b/src/views/settings/Applet/AppletHost/AppletHostDetail/Applets.vue @@ -1,7 +1,7 @@ - + @@ -10,7 +10,7 @@ - - diff --git a/src/views/settings/Applet/AppletHost/AppletHostList.vue b/src/views/settings/Applet/AppletHost/AppletHostList.vue index bea9fc5aa..993352945 100644 --- a/src/views/settings/Applet/AppletHost/AppletHostList.vue +++ b/src/views/settings/Applet/AppletHost/AppletHostList.vue @@ -3,7 +3,11 @@ - + @@ -18,27 +22,9 @@ export default { ListTable }, data() { - const vm = this - const onAction = (row, action) => { - let routeAction = action - if (action === 'Clone') { - routeAction = 'Create' - } - const routeName = 'AppletHost' + routeAction - const route = { - name: routeName, - params: {}, - query: {} - } - if (action === 'Clone') { - route.query.clone_from = row.id - } else if (action === 'Update') { - route.params.id = row.id - route.query.platform = row.platform.id - } - vm.$router.push(route) - } return { + createDrawer: () => import('./AppletHostCreateUpdate.vue'), + detailDrawer: () => import('./AppletHostDetail/index.vue'), tableConfig: { url: '/api/v1/terminal/applet-hosts/', columnsExclude: ['info', 'auto_config', 'gathered_info', 'deploy_options'], @@ -76,8 +62,6 @@ export default { }, actions: { formatterArgs: { - onUpdate: ({ row }) => onAction(row, 'Update'), - onClone: ({ row }) => onAction(row, 'Clone'), performDelete: ({ row }) => { const id = row.id const url = `/api/v1/terminal/applet-hosts/${id}/` @@ -117,5 +101,4 @@ export default { .applet-host ::v-deep .protocol { margin-left: 3px; } - diff --git a/src/views/settings/Applet/index.vue b/src/views/settings/Applet/index.vue index 3da9ecf77..328805a99 100644 --- a/src/views/settings/Applet/index.vue +++ b/src/views/settings/Applet/index.vue @@ -56,7 +56,3 @@ export default { } } - - From 858cfbec27cb394bb28d0917b7d0cbc6456d332a Mon Sep 17 00:00:00 2001 From: zhaojisen <1301338853@qq.com> Date: Fri, 7 Mar 2025 16:07:29 +0800 Subject: [PATCH 04/10] Fixed: Fix the issue where the execution list name remains unchanged after the execution task name changes --- .../AccountBackup/Executions/AccountBackupExecutionList.vue | 4 ++-- .../Executions/AccountChangeSecretExecutionList.vue | 6 +++--- src/views/accounts/AccountDiscover/TaskExecutionList.vue | 4 ++-- src/views/accounts/AccountPush/AccountPushExecutionList.vue | 6 +++--- src/views/accounts/RiskDetect/AccountCheckExecutionList.vue | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/views/accounts/AccountBackup/Executions/AccountBackupExecutionList.vue b/src/views/accounts/AccountBackup/Executions/AccountBackupExecutionList.vue index a37039d0a..14a416d5e 100644 --- a/src/views/accounts/AccountBackup/Executions/AccountBackupExecutionList.vue +++ b/src/views/accounts/AccountBackup/Executions/AccountBackupExecutionList.vue @@ -61,10 +61,10 @@ export default { formatter: DetailFormatter, formatterArgs: { drawer: true, - getTitle: ({ row }) => row.snapshot.name, + getTitle: ({ row }) => row.automation.name, getRoute: ({ row }) => ({ name: 'AccountBackupDetail', - params: { id: row.automation } + params: { id: row.automation.id } }) }, id: ({ row }) => row.automation diff --git a/src/views/accounts/AccountChangeSecret/Executions/AccountChangeSecretExecutionList.vue b/src/views/accounts/AccountChangeSecret/Executions/AccountChangeSecretExecutionList.vue index 2e5a3f3ca..f5fbd761b 100644 --- a/src/views/accounts/AccountChangeSecret/Executions/AccountChangeSecretExecutionList.vue +++ b/src/views/accounts/AccountChangeSecret/Executions/AccountChangeSecretExecutionList.vue @@ -55,12 +55,12 @@ export default { formatterArgs: { drawer: true, getDrawerTitle({ row }) { - return row.snapshot.name + return row.automation.name }, - getTitle: ({ row }) => row.snapshot.name, + getTitle: ({ row }) => row.automation.name, getRoute: ({ row }) => ({ name: 'AccountChangeSecretDetail', - params: { id: row.automation } + params: { id: row.automation.id } }) }, id: ({ row }) => row.automation diff --git a/src/views/accounts/AccountDiscover/TaskExecutionList.vue b/src/views/accounts/AccountDiscover/TaskExecutionList.vue index 43e18ddf8..126816835 100644 --- a/src/views/accounts/AccountDiscover/TaskExecutionList.vue +++ b/src/views/accounts/AccountDiscover/TaskExecutionList.vue @@ -67,10 +67,10 @@ export default { label: this.$t('Automation'), formatter: DetailFormatter, formatterArgs: { - getTitle: ({ row }) => row.snapshot.name, + getTitle: ({ row }) => row.automation.name, getRoute: ({ row }) => ({ name: 'AccountDiscoverTaskDetail', - params: { id: row.automation } + params: { id: row.automation.id } }), drawer: true }, diff --git a/src/views/accounts/AccountPush/AccountPushExecutionList.vue b/src/views/accounts/AccountPush/AccountPushExecutionList.vue index b3c745ae5..ff5df18d8 100644 --- a/src/views/accounts/AccountPush/AccountPushExecutionList.vue +++ b/src/views/accounts/AccountPush/AccountPushExecutionList.vue @@ -60,13 +60,13 @@ export default { formatter: DetailFormatter, formatterArgs: { drawer: true, - getTitle: ({ row }) => row.snapshot.name, + getTitle: ({ row }) => row.automation.name, getRoute: ({ row }) => ({ name: 'AccountPushDetail', - params: { id: row.automation } + params: { id: row.automation.id } }), getDrawerTitle({ row }) { - return row.snapshot.name + return row.automation.name } }, id: ({ row }) => row.automation diff --git a/src/views/accounts/RiskDetect/AccountCheckExecutionList.vue b/src/views/accounts/RiskDetect/AccountCheckExecutionList.vue index b45fd47e7..e2cc7d34b 100644 --- a/src/views/accounts/RiskDetect/AccountCheckExecutionList.vue +++ b/src/views/accounts/RiskDetect/AccountCheckExecutionList.vue @@ -61,10 +61,10 @@ export default { formatter: DetailFormatter, formatterArgs: { drawer: true, - getTitle: ({ row }) => row.snapshot.name, + getTitle: ({ row }) => row.automation.name, getRoute: ({ row }) => ({ name: 'AccountCheckDetail', - params: { id: row.automation } + params: { id: row.automation.id } }) }, id: ({ row }) => row.automation From 8b9229b90687a4978371b0d31d1b1d2b58db277d Mon Sep 17 00:00:00 2001 From: jiangweidong <1053570670@qq.com> Date: Fri, 7 Mar 2025 16:02:18 +0800 Subject: [PATCH 05/10] perf: OpenID configuration display optimization --- src/views/settings/Auth/OIDC.vue | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/views/settings/Auth/OIDC.vue b/src/views/settings/Auth/OIDC.vue index b9668e11c..8802f62da 100644 --- a/src/views/settings/Auth/OIDC.vue +++ b/src/views/settings/Auth/OIDC.vue @@ -116,9 +116,6 @@ export default { 'AUTH_OPENID_USE_NONCE': { hidden: (form) => form['AUTH_OPENID_KEYCLOAK'] }, - 'AUTH_OPENID_ALWAYS_UPDATE_USER': { - hidden: (form) => form['AUTH_OPENID_KEYCLOAK'] - }, 'AUTH_OPENID_IGNORE_SSL_VERIFICATION': { }, 'AUTH_OPENID_SHARE_SESSION': { From 5fe00b40612388eb40a2f5308e97e347512bdda2 Mon Sep 17 00:00:00 2001 From: feng <1304903146@qq.com> Date: Fri, 7 Mar 2025 16:53:01 +0800 Subject: [PATCH 06/10] perf: Translate --- .../ExecutionDetail/AccountChangeSecretRecord.vue | 8 ++++++-- .../AccountChangeSecret/Overview/FailedAccountSummary.vue | 2 +- .../AccountPush/ExecutionDetail/AccountPushRecord.vue | 6 +++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/views/accounts/AccountChangeSecret/ExecutionDetail/AccountChangeSecretRecord.vue b/src/views/accounts/AccountChangeSecret/ExecutionDetail/AccountChangeSecretRecord.vue index d8f57c5c0..16cdeb973 100644 --- a/src/views/accounts/AccountChangeSecret/ExecutionDetail/AccountChangeSecretRecord.vue +++ b/src/views/accounts/AccountChangeSecret/ExecutionDetail/AccountChangeSecretRecord.vue @@ -150,10 +150,14 @@ export default { label: this.$t('Failed') }, { - label: this.$t('Execution'), - value: 'execution_id' + value: 'pending', + label: this.$t('Pending') } ] + }, + { + label: this.$t('ExecutionID'), + value: 'execution_id' } ] }, diff --git a/src/views/accounts/AccountChangeSecret/Overview/FailedAccountSummary.vue b/src/views/accounts/AccountChangeSecret/Overview/FailedAccountSummary.vue index a4947378d..0ed9b4f72 100644 --- a/src/views/accounts/AccountChangeSecret/Overview/FailedAccountSummary.vue +++ b/src/views/accounts/AccountChangeSecret/Overview/FailedAccountSummary.vue @@ -120,7 +120,7 @@ export default { }, { name: 'ignoreFail', - title: this.$t('ignoreFail'), + title: this.$t('IgnoreFail'), can: this.$hasPerm('accounts.view_changesecretrecord'), type: 'primary', callback: ({ row }) => { diff --git a/src/views/accounts/AccountPush/ExecutionDetail/AccountPushRecord.vue b/src/views/accounts/AccountPush/ExecutionDetail/AccountPushRecord.vue index 641bab64b..9a932cbe5 100644 --- a/src/views/accounts/AccountPush/ExecutionDetail/AccountPushRecord.vue +++ b/src/views/accounts/AccountPush/ExecutionDetail/AccountPushRecord.vue @@ -119,11 +119,15 @@ export default { { value: 'failed', label: this.$t('Failed') + }, + { + value: 'pending', + label: this.$t('Pending') } ] }, { - label: this.$t('Execution'), + label: this.$t('ExecutionID'), value: 'execution_id' } ] From ed93642ec5f0e97375915a754749d8e5edfe013d Mon Sep 17 00:00:00 2001 From: zhaojisen <1301338853@qq.com> Date: Fri, 7 Mar 2025 18:24:23 +0800 Subject: [PATCH 07/10] Fixed: Account Template --- .../assets/Asset/AssetDetail/PermUser.vue | 2 +- .../components/PermUserGroupCard.vue | 103 +++++++++++------- .../users/Group/UserGroupDetail/GroupInfo.vue | 2 +- 3 files changed, 63 insertions(+), 44 deletions(-) diff --git a/src/views/assets/Asset/AssetDetail/PermUser.vue b/src/views/assets/Asset/AssetDetail/PermUser.vue index 036e39495..e55b8a444 100644 --- a/src/views/assets/Asset/AssetDetail/PermUser.vue +++ b/src/views/assets/Asset/AssetDetail/PermUser.vue @@ -133,7 +133,7 @@ export default { UserGroupCardConfig: { title: this.$t('UserGroups'), url: `/api/v1/assets/assets/${vm.object.id}/perm-user-groups/`, - detailRoute: 'UserGroupDetail', + detailRoute: () => import('@/views/users/Group/UserGroupDetail'), buttonTitle: this.$t('ViewPerm'), buttonClickCallback(obj) { vm.GenericListTableDialogConfig.visible = true diff --git a/src/views/assets/Asset/AssetDetail/components/PermUserGroupCard.vue b/src/views/assets/Asset/AssetDetail/components/PermUserGroupCard.vue index 11e88db62..3d22fa520 100644 --- a/src/views/assets/Asset/AssetDetail/components/PermUserGroupCard.vue +++ b/src/views/assets/Asset/AssetDetail/components/PermUserGroupCard.vue @@ -1,52 +1,62 @@ - - - - - - - - {{ obj.label }} - - - - - - {{ buttonTitle }} - - - - - - {{ $t('NoData') }} - - - + + + + + + + + + {{ obj.label }} + + + + + + {{ buttonTitle }} + + + + + + {{ $t('NoData') }} + + + + + - - diff --git a/src/views/accounts/AccountPush/index.vue b/src/views/accounts/AccountPush/index.vue index 88ac61c1a..0a700a756 100644 --- a/src/views/accounts/AccountPush/index.vue +++ b/src/views/accounts/AccountPush/index.vue @@ -31,9 +31,7 @@ export default { title: this.$t('ExecutionRecord'), name: 'AccountPushRecord', hidden: () => !this.$hasPerm('accounts.view_pushsecretrecord'), - component: () => import( - '@/views/accounts/AccountPush/ExecutionDetail/AccountPushRecord.vue' - ) + component: () => import('@/views/accounts/AccountPush/ExecutionDetail/AccountPushRecord.vue') } ] } diff --git a/src/views/accounts/RiskDetect/AccountCheckEngine.vue b/src/views/accounts/RiskDetect/AccountCheckEngine.vue index d4512f9d0..bdee6e986 100644 --- a/src/views/accounts/RiskDetect/AccountCheckEngine.vue +++ b/src/views/accounts/RiskDetect/AccountCheckEngine.vue @@ -19,18 +19,15 @@ export default { 'name', 'comment' ], columnsShow: { - min: ['name', 'actions'], + min: ['name'], default: [ - 'name', 'comment', 'actions' + 'name', 'comment' ] }, columnsMeta: { name: { formatter: DetailFormatter } - }, - actions: { - formatterArgs: {} } }, headerActions: { From ef1442fde95b341227b457508faab30b5a728199 Mon Sep 17 00:00:00 2001 From: w940853815 <940853815@qq.com> Date: Mon, 10 Mar 2025 14:08:14 +0800 Subject: [PATCH 10/10] perf: Translate copy --- src/utils/common.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/common.js b/src/utils/common.js index 8d30652f3..689cc976a 100644 --- a/src/utils/common.js +++ b/src/utils/common.js @@ -272,7 +272,7 @@ export const copy = _.throttle(function(value) { inputDom.select() document?.execCommand('copy') message({ - message: i18n.t('Copied'), + message: i18n.t('CopySuccess'), type: 'success', duration: 1000 })