[Update] 修改button透传

This commit is contained in:
ibuler
2020-05-06 19:20:09 +08:00
parent e0063f5cd2
commit add0d34338
13 changed files with 118 additions and 98 deletions

View File

@@ -1,6 +1,12 @@
<template>
<DataForm ref="dataForm" v-loading="loading" :fields="totalFields" v-bind="$attrs" v-on="$listeners">
<FormGroupHeader v-for="(group, i) in groups" :slot="'id:'+group.name" :key="'group-'+group.name" :title="group.title" :line="i != 0" />
<template #button-start>
<slot name="button-start" />
</template>
<template #button-end>
<slot name="button-end" />
</template>
</DataForm>
</template>

View File

@@ -572,39 +572,39 @@ const cn = {
'securityPasswordLowerCase': '必须包含小写字母',
'securityPasswordNumber': '必须包含数字字符',
'securityPasswordSpecialChar': '必须包含特殊字符',
'Hostname': '主机名'
},
helpText: {
'siteUrl': 'eg: http://jumpserver.abc.com:8080',
'userGuideUrl': '用户第一次登录修改profile后重定向到地址',
'emailSubjectPrefix': '提示: 一些关键字可能会被邮件提供商拦截,如 跳板机、JumpServer',
'emailHostPassword': '提示一些邮件提供商需要输入的是Token',
'emailEmailFrom': '提示:发送邮件账号默认使用SMTP账号作为发送账号',
'emailRecipient': '提示:仅用来作为测试邮件收件人',
'emailCustomUserCreatedSubject': '提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)',
'emailCustomUserCreatedHonorific': '提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)',
'emailCustomUserCreatedBody': '提示: 创建用户时,发送设置密码邮件的内容',
'emailCustomUserCreatedSignature': '提示: 邮件的署名 (例如: jumpserver)',
'authLdapSearchOu': '使用|分隔各OU',
'authLdapSearchFilter': '可能的选项是(cn或uid或sAMAccountName=%(user)s)',
'authLdapUserAttrMap': '用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上username, name,email 是jumpserver的属性',
'terminalHeartbeatInterval': '单位: 秒',
'terminalSessionKeepDuration': '单位:天。 会话、录像、命令记录超过该时长将会被删除(仅影响数据库存储, oss等不受影响)',
'terminalTelnetRegex': '登录telnet服务器成功后的提示正则表达式如: Last\\s*login|success|成功',
'securityLoginLimitTime': '提示:(单位:分)当用户登录失败次数达到限制后,那么在此时间间隔内禁止登录',
'securityMaxIdleTime': '提示:如果超过该配置没有操作,连接会被断开 (单位:分)',
'securityPasswordExpirationTime': '提示:(单位:天)如果用户在此期间没有更新密码,用户密码将过期失效; 密码过期提醒邮件将在密码过期前5天内由系统每天自动发送给用户'
},
helpTip: {
'emailUserSSL': '如果SMTP端口是465,通常需要启用SSL',
'emailUserTLS': '如果SMTP端口是587通常需要启用TLS',
'securityMfaAuth': '开启后,所有用户登录必须使用多因子认证(对所有用户有效,包括管理员)',
'securityCommandExecution': '允许用户批量执行命令',
'securityServiceAccountRegistration': '允许使用bootstrap token注册终端, 当终端注册成功后可以禁止',
'securityPasswordUpperCase': '开启后,用户密码修改、重置必须包含写字母',
'securityPasswordLowerCase': '开启后,用户密码修改、重置必须包含小写字母',
'securityPasswordNumber': '开启后,用户密码修改、重置必须包含数字字符',
'securityPasswordSpecialChar': '开启后,用户密码修改、重置必须包含特殊字符'
'Hostname': '主机名',
helpText: {
'siteUrl': 'eg: http://jumpserver.abc.com:8080',
'userGuideUrl': '用户第一次登录修改profile后重定向到地址',
'emailSubjectPrefix': '提示: 一些关键字可能会被邮件提供商拦截,如 跳板机、JumpServer',
'emailHostPassword': '提示一些邮件提供商需要输入的是Token',
'emailEmailFrom': '提示发送邮件账号默认使用SMTP账号作为发送账号',
'emailRecipient': '提示:仅用来作为测试邮件收件人',
'emailCustomUserCreatedSubject': '提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)',
'emailCustomUserCreatedHonorific': '提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)',
'emailCustomUserCreatedBody': '提示: 创建用户时,发送设置密码邮件的内容',
'emailCustomUserCreatedSignature': '提示: 邮件的署名 (例如: jumpserver)',
'authLdapSearchOu': '使用|分隔各OU',
'authLdapSearchFilter': '可能的选项是(cn或uid或sAMAccountName=%(user)s)',
'authLdapUserAttrMap': '用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上username, name,email 是jumpserver的属性',
'terminalHeartbeatInterval': '单位: 秒',
'terminalSessionKeepDuration': '单位:天。 会话、录像、命令记录超过该时长将会被删除(仅影响数据库存储, oss等不受影响)',
'terminalTelnetRegex': '登录telnet服务器成功后的提示正则表达式如: Last\\s*login|success|成功',
'securityLoginLimitTime': '提示:(单位:分)当用户登录失败次数达到限制后,那么在此时间间隔内禁止登录',
'securityMaxIdleTime': '提示:如果超过该配置没有操作,连接会被断开 (单位:分)',
'securityPasswordExpirationTime': '提示:(单位:天)如果用户在此期间没有更新密码,用户密码将过期失效; 密码过期提醒邮件将在密码过期前5天内由系统每天自动发送给用户'
},
helpTip: {
'emailUserSSL': '如果SMTP端口是465通常需要启用SSL',
'emailUserTLS': '如果SMTP端口是587,通常需要启用TLS',
'securityMfaAuth': '开启后,所有用户登录必须使用多因子认证(对所有用户有效,包括管理员)',
'securityCommandExecution': '允许用户批量执行命令',
'securityServiceAccountRegistration': '允许使用bootstrap token注册终端, 当终端注册成功后可以禁止',
'securityPasswordUpperCase': '开启后,用户密码修改、重置必须包含大写字母',
'securityPasswordLowerCase': '开启后,用户密码修改、重置必须包含写字母',
'securityPasswordNumber': '开启后,用户密码修改、重置必须包含数字字符',
'securityPasswordSpecialChar': '开启后,用户密码修改、重置必须包含特殊字符'
}
},
...zhLocale
}

