Merge pull request #2964 from jumpserver/pr@dev@device_for_su_from

perf: device 支持账号切换
This commit is contained in:
老广
2023-03-24 18:06:19 +08:00
committed by GitHub
2 changed files with 8 additions and 6 deletions

View File

@@ -13,7 +13,7 @@ import { UpdateToken, UploadSecret } from '@/components/FormFields'
import Select2 from '@/components/FormFields/Select2' import Select2 from '@/components/FormFields/Select2'
import AssetSelect from '@/components/AssetSelect' import AssetSelect from '@/components/AssetSelect'
import { encryptPassword } from '@/utils/crypto' import { encryptPassword } from '@/utils/crypto'
import { RequiredChange, Required } from '@/components/DataForm/rules' import { Required, RequiredChange } from '@/components/DataForm/rules'
export default { export default {
name: 'AccountCreateForm', name: 'AccountCreateForm',
@@ -46,6 +46,7 @@ export default {
defaultPrivilegedAccounts: ['root', 'administrator'], defaultPrivilegedAccounts: ['root', 'administrator'],
iPlatform: { iPlatform: {
automation: {}, automation: {},
su_enabled: false,
protocols: [ protocols: [
{ {
name: 'ssh', name: 'ssh',
@@ -58,7 +59,7 @@ export default {
encryptedFields: ['secret'], encryptedFields: ['secret'],
fields: [ fields: [
[this.$t('assets.Asset'), ['assets']], [this.$t('assets.Asset'), ['assets']],
[this.$t('common.Basic'), ['name', 'username', ...this.controlShowField()]], [this.$t('common.Basic'), ['name', 'username', 'privileged', 'su_from']],
[this.$t('assets.Secret'), [ [this.$t('assets.Secret'), [
'secret_type', 'secret', 'ssh_key', 'token', 'secret_type', 'secret', 'ssh_key', 'token',
'api_key', 'passphrase' 'api_key', 'passphrase'
@@ -120,7 +121,7 @@ export default {
su_from: { su_from: {
component: Select2, component: Select2,
hidden: (formValue) => { hidden: (formValue) => {
return !this.asset?.id return !this.asset?.id || !this.iPlatform.su_enabled
}, },
el: { el: {
multiple: false, multiple: false,

View File

@@ -1,11 +1,12 @@
<template> <template>
<Dialog <Dialog
:title="title" v-if="iVisible"
:visible.sync="iVisible" :close-on-click-modal="false"
:destroy-on-close="true" :destroy-on-close="true"
:show-cancel="false" :show-cancel="false"
:show-confirm="false" :show-confirm="false"
:close-on-click-modal="false" :title="title"
:visible.sync="iVisible"
v-bind="$attrs" v-bind="$attrs"
width="70%" width="70%"
v-on="$listeners" v-on="$listeners"