perf: 优化表单 (#933)

* perf: 优化表单

* fix: 修复国际化

* fix: 去掉排序

* perf: 系统平台排序

* fix: 修复错误

* fix: 去掉多余的逗号

Co-authored-by: 吴小白 <296015668@qq.com>
This commit is contained in:
fit2bot 2021-07-26 17:09:28 +08:00 committed by GitHub
parent 7fda66cda4
commit 0d3029e6b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 67 additions and 14 deletions

View File

@ -23,4 +23,5 @@ VUE_APP_LOGOUT_PATH = '/core/auth/logout/'
# Dev server for core proxy # Dev server for core proxy
VUE_APP_CORE_HOST = 'http://localhost:8080' VUE_APP_CORE_HOST = 'http://localhost:8080'
VUE_APP_CORE_WS = 'ws://localhost:8070'
VUE_APP_ENV = 'development' VUE_APP_ENV = 'development'

BIN
dump.rdb

Binary file not shown.

View File

@ -94,6 +94,15 @@ export default {
prop: 'ip', prop: 'ip',
label: this.$t('assets.ipDomain'), label: this.$t('assets.ipDomain'),
sortable: 'custom' sortable: 'custom'
},
{
prop: 'platform',
label: this.$t('assets.Platform'),
sortable: true
},
{
prop: 'protocols',
label: this.$t('assets.Protocols')
} }
], ],
listeners: { listeners: {

View File

@ -68,8 +68,7 @@ export default {
return { label: `${item.name}(${item.username})`, value: item.id } return { label: `${item.name}(${item.username})`, value: item.id }
} }
} }
}, }
rules: [rules.RequiredChange]
}, },
nodes: { nodes: {
rules: [rules.RequiredChange], rules: [rules.RequiredChange],

View File

@ -3,6 +3,7 @@
<GenericCreateUpdateForm <GenericCreateUpdateForm
:fields="fields" :fields="fields"
:url="url" :url="url"
:fields-meta="fieldsMeta"
:update-success-next-route="successUrl" :update-success-next-route="successUrl"
:create-success-next-route="successUrl" :create-success-next-route="successUrl"
:get-method="getMethod" :get-method="getMethod"
@ -15,6 +16,8 @@
<script> <script>
import GenericCreateUpdateForm from '@/layout/components/GenericCreateUpdateForm' import GenericCreateUpdateForm from '@/layout/components/GenericCreateUpdateForm'
import { IBox } from '@/components' import { IBox } from '@/components'
import rules from '@/components/DataForm/rules'
export default { export default {
name: 'Basic', name: 'Basic',
components: { components: {
@ -32,6 +35,13 @@ export default {
] ]
] ]
], ],
fieldsMeta: {
SITE_URL: {
rules: [
rules.Required
]
}
},
successUrl: { name: 'Settings', params: { activeMenu: 'Basic' }}, successUrl: { name: 'Settings', params: { activeMenu: 'Basic' }},
url: '/api/v1/settings/setting/?category=basic' url: '/api/v1/settings/setting/?category=basic'
} }

View File