View File

@@ -384,41 +384,41 @@ const en = {
'securityPasswordLowerCase': 'Must contain lowercase letters',
'securityPasswordNumber': 'Must contain numeric characters',
'securityPasswordSpecialChar': 'Must contain special characters',
'Hostname': 'Hostname'
},
helpText: {
'siteUrl': 'eg: http://jumpserver.abc.com:8080',
'userGuideUrl': 'User first login update profile done redirect to it',
'emailSubjectPrefix': 'Tips: Some word will be intercept by mail provider',
'emailHostPassword': 'Tips: Some provider use token except password',
'emailEmailFrom': 'Tips: Send mail account, default SMTP account as the send account',
'emailRecipient': 'Tips: Used only as a test mail recipient',
'emailCustomUserCreatedSubject': 'Tips: When creating a user, send the subject of the email (eg:Create account successfully)',
'emailCustomUserCreatedHonorific': 'Tips: When creating a user, send the honorific of the email (eg:Hello)',
'emailCustomUserCreatedBody': 'Tips:When creating a user, send the content of the email',
'emailCustomUserCreatedSignature': 'Tips: Email signature (eg:jumpserver)',
'authLdapSearchOu': 'Use | split User OUs',
'authLdapSearchFilter': 'Choice may be (cn|uid|sAMAccountName)=%(user)s)',
'authLdapUserAttrMap': 'User attr map present how to map LDAP user attr to jumpserver, username,name,email is jumpserver attr',
'terminalHeartbeatInterval': 'Units: seconds',
'terminalSessionKeepDuration': 'Units: days, Session, record, command will be delete if more than duration, only in database',
'terminalTelnetRegex': 'ex: Last\\s*login|success|成功',
'securityLoginLimitTime': 'Tip: (unit/minute) if the user has failed to log in for a limited number of times, no login is allowed during this time interval.',
'securityMaxIdleTime': 'If idle time more than it, disconnect connection Unit: minute',
'securityPasswordExpirationTime': 'Tip: (unit: day) If the user does not update the password during the time, ' +
'Hostname': 'Hostname',
helpText: {
'siteUrl': 'eg: http://jumpserver.abc.com:8080',
'userGuideUrl': 'User first login update profile done redirect to it',
'emailSubjectPrefix': 'Tips: Some word will be intercept by mail provider',
'emailHostPassword': 'Tips: Some provider use token except password',
'emailEmailFrom': 'Tips: Send mail account, default SMTP account as the send account',
'emailRecipient': 'Tips: Used only as a test mail recipient',
'emailCustomUserCreatedSubject': 'Tips: When creating a user, send the subject of the email (eg:Create account successfully)',
'emailCustomUserCreatedHonorific': 'Tips: When creating a user, send the honorific of the email (eg:Hello)',
'emailCustomUserCreatedBody': 'Tips:When creating a user, send the content of the email',
'emailCustomUserCreatedSignature': 'Tips: Email signature (eg:jumpserver)',
'authLdapSearchOu': 'Use | split User OUs',
'authLdapSearchFilter': 'Choice may be (cn|uid|sAMAccountName)=%(user)s)',
'authLdapUserAttrMap': 'User attr map present how to map LDAP user attr to jumpserver, username,name,email is jumpserver attr',
'terminalHeartbeatInterval': 'Units: seconds',
'terminalSessionKeepDuration': 'Units: days, Session, record, command will be delete if more than duration, only in database',
'terminalTelnetRegex': 'ex: Last\\s*login|success|成功',
'securityLoginLimitTime': 'Tip: (unit/minute) if the user has failed to log in for a limited number of times, no login is allowed during this time interval.',
'securityMaxIdleTime': 'If idle time more than it, disconnect connection Unit: minute',
'securityPasswordExpirationTime': 'Tip: (unit: day) If the user does not update the password during the time, ' +
'the user password will expire failure;The password expiration reminder' +
' mail will be automatic sent to the user by system within 5 days (daily) before the password expires'
},
helpTip: {
'emailUserSSL': 'If SMTP port is 465, may be select',
'emailUserTLS': 'If SMTP port is 587, may be select',
'securityMfaAuth': 'After opening, all user login must use MFA(valid for all users, including administrators)',
'securityCommandExecution': 'Allow user batch execute commands',
'securityServiceAccountRegistration': 'Allow using bootstrap token register service account, when terminal setup, can disable it',
'securityPasswordUpperCase': '开启后,用户密码修改、重置必须包含大写字母',
'securityPasswordLowerCase': '开启后,用户密码修改、重置必须包含小写字母',
'securityPasswordNumber': '开启后,用户密码修改、重置必须包含数字字符',
'securityPasswordSpecialChar': '开启后,用户密码修改、重置必须包含特殊字符'
},
helpTip: {
'emailUserSSL': 'If SMTP port is 465, may be select',
'emailUserTLS': 'If SMTP port is 587, may be select',
'securityMfaAuth': 'After opening, all user login must use MFA(valid for all users, including administrators)',
'securityCommandExecution': 'Allow user batch execute commands',
'securityServiceAccountRegistration': 'Allow using bootstrap token register service account, when terminal setup, can disable it',
'securityPasswordUpperCase': '开启后,用户密码修改、重置必须包含大写字母',
'securityPasswordLowerCase': '开启后,用户密码修改、重置必须包含小写字母',
'securityPasswordNumber': '开启后,用户密码修改、重置必须包含数字字符',
'securityPasswordSpecialChar': '开启后,用户密码修改、重置必须包含特殊字符'
}
},
...enLocale
}

View File

@@ -9,7 +9,14 @@
v-bind="$attrs"
v-on="$listeners"
@submit="handleSubmit"
/>
>
<template #button-start>
<slot name="button-start" />
</template>
<template #button-end>
<slot name="button-end" />
</template>
</AutoDataForm>
</template>
<script>
import AutoDataForm from '@/components/AutoDataForm'

View File

@@ -1,7 +1,14 @@
<template>
<Page>
<IBox>
<GenericCreateUpdateForm v-bind="$attrs" v-on="$listeners" />
<GenericCreateUpdateForm v-bind="$attrs" v-on="$listeners">
<template #button-start>
<slot name="button-start" />
</template>
<template #button-end>
<slot name="button-end" />
</template>
</GenericCreateUpdateForm>
</IBox>
</Page>
</template>

View File

@@ -17,7 +17,7 @@ export default {
columns: [
{
prop: 'name',
label: this.$t('common.name'),
label: this.$t('common.Name'),
formatter: DetailFormatter,
sortable: true,
route: 'AdminUserDetail'

View File

@@ -17,7 +17,7 @@ export default {
columns: [
{
prop: 'name',
label: this.$t('common.name'),
label: this.$t('common.Name'),
formatter: DetailFormatter,
sortable: true,
route: 'SystemUserDetail'

View File

@@ -37,18 +37,18 @@ export default {
rules: [
{ required: true }
],
helpText: this.$t('helpText.siteUrl')
helpText: this.$t('setting.helpText.siteUrl')
},
USER_GUIDE_URL: {
label: this.$t('setting.userGuideUrl'),
helpText: this.$t('helpText.userGuideUrl')
helpText: this.$t('setting.helpText.userGuideUrl')
},
EMAIL_SUBJECT_PREFIX: {
label: this.$t('setting.emailSubjectPrefix'),
rules: [
{ required: true }
],
helpText: this.$t('helpText.emailSubjectPrefix')
helpText: this.$t('setting.helpText.emailSubjectPrefix')
}
},
url: '/api/v1/settings/setting/'

View File

@@ -51,25 +51,25 @@ export default {
},
EMAIL_HOST_PASSWORD: {
label: this.$t('setting.emailHostPassword'),
helpText: this.$t('helpText.emailHostPassword')
helpText: this.$t('setting.helpText.emailHostPassword')
},
EMAIL_FROM: {
label: this.$t('setting.emailEmailFrom'),
helpText: this.$t('helpText.emailEmailFrom')
helpText: this.$t('setting.helpText.emailEmailFrom')
},
EMAIL_RECIPIENT: {
label: this.$t('setting.emailRecipient'),
helpText: this.$t('helpText.emailRecipient')
helpText: this.$t('setting.helpText.emailRecipient')
},
EMAIL_USE_SSL: {
label: this.$t('setting.emailUserSSL'),
type: 'checkbox',
helpTips: this.$t('helpTip.emailUserSSL')
helpTips: this.$t('setting.helpTip.emailUserSSL')
},
EMAIL_USE_TLS: {
label: this.$t('setting.emailUserTLS'),
type: 'checkbox',
helpTips: this.$t('helpTip.emailUserTLS')
helpTips: this.$t('setting.helpTip.emailUserTLS')
}
},
url: '/api/v1/settings/setting/'

View File

@@ -35,22 +35,22 @@ export default {
fieldsMeta: {
EMAIL_CUSTOM_USER_CREATED_SUBJECT: {
label: this.$t('setting.emailCustomUserCreatedSubject'),
helpText: this.$t('helpText.emailCustomUserCreatedSubject')
helpText: this.$t('setting.helpText.emailCustomUserCreatedSubject')
},
EMAIL_CUSTOM_USER_CREATED_HONORIFIC: {
label: this.$t('setting.emailCustomUserCreatedHonorific'),
helpText: this.$t('helpText.emailCustomUserCreatedHonorific')
helpText: this.$t('setting.helpText.emailCustomUserCreatedHonorific')
},
EMAIL_CUSTOM_USER_CREATED_BODY: {
label: this.$t('setting.emailCustomUserCreatedBody'),
el: {
type: 'textarea'
},
helpText: this.$t('helpText.emailCustomUserCreatedBody')
helpText: this.$t('setting.helpText.emailCustomUserCreatedBody')
},
EMAIL_CUSTOM_USER_CREATED_SIGNATURE: {
label: this.$t('setting.emailCustomUserCreatedSignature'),
helpText: this.$t('helpText.emailCustomUserCreatedSignature')
helpText: this.$t('setting.helpText.emailCustomUserCreatedSignature')
}
},
url: '/api/v1/settings/setting/'

View File

@@ -44,14 +44,14 @@ export default {
},
AUTH_LDAP_SEARCH_OU: {
label: this.$t('setting.authLdapSearchOu'),
helpText: this.$t('helpText.authLdapSearchOu')
helpText: this.$t('setting.helpText.authLdapSearchOu')
},
AUTH_LDAP_SEARCH_FILTER: {
label: this.$t('setting.authLdapSearchFilter'),
rules: [
{ required: true }
],
helpText: this.$t('helpText.authLdapSearchFilter')
helpText: this.$t('setting.helpText.authLdapSearchFilter')
},
AUTH_LDAP_USER_ATTR_MAP: {
label: this.$t('setting.authLdapUserAttrMap'),
@@ -61,7 +61,7 @@ export default {
rules: [
{ required: true }
],
helpText: this.$t('helpText.authLdapUserAttrMap')
helpText: this.$t('setting.helpText.authLdapUserAttrMap')
},
AUTH_LDAP: {
label: this.$t('setting.authLdap'),

View File

@@ -38,17 +38,17 @@ export default {
SECURITY_MFA_AUTH: {
label: this.$t('setting.securityMfaAuth'),
type: 'checkbox',
helpTips: this.$t('helpTip.securityMfaAuth')
helpTips: this.$t('setting.helpTip.securityMfaAuth')
},
SECURITY_COMMAND_EXECUTION: {
label: this.$t('setting.securityCommandExecution'),
type: 'checkbox',
helpTips: this.$t('helpTip.securityCommandExecution')
helpTips: this.$t('setting.helpTip.securityCommandExecution')
},
SECURITY_SERVICE_ACCOUNT_REGISTRATION: {
label: this.$t('setting.securityServiceAccountRegistration'),
type: 'checkbox',
helpTips: this.$t('helpTip.securityServiceAccountRegistration')
helpTips: this.$t('setting.helpTip.securityServiceAccountRegistration')
},
SECURITY_LOGIN_LIMIT_COUNT: {
label: this.$t('setting.securityLoginLimitCount'),
@@ -61,18 +61,18 @@ export default {
rules: [
{ required: true }
],
helpText: this.$t('helpText.securityLoginLimitTime')
helpText: this.$t('setting.helpText.securityLoginLimitTime')
},
SECURITY_MAX_IDLE_TIME: {
label: this.$t('setting.securityMaxIdleTime'),
helpText: this.$t('helpText.securityMaxIdleTime')
helpText: this.$t('setting.helpText.securityMaxIdleTime')
},
SECURITY_PASSWORD_EXPIRATION_TIME: {
label: this.$t('setting.securityPasswordExpirationTime'),
rules: [
{ required: true }
],
helpText: this.$t('helpText.securityPasswordExpirationTime')
helpText: this.$t('setting.helpText.securityPasswordExpirationTime')
},
SECURITY_PASSWORD_MIN_LENGTH: {
label: this.$t('setting.securityPasswordMinLength'),
@@ -83,22 +83,22 @@ export default {
SECURITY_PASSWORD_UPPER_CASE: {
label: this.$t('setting.securityPasswordUpperCase'),
type: 'checkbox',
helpTips: this.$t('helpTip.securityPasswordUpperCase')
helpTips: this.$t('setting.helpTip.securityPasswordUpperCase')
},
SECURITY_PASSWORD_LOWER_CASE: {
label: this.$t('setting.securityPasswordLowerCase'),
type: 'checkbox',
helpTips: this.$t('helpTip.securityPasswordLowerCase')
helpTips: this.$t('setting.helpTip.securityPasswordLowerCase')
},
SECURITY_PASSWORD_NUMBER: {
label: this.$t('setting.securityPasswordNumber'),
type: 'checkbox',
helpTips: this.$t('helpTip.securityPasswordNumber')
helpTips: this.$t('setting.helpTip.securityPasswordNumber')
},
SECURITY_PASSWORD_SPECIAL_CHAR: {
label: this.$t('setting.securityPasswordSpecialChar'),
type: 'checkbox',
helpTips: this.$t('helpTip.securityPasswordSpecialChar')
helpTips: this.$t('setting.helpTip.securityPasswordSpecialChar')
}
},
url: '/api/v1/settings/setting/'

View File

@@ -46,7 +46,7 @@ export default {
rules: [
{ required: true }
],
helpText: this.$t('helpText.terminalHeartbeatInterval')
helpText: this.$t('setting.helpText.terminalHeartbeatInterval')
},
TERMINAL_ASSET_LIST_SORT_BY: {
label: this.$t('setting.terminalAssetListSortBy'),
@@ -84,11 +84,11 @@ export default {
rules: [
{ required: true }
],
helpText: this.$t('helpText.terminalSessionKeepDuration')
helpText: this.$t('setting.helpText.terminalSessionKeepDuration')
},
TERMINAL_TELNET_REGEX: {
label: this.$t('setting.terminalTelnetRegex'),
helpText: this.$t('helpText.terminalTelnetRegex')
helpText: this.$t('setting.helpText.terminalTelnetRegex')
}
},
url: '/api/v1/settings/setting/'