fix: 修复系统用户命令过滤器创建页面

This commit is contained in:
Michael Bai 2021-12-09 19:45:33 +08:00 committed by 老广
parent 90adcaf843
commit 6e3ca56e98
7 changed files with 61 additions and 12 deletions

View File

@ -36,14 +36,6 @@ export default {
const username = item.username || '*'
return { label: item.name + '(' + username + ')', value: item.id }
}
// processResults: (data) => {
// let results = data.results
// results = results.filter((item) => item.protocol === 'ssh' || item.protocol === 'telnet').map((item) => {
// return { label: item.name + '(' + item.username + ')', value: item.id }
// })
// const more = !!data.next
// return { results: results, pagination: more, total: data.count }
// }
},
hasObjectsId: this.object.system_users,
performAdd: (items) => {

View File

@ -27,6 +27,7 @@ export default {
fields: [
[this.$t('common.Basic'), ['name', 'login_mode', 'username', 'priority', 'protocol']],
[this.$t('common.Auth'), ['password']],
[this.$t('common.Command filter'), ['cmd_filters']],
[this.$t('common.Other'), ['comment']]
],
fieldsMeta: {
@ -34,7 +35,8 @@ export default {
username: fields.username,
private_key: fields.private_key,
protocol: fields.protocol,
password: fields.password
password: fields.password,
cmd_filters: fields.cmd_filters
},
url: '/api/v1/assets/system-users/'
}

View File

@ -5,13 +5,14 @@
<script>
import SSH from './ssh'
import RDP from './rdp'
import VncOrTelnet from './vncAndTelnet'
import VNC from './vnc'
import Database from './database'
import K8S from './k8s'
import TELNET from './telnet'
export default {
name: 'SystemUserCreateUpdate',
components: { SSH, RDP, VncOrTelnet, Database },
components: { SSH, RDP, VNC, Database },
data() {
return {
}
@ -38,8 +39,9 @@ export default {
case 'rdp':
return RDP
case 'vnc':
return VNC
case 'telnet':
return VncOrTelnet
return TELNET
case 'mysql':
case 'oracle':
case 'postgresql':

View File

@ -11,11 +11,13 @@
<script>
import GenericCreateUpdatePage from '@/layout/components/GenericCreateUpdatePage'
import { Required } from '@/components/DataForm/rules'
import getFields from '@/views/assets/SystemUser/SystemUserCreateUpdate/fields'
export default {
name: 'CommonUserSSH',
components: { GenericCreateUpdatePage },
data() {
const fields = getFields.bind(this)()
return {
initial: {
protocol: this.$route.query.protocol
@ -23,9 +25,11 @@ export default {
fields: [
[this.$t('common.Basic'), ['name', 'protocol']],
[this.$t('common.Auth'), ['token']],
[this.$t('common.Command filter'), ['cmd_filters']],
[this.$t('common.Other'), ['priority', 'comment']]
],
fieldsMeta: {
cmd_filters: fields.cmd_filters,
token: {
rules: [Object.assign({}, Required)],
el: {

View File

@ -0,0 +1,48 @@
<template>
<GenericCreateUpdatePage
:fields="fields"
:initial="initial"
:fields-meta="fieldsMeta"
:url="url"
v-bind="$attrs"
/>
</template>
<script>
import GenericCreateUpdatePage from '@/layout/components/GenericCreateUpdatePage'
import getFields from '../fields'
export default {
name: 'CommonUserTelnet',
components: { GenericCreateUpdatePage },
data() {
const fields = getFields.bind(this)()
return {
initial: {
login_mode: 'auto',
protocol: this.$route.query.protocol,
username_same_with_user: false
},
fields: [
[this.$t('common.Basic'), ['name', 'protocol', 'username', 'username_same_with_user']],
[this.$t('common.Auth'), ['login_mode', 'password']],
[this.$t('common.Command filter'), ['cmd_filters']],
[this.$t('common.Other'), ['priority', 'comment']]
],
fieldsMeta: {
login_mode: fields.login_mode,
username: fields.username,
username_same_with_user: fields.username_same_with_user,
protocol: fields.protocol,
password: fields.password,
cmd_filters: fields.cmd_filters
},
url: '/api/v1/assets/system-users/'
}
}
}
</script>
<style lang='less' scoped>
</style>

View File

@ -104,6 +104,7 @@ function getFields() {
}
const cmd_filters = {
label: this.$t('assets.CmdFilter'),
component: Select2,
el: {
multiple: true,