@ -3,9 +3,9 @@
<GenericCreateUpdateForm <GenericCreateUpdateForm
:fields="fields" :fields="fields"
:url="url" :url="url"
:fields-meta="fieldsMeta"
:clean-form-value="cleanFormValue" :clean-form-value="cleanFormValue"
:get-method="getMethod" :get-method="getMethod"
:fields-meta="fieldsMeta"
:more-buttons="moreButtons" :more-buttons="moreButtons"
:has-detail-in-msg="false" :has-detail-in-msg="false"
/> />
@ -80,6 +80,15 @@ export default {
if (value['EMAIL_HOST_PASSWORD'] === undefined) { if (value['EMAIL_HOST_PASSWORD'] === undefined) {
value['EMAIL_HOST_PASSWORD'] = '' value['EMAIL_HOST_PASSWORD'] = ''
} }
if (value['EMAIL_USE_SSL'] === undefined) {
value['EMAIL_USE_SSL'] = false
}
if (value['EMAIL_USE_TLS'] === undefined) {
value['EMAIL_USE_TLS'] = false
}
if (value['EMAIL_FROM'] === undefined) {
value['EMAIL_FROM'] = value['EMAIL_HOST_USER']
}
testEmailSetting(value).then(res => { testEmailSetting(value).then(res => {
vm.$message.success(res['msg']) vm.$message.success(res['msg'])
}).catch(res => { }).catch(res => {
@ -98,6 +107,15 @@ export default {
if (!data['EMAIL_HOST_PASSWORD']) { if (!data['EMAIL_HOST_PASSWORD']) {
delete data['EMAIL_HOST_PASSWORD'] delete data['EMAIL_HOST_PASSWORD']
} }
if (!data['EMAIL_USE_SSL']) {
data['EMAIL_USE_SSL'] = false
}
if (!data['EMAIL_USE_TLS']) {
data['EMAIL_USE_TLS'] = false
}
if (!data['EMAIL_FROM']) {
data['EMAIL_FROM'] = data['EMAIL_HOST_USER']
}
Object.keys(data).forEach( Object.keys(data).forEach(
function(key) { function(key) {
if (data[key] === null) { if (data[key] === null) {

View File

@ -1,7 +1,7 @@
<template> <template>
<IBox> <IBox>
<GenericCreateUpdateForm <GenericCreateUpdateForm
:fields="selectFields" :fields="fields"
:url="url" :url="url"
:fields-meta="fieldsMeta" :fields-meta="fieldsMeta"
:get-method="getMethod" :get-method="getMethod"
@ -21,7 +21,7 @@ export default {
}, },
data() { data() {
return { return {
selectFields: [ fields: [
[ [
this.$t('setting.createUserSetting'), this.$t('setting.createUserSetting'),
[ [

View File

@ -1,7 +1,7 @@
<template> <template>
<IBox> <IBox>
<GenericCreateUpdateForm <GenericCreateUpdateForm
:fields="selectFields" :fields="fields"
:url="url" :url="url"
:fields-meta="fieldsMeta" :fields-meta="fieldsMeta"
:get-method="getMethod" :get-method="getMethod"
@ -20,6 +20,7 @@ import { testLdapSetting } from '@/api/settings'
import ImportDialog from './ImportDialog' import ImportDialog from './ImportDialog'
import TestLoginDialog from './TestLoginDialog' import TestLoginDialog from './TestLoginDialog'
import { IBox } from '@/components' import { IBox } from '@/components'
import rules from '@/components/DataForm/rules'
import { JsonRequired } from '@/components/DataForm/rules' import { JsonRequired } from '@/components/DataForm/rules'
export default { export default {
@ -36,7 +37,7 @@ export default {
object: {}, object: {},
dialogTest: false, dialogTest: false,
dialogLdapUserImport: false, dialogLdapUserImport: false,
selectFields: [ fields: [
[ [
this.$t('setting.LDAPServerInfo'), this.$t('setting.LDAPServerInfo'),
[ [
@ -57,6 +58,21 @@ export default {
] ]
], ],
fieldsMeta: { fieldsMeta: {
AUTH_LDAP_BIND_DN: {
rules: [
rules.Required
]
},
AUTH_LDAP_BIND_PASSWORD: {
rules: [
rules.Required
]
},
AUTH_LDAP_SEARCH_OU: {
rules: [
rules.Required
]
},
AUTH_LDAP_USER_ATTR_MAP: { AUTH_LDAP_USER_ATTR_MAP: {
component: 'el-input', component: 'el-input',
el: { el: {

View File

@ -1,7 +1,7 @@
<template> <template>
<IBox> <IBox>
<GenericCreateUpdateForm <GenericCreateUpdateForm
:fields="selectFields" :fields="fields"
:url="url" :url="url"
:fields-meta="fieldsMeta" :fields-meta="fieldsMeta"
:get-method="getMethod" :get-method="getMethod"
@ -22,7 +22,7 @@ export default {
}, },
data() { data() {
return { return {
selectFields: [ fields: [
[ [
this.$t('common.Basic'), this.$t('common.Basic'),
[ [
@ -52,7 +52,7 @@ export default {
] ]
], ],
fieldsMeta: { fieldsMeta: {
'SECURITY_INSECURE_COMMAND_EMAIL_RECEIVER': { SECURITY_INSECURE_COMMAND_EMAIL_RECEIVER: {
component: Link, component: Link,
helpText: this.$t('setting.InsecureCommandNotifyToSubscription'), helpText: this.$t('setting.InsecureCommandNotifyToSubscription'),
label: this.$t('common.Receivers'), label: this.$t('common.Receivers'),

View File

@ -1,7 +1,7 @@
<template> <template>
<IBox> <IBox>
<GenericCreateUpdateForm <GenericCreateUpdateForm
:fields="selectFields" :fields="fields"
:url="url" :url="url"
:fields-meta="fieldsMeta" :fields-meta="fieldsMeta"
:get-method="getMethod" :get-method="getMethod"
@ -21,7 +21,7 @@ export default {
}, },
data() { data() {
return { return {
selectFields: [ fields: [
[ [
'KoKo', [ 'KoKo', [
'TERMINAL_PASSWORD_AUTH', 'TERMINAL_PUBLIC_KEY_AUTH', 'TERMINAL_PASSWORD_AUTH', 'TERMINAL_PUBLIC_KEY_AUTH',
@ -51,7 +51,7 @@ export default {
'TERMINAL_RDP_ADDR' 'TERMINAL_RDP_ADDR'
] ]
] ]
this.selectFields.splice(1, 0, xRDPFields) this.fields.splice(1, 0, xRDPFields)
} }
}, },
methods: { methods: {

View File

@ -51,7 +51,7 @@ module.exports = {
changeOrigin: true changeOrigin: true
}, },
'/ws/': { '/ws/': {
target: 'ws://127.0.0.1:8080', target: process.env.VUE_APP_CORE_WS,
changeOrigin: true, changeOrigin: true,
ws: true ws: true
}, },