style: 解决启动时部分行分隔符报 warning 的问题

来自 @woodlxl(小鹿)
This commit is contained in:
2023-06-28 22:49:58 +08:00
parent 9376d6fd5f
commit 39b0b9a48e
29 changed files with 659 additions and 302 deletions

View File

@@ -113,23 +113,19 @@
<template #columns>
<a-table-column title="部门名称">
<template #cell="{ record }">
<a-link @click="toDetail(record.id)">{{
record.name
}}</a-link>
<a-link @click="toDetail(record.id)">{{ record.name }}</a-link>
</template>
</a-table-column>
<a-table-column
title="部门排序"
align="center"
data-index="sort"
/>
<a-table-column title="部门排序" align="center" data-index="sort" />
<a-table-column title="状态" align="center" data-index="status">
<template #cell="{ record }">
<a-switch
v-model="record.status"
:checked-value="1"
:unchecked-value="2"
:disabled="record.disabled || !checkPermission(['system:dept:update'])"
:disabled="
record.disabled || !checkPermission(['system:dept:update'])
"
@change="handleChangeStatus(record)"
/>
</template>
@@ -188,7 +184,11 @@
@cancel="handleCancel"
>
<a-form ref="formRef" :model="form" :rules="rules" size="large">
<a-form-item label="上级部门" field="parentId" :disabled="form.disabled">
<a-form-item
label="上级部门"
field="parentId"
:disabled="form.disabled"
>
<a-tree-select
v-model="form.parentId"
:data="treeData"
@@ -527,7 +527,10 @@
}
} else if (record.children) {
record.children.forEach((r) => {
rowKeys.splice(rowKeys.findIndex((key: number | undefined) => key === r.id), 1);
rowKeys.splice(
rowKeys.findIndex((key: number | undefined) => key === r.id),
1
);
proxy.$refs.tableRef.select(r.id, false);
if (r.children) {
handleSelect(rowKeys, rowKey, r);

View File

@@ -307,21 +307,13 @@
<a-radio :value="false"></a-radio>
</a-radio-group>
</a-form-item>
<a-form-item
v-if="form.type === 2"
label="是否缓存"
field="isCache"
>
<a-form-item v-if="form.type === 2" label="是否缓存" field="isCache">
<a-radio-group v-model="form.isCache" type="button">
<a-radio :value="true"></a-radio>
<a-radio :value="false"></a-radio>
</a-radio-group>
</a-form-item>
<a-form-item
v-if="form.type !== 3"
label="是否隐藏"
field="isHidden"
>
<a-form-item v-if="form.type !== 3" label="是否隐藏" field="isHidden">
<a-radio-group v-model="form.isHidden" type="button">
<a-radio :value="true"></a-radio>
<a-radio :value="false"></a-radio>

View File

@@ -118,33 +118,31 @@
<a-table-column title="ID" data-index="id" />
<a-table-column title="角色名称" data-index="name" :width="130">
<template #cell="{ record }">
<a-link @click="toDetail(record.id)">{{
record.name
}}</a-link>
<a-link @click="toDetail(record.id)">{{ record.name }}</a-link>
</template>
</a-table-column>
<a-table-column title="角色编码" data-index="code" />
<a-table-column title="数据权限" :width="130">
<template #cell="{ record }">
<span v-if="record.dataScope === 1">全部数据权限</span>
<span v-else-if="record.dataScope === 2">本部门及以下数据权限</span>
<span v-else-if="record.dataScope === 2"
>本部门及以下数据权限</span
>
<span v-else-if="record.dataScope === 3">本部门数据权限</span>
<span v-else-if="record.dataScope === 4">仅本人数据权限</span>
<span v-else>自定义数据权限</span>
</template>
</a-table-column>
<a-table-column
title="角色排序"
align="center"
data-index="sort"
/>
<a-table-column title="角色排序" align="center" data-index="sort" />
<a-table-column title="状态" align="center" data-index="status">
<template #cell="{ record }">
<a-switch
v-model="record.status"
:checked-value="1"
:unchecked-value="2"
:disabled="record.disabled || !checkPermission(['system:role:update'])"
:disabled="
record.disabled || !checkPermission(['system:role:update'])
"
@change="handleChangeStatus(record)"
/>
</template>
@@ -204,7 +202,11 @@
@cancel="handleCancel"
>
<a-form ref="formRef" :model="form" :rules="rules" size="large">
<a-alert v-if="!form.disabled" type="warning" style="margin-bottom: 15px;">
<a-alert
v-if="!form.disabled"
type="warning"
style="margin-bottom: 15px"
>
变更角色编码功能权限或数据权限后关联在线用户会自动下线
</a-alert>
<fieldset>
@@ -212,7 +214,11 @@
<a-form-item label="角色名称" field="name">
<a-input v-model="form.name" placeholder="请输入角色名称" />
</a-form-item>
<a-form-item label="角色编码" field="code" :disabled="form.disabled">
<a-form-item
label="角色编码"
field="code"
:disabled="form.disabled"
>
<a-input v-model="form.code" placeholder="请输入角色编码" />
</a-form-item>
<a-form-item label="角色排序" field="sort">
@@ -239,8 +245,16 @@
<legend>功能权限</legend>
<a-form-item label="功能权限" :disabled="form.disabled">
<a-space style="margin-top: 2px">
<a-checkbox v-model="menuExpandAll" @change="handleExpandAll('menu')">展开/折叠</a-checkbox>
<a-checkbox v-model="menuCheckAll" @change="handleCheckAll('menu')">全选/全不选</a-checkbox>
<a-checkbox
v-model="menuExpandAll"
@change="handleExpandAll('menu')"
>展开/折叠</a-checkbox
>
<a-checkbox
v-model="menuCheckAll"
@change="handleCheckAll('menu')"
>全选/全不选</a-checkbox
>
<a-checkbox v-model="menuCheckStrictly">父子联动</a-checkbox>
</a-space>
<template #extra>
@@ -259,17 +273,33 @@
</fieldset>
<fieldset>
<legend>数据权限</legend>
<a-form-item label="数据权限" field="dataScope" :disabled="form.disabled">
<a-form-item
label="数据权限"
field="dataScope"
:disabled="form.disabled"
>
<a-select
v-model="form.dataScope"
:options="DataScopeEnum"
placeholder="请选择数据权限"
/>
</a-form-item>
<a-form-item v-if="form.dataScope === 5" label="权限范围" :disabled="form.disabled">
<a-form-item
v-if="form.dataScope === 5"
label="权限范围"
:disabled="form.disabled"
>
<a-space style="margin-top: 2px">
<a-checkbox v-model="deptExpandAll" @change="handleExpandAll('dept')">展开/折叠</a-checkbox>
<a-checkbox v-model="deptCheckAll" @change="handleCheckAll('dept')">全选/全不选</a-checkbox>
<a-checkbox
v-model="deptExpandAll"
@change="handleExpandAll('dept')"
>展开/折叠</a-checkbox
>
<a-checkbox
v-model="deptCheckAll"
@change="handleCheckAll('dept')"
>全选/全不选</a-checkbox
>
<a-checkbox v-model="deptCheckStrictly">父子联动</a-checkbox>
</a-space>
<template #extra>
@@ -328,7 +358,9 @@
</a-skeleton>
<span v-else>
<span v-if="role.dataScope === 1">全部数据权限</span>
<span v-else-if="role.dataScope === 2">本部门及以下数据权限</span>
<span v-else-if="role.dataScope === 2"
>本部门及以下数据权限</span
>
<span v-else-if="role.dataScope === 3">本部门数据权限</span>
<span v-else-if="role.dataScope === 4">仅本人数据权限</span>
<span v-else>自定义数据权限</span>
@@ -468,14 +500,15 @@
{ required: true, message: '请输入角色名称' },
{
match: /^[\u4e00-\u9fa5a-zA-Z0-9_-]{1,20}$/,
message: '长度为 1 到 20 位,可以包含中文、字母、数字、下划线,短横线'
message:
'长度为 1 到 20 位,可以包含中文、字母、数字、下划线,短横线',
},
],
code: [
{ required: true, message: '请输入角色编码' },
{
match: /^[a-zA-Z][a-zA-Z0-9_]{1,15}$/,
message: '长度为 2 到 16 位,可以包含字母、数字,下划线,以字母开头'
message: '长度为 2 到 16 位,可以包含字母、数字,下划线,以字母开头',
},
],
dataScope: [{ required: true, message: '请选择数据权限' }],

View File

@@ -8,21 +8,30 @@
size="large"
class="form"
>
<a-form-item :label="$t('userCenter.basicInfo.form.label.username')" disabled>
<a-form-item
:label="$t('userCenter.basicInfo.form.label.username')"
disabled
>
<a-input
v-model="form.username"
:placeholder="$t('userCenter.basicInfo.form.placeholder.username')"
max-length="16"
/>
</a-form-item>
<a-form-item :label="$t('userCenter.basicInfo.form.label.nickname')" field="nickname">
<a-form-item
:label="$t('userCenter.basicInfo.form.label.nickname')"
field="nickname"
>
<a-input
v-model="form.nickname"
:placeholder="$t('userCenter.basicInfo.form.placeholder.nickname')"
max-length="20"
/>
</a-form-item>
<a-form-item :label="$t('userCenter.basicInfo.form.label.gender')" field="gender">
<a-form-item
:label="$t('userCenter.basicInfo.form.label.gender')"
field="gender"
>
<a-radio-group v-model="form.gender">
<a-radio :value="1"></a-radio>
<a-radio :value="2"></a-radio>

View File

@@ -29,7 +29,9 @@
<a-table-column title="所属模块" data-index="module" />
<a-table-column title="操作状态" align="center">
<template #cell="{ record }">
<a-tag v-if="record.status === 1" color="green"><span class="circle pass" />成功</a-tag>
<a-tag v-if="record.status === 1" color="green"
><span class="circle pass" />成功</a-tag
>
<a-tooltip v-else :content="record.errorMsg">
<a-tag color="red" style="cursor: pointer">
<span class="circle fail" />失败

View File

@@ -8,14 +8,25 @@
<template #description>
<div class="content">
<a-typography-paragraph v-if="loginStore.email">
{{ $t('userCenter.securitySettings.updateEmail.placeholder.success.email') }}{{ loginStore.email }}
{{
$t(
'userCenter.securitySettings.updateEmail.placeholder.success.email'
)
}}{{ loginStore.email }}
</a-typography-paragraph>
<a-typography-paragraph v-else class="tip">
{{ $t('userCenter.securitySettings.updateEmail.placeholder.error.email') }}
{{
$t(
'userCenter.securitySettings.updateEmail.placeholder.error.email'
)
}}
</a-typography-paragraph>
</div>
<div class="operation">
<a-link :title="$t('userCenter.securitySettings.button.update')" @click="toUpdate">
<a-link
:title="$t('userCenter.securitySettings.button.update')"
@click="toUpdate"
>
{{ $t('userCenter.securitySettings.button.update') }}
</a-link>
</div>
@@ -30,17 +41,35 @@
@cancel="handleCancel"
>
<a-form ref="formRef" :model="form" :rules="rules" size="large">
<a-form-item :label="$t('userCenter.securitySettings.updateEmail.form.label.newEmail')" field="newEmail">
<a-form-item
:label="
$t('userCenter.securitySettings.updateEmail.form.label.newEmail')
"
field="newEmail"
>
<a-input
v-model="form.newEmail"
:placeholder="$t('userCenter.securitySettings.updateEmail.form.placeholder.newEmail')"
:placeholder="
$t(
'userCenter.securitySettings.updateEmail.form.placeholder.newEmail'
)
"
allow-clear
/>
</a-form-item>
<a-form-item :label="$t('userCenter.securitySettings.updateEmail.form.label.captcha')" field="captcha">
<a-form-item
:label="
$t('userCenter.securitySettings.updateEmail.form.label.captcha')
"
field="captcha"
>
<a-input
v-model="form.captcha"
:placeholder="$t('userCenter.securitySettings.updateEmail.form.placeholder.captcha')"
:placeholder="
$t(
'userCenter.securitySettings.updateEmail.form.placeholder.captcha'
)
"
max-length="6"
allow-clear
style="width: 80%"
@@ -55,10 +84,21 @@
{{ captchaBtnName }}
</a-button>
</a-form-item>
<a-form-item :label="$t('userCenter.securitySettings.updateEmail.form.label.currentPassword')" field="currentPassword">
<a-form-item
:label="
$t(
'userCenter.securitySettings.updateEmail.form.label.currentPassword'
)
"
field="currentPassword"
>
<a-input-password
v-model="form.currentPassword"
:placeholder="$t('userCenter.securitySettings.updateEmail.form.placeholder.currentPassword')"
:placeholder="
$t(
'userCenter.securitySettings.updateEmail.form.placeholder.currentPassword'
)
"
max-length="32"
allow-clear
/>
@@ -85,7 +125,9 @@
const captchaLoading = ref(false);
const captchaDisable = ref(false);
const visible = ref(false);
const captchaBtnNameKey = ref('userCenter.securitySettings.updateEmail.form.sendCaptcha');
const captchaBtnNameKey = ref(
'userCenter.securitySettings.updateEmail.form.sendCaptcha'
);
const captchaBtnName = computed(() => t(captchaBtnNameKey.value));
// 表单数据
@@ -98,24 +140,48 @@
const rules = computed((): Record<string, FieldRule[]> => {
return {
newEmail: [
{ required: true, message: t('userCenter.securitySettings.updateEmail.form.error.required.newEmail') },
{ type: 'email', message: t('userCenter.securitySettings.updateEmail.form.error.match.newEmail') },
{
required: true,
message: t(
'userCenter.securitySettings.updateEmail.form.error.required.newEmail'
),
},
{
type: 'email',
message: t(
'userCenter.securitySettings.updateEmail.form.error.match.newEmail'
),
},
{
validator: (value, callback) => {
if (value === loginStore.email) {
callback(t('userCenter.securitySettings.updateEmail.form.error.validator.newEmail'))
callback(
t(
'userCenter.securitySettings.updateEmail.form.error.validator.newEmail'
)
);
} else {
callback()
callback();
}
}
}
},
},
],
captcha: [
{ required: true, message: t('userCenter.securitySettings.updateEmail.form.error.required.captcha') }
{
required: true,
message: t(
'userCenter.securitySettings.updateEmail.form.error.required.captcha'
),
},
],
currentPassword: [
{ required: true, message: t('userCenter.securitySettings.updateEmail.form.error.required.currentPassword') }
]
{
required: true,
message: t(
'userCenter.securitySettings.updateEmail.form.error.required.currentPassword'
),
},
],
};
});
@@ -125,9 +191,10 @@
const resetCaptcha = () => {
window.clearInterval(captchaTimer.value);
captchaTime.value = 60;
captchaBtnNameKey.value = 'userCenter.securitySettings.updateEmail.form.sendCaptcha';
captchaBtnNameKey.value =
'userCenter.securitySettings.updateEmail.form.sendCaptcha';
captchaDisable.value = false;
}
};
/**
* 发送验证码
@@ -137,28 +204,37 @@
proxy.$refs.formRef.validateField('newEmail', (valid: any) => {
if (!valid) {
captchaLoading.value = true;
captchaBtnNameKey.value = 'userCenter.securitySettings.updateEmail.form.loading.sendCaptcha';
captchaBtnNameKey.value =
'userCenter.securitySettings.updateEmail.form.loading.sendCaptcha';
getMailCaptcha({
email: form.newEmail
}).then((res) => {
captchaLoading.value = false;
captchaDisable.value = true;
captchaBtnNameKey.value = `${t('userCenter.securitySettings.updateEmail.form.reSendCaptcha')}(${captchaTime.value -= 1}s)`;
captchaTimer.value = window.setInterval(() => {
captchaTime.value -= 1;
captchaBtnNameKey.value = `${t('userCenter.securitySettings.updateEmail.form.reSendCaptcha')}(${captchaTime.value}s)`;
if (captchaTime.value < 0) {
window.clearInterval(captchaTimer.value);
captchaTime.value = 60;
captchaBtnNameKey.value = t('userCenter.securitySettings.updateEmail.form.reSendCaptcha');
captchaDisable.value = false;
}
}, 1000);
proxy.$message.success(res.msg);
}).catch(() => {
resetCaptcha();
captchaLoading.value = false;
});
email: form.newEmail,
})
.then((res) => {
captchaLoading.value = false;
captchaDisable.value = true;
captchaBtnNameKey.value = `${t(
'userCenter.securitySettings.updateEmail.form.reSendCaptcha'
)}(${(captchaTime.value -= 1)}s)`;
captchaTimer.value = window.setInterval(() => {
captchaTime.value -= 1;
captchaBtnNameKey.value = `${t(
'userCenter.securitySettings.updateEmail.form.reSendCaptcha'
)}(${captchaTime.value}s)`;
if (captchaTime.value < 0) {
window.clearInterval(captchaTimer.value);
captchaTime.value = 60;
captchaBtnNameKey.value = t(
'userCenter.securitySettings.updateEmail.form.reSendCaptcha'
);
captchaDisable.value = false;
}
}, 1000);
proxy.$message.success(res.msg);
})
.catch(() => {
resetCaptcha();
captchaLoading.value = false;
});
}
});
};

View File

@@ -8,10 +8,18 @@
<template #description>
<div class="content">
<a-typography-paragraph v-if="loginStore.phone">
{{ $t('userCenter.securitySettings.updatePhone.placeholder.success.phone') }}{{ loginStore.phone }}
{{
$t(
'userCenter.securitySettings.updatePhone.placeholder.success.phone'
)
}}{{ loginStore.phone }}
</a-typography-paragraph>
<a-typography-paragraph v-else class="tip">
{{ $t('userCenter.securitySettings.updatePhone.placeholder.error.phone') }}
{{
$t(
'userCenter.securitySettings.updatePhone.placeholder.error.phone'
)
}}
</a-typography-paragraph>
</div>
<div class="operation">

View File

@@ -8,14 +8,25 @@
<template #description>
<div class="content">
<a-typography-paragraph v-if="loginStore.pwdResetTime">
{{ $t('userCenter.securitySettings.updatePwd.placeholder.success.password') }}
{{
$t(
'userCenter.securitySettings.updatePwd.placeholder.success.password'
)
}}
</a-typography-paragraph>
<a-typography-paragraph v-else class="tip">
{{ $t('userCenter.securitySettings.updatePwd.placeholder.error.password') }}
{{
$t(
'userCenter.securitySettings.updatePwd.placeholder.error.password'
)
}}
</a-typography-paragraph>
</div>
<div class="operation">
<a-link :title="$t('userCenter.securitySettings.button.update')" @click="toUpdate">
<a-link
:title="$t('userCenter.securitySettings.button.update')"
@click="toUpdate"
>
{{ $t('userCenter.securitySettings.button.update') }}
</a-link>
</div>
@@ -30,26 +41,53 @@
@cancel="handleCancel"
>
<a-form ref="formRef" :model="form" :rules="rules" size="large">
<a-form-item :label="$t('userCenter.securitySettings.updatePwd.form.label.oldPassword')" field="oldPassword">
<a-form-item
:label="
$t('userCenter.securitySettings.updatePwd.form.label.oldPassword')
"
field="oldPassword"
>
<a-input-password
v-model="form.oldPassword"
:placeholder="$t('userCenter.securitySettings.updatePwd.form.placeholder.oldPassword')"
:placeholder="
$t(
'userCenter.securitySettings.updatePwd.form.placeholder.oldPassword'
)
"
max-length="32"
allow-clear
/>
</a-form-item>
<a-form-item :label="$t('userCenter.securitySettings.updatePwd.form.label.newPassword')" field="newPassword">
<a-form-item
:label="
$t('userCenter.securitySettings.updatePwd.form.label.newPassword')
"
field="newPassword"
>
<a-input-password
v-model="form.newPassword"
:placeholder="$t('userCenter.securitySettings.updatePwd.form.placeholder.newPassword')"
:placeholder="
$t(
'userCenter.securitySettings.updatePwd.form.placeholder.newPassword'
)
"
max-length="32"
allow-clear
/>
</a-form-item>
<a-form-item :label="$t('userCenter.securitySettings.updatePwd.form.label.rePassword')" field="rePassword">
<a-form-item
:label="
$t('userCenter.securitySettings.updatePwd.form.label.rePassword')
"
field="rePassword"
>
<a-input-password
v-model="form.rePassword"
:placeholder="$t('userCenter.securitySettings.updatePwd.form.placeholder.rePassword')"
:placeholder="
$t(
'userCenter.securitySettings.updatePwd.form.placeholder.rePassword'
)
"
max-length="32"
allow-clear
/>
@@ -81,31 +119,61 @@
// 表单验证规则
const rules = computed((): Record<string, FieldRule[]> => {
return {
oldPassword: [{ required: true, message: t('userCenter.securitySettings.updatePwd.form.error.required.oldPassword') }],
oldPassword: [
{
required: true,
message: t(
'userCenter.securitySettings.updatePwd.form.error.required.oldPassword'
),
},
],
newPassword: [
{ required: true, message: t('userCenter.securitySettings.updatePwd.form.error.required.newPassword') },
{ match: /^(?=.*\d)(?=.*[a-z]).{6,32}$/, message: t('userCenter.securitySettings.updatePwd.form.error.match.newPassword') },
{
required: true,
message: t(
'userCenter.securitySettings.updatePwd.form.error.required.newPassword'
),
},
{
match: /^(?=.*\d)(?=.*[a-z]).{6,32}$/,
message: t(
'userCenter.securitySettings.updatePwd.form.error.match.newPassword'
),
},
{
validator: (value, callback) => {
if (value === form.oldPassword) {
callback(t('userCenter.securitySettings.updatePwd.form.error.validator.newPassword'))
callback(
t(
'userCenter.securitySettings.updatePwd.form.error.validator.newPassword'
)
);
} else {
callback()
callback();
}
}
}
},
},
],
rePassword: [
{ required: true, message: t('userCenter.securitySettings.updatePwd.form.error.required.rePassword') },
{
required: true,
message: t(
'userCenter.securitySettings.updatePwd.form.error.required.rePassword'
),
},
{
validator: (value, callback) => {
if (value !== form.newPassword) {
callback(t('userCenter.securitySettings.updatePwd.form.error.validator.rePassword'))
callback(
t(
'userCenter.securitySettings.updatePwd.form.error.validator.rePassword'
)
);
} else {
callback()
callback();
}
}
}
},
},
],
};
});

View File

@@ -25,9 +25,11 @@ export default {
'userCenter.basicInfo.form.placeholder.nickname': 'Please enter nickname',
'userCenter.basicInfo.form.error.required.username': 'Please enter username',
'userCenter.basicInfo.form.error.match.username': 'Username are 4 to 16 characters long and can contain letters, numbers, underscores, and start with a letter',
'userCenter.basicInfo.form.error.match.username':
'Username are 4 to 16 characters long and can contain letters, numbers, underscores, and start with a letter',
'userCenter.basicInfo.form.error.required.nickname': 'Please enter nickname',
'userCenter.basicInfo.form.error.match.nickname': 'Nickname are 1 to 20 digits long and can contain Chinese, letters, numbers, underscores, dashes',
'userCenter.basicInfo.form.error.match.nickname':
'Nickname are 1 to 20 digits long and can contain Chinese, letters, numbers, underscores, dashes',
'userCenter.basicInfo.form.save': 'Save',
'userCenter.basicInfo.form.save.success': 'Save success',
@@ -36,55 +38,81 @@ export default {
// security-settings
// update-pwd
'userCenter.securitySettings.updatePwd.label.password': 'Login Password',
'userCenter.securitySettings.updatePwd.placeholder.success.password': 'Has been set',
'userCenter.securitySettings.updatePwd.placeholder.success.password':
'Has been set',
'userCenter.securitySettings.updatePwd.placeholder.error.password':
'You have not set a password yet. The password must contain at least six letters, digits, and special characters except Spaces.',
'userCenter.securitySettings.updatePwd.modal.title': 'Update login password',
'userCenter.securitySettings.updatePwd.form.label.oldPassword': 'Old password',
'userCenter.securitySettings.updatePwd.form.label.newPassword': 'New password',
'userCenter.securitySettings.updatePwd.form.label.rePassword': 'Confirm password',
'userCenter.securitySettings.updatePwd.form.label.oldPassword':
'Old password',
'userCenter.securitySettings.updatePwd.form.label.newPassword':
'New password',
'userCenter.securitySettings.updatePwd.form.label.rePassword':
'Confirm password',
'userCenter.securitySettings.updatePwd.form.placeholder.oldPassword': 'Please enter old password',
'userCenter.securitySettings.updatePwd.form.placeholder.newPassword': 'Password contains 6 to 32 digits and letters',
'userCenter.securitySettings.updatePwd.form.placeholder.rePassword': 'Please enter new password again',
'userCenter.securitySettings.updatePwd.form.placeholder.oldPassword':
'Please enter old password',
'userCenter.securitySettings.updatePwd.form.placeholder.newPassword':
'Password contains 6 to 32 digits and letters',
'userCenter.securitySettings.updatePwd.form.placeholder.rePassword':
'Please enter new password again',
'userCenter.securitySettings.updatePwd.form.error.required.oldPassword': 'Please enter old password',
'userCenter.securitySettings.updatePwd.form.error.required.newPassword': 'Please enter new password',
'userCenter.securitySettings.updatePwd.form.error.match.newPassword': 'Password contains 6 to 32 digits and letters',
'userCenter.securitySettings.updatePwd.form.error.validator.newPassword': 'New password cannot be the same as the old password',
'userCenter.securitySettings.updatePwd.form.error.required.rePassword': 'Please enter new password again',
'userCenter.securitySettings.updatePwd.form.error.validator.rePassword': 'Two passwords are different',
'userCenter.securitySettings.updatePwd.form.error.required.oldPassword':
'Please enter old password',
'userCenter.securitySettings.updatePwd.form.error.required.newPassword':
'Please enter new password',
'userCenter.securitySettings.updatePwd.form.error.match.newPassword':
'Password contains 6 to 32 digits and letters',
'userCenter.securitySettings.updatePwd.form.error.validator.newPassword':
'New password cannot be the same as the old password',
'userCenter.securitySettings.updatePwd.form.error.required.rePassword':
'Please enter new password again',
'userCenter.securitySettings.updatePwd.form.error.validator.rePassword':
'Two passwords are different',
// update-phone
'userCenter.securitySettings.updatePhone.label.phone': 'Phone',
'userCenter.securitySettings.updatePhone.placeholder.success.phone': 'Has been bound',
'userCenter.securitySettings.updatePhone.placeholder.success.phone':
'Has been bound',
'userCenter.securitySettings.updatePhone.placeholder.error.phone':
'You have not set a phone yet. The phone binding can be used to retrieve passwords and receive notifications and SMS login.',
// update-email
'userCenter.securitySettings.updateEmail.label.email': 'Email',
'userCenter.securitySettings.updateEmail.placeholder.success.email': 'Has been bound',
'userCenter.securitySettings.updateEmail.placeholder.success.email':
'Has been bound',
'userCenter.securitySettings.updateEmail.placeholder.error.email':
'You have not set a mailbox yet. The mailbox binding can be used to retrieve passwords and receive notifications.',
'userCenter.securitySettings.updateEmail.modal.title': 'Update email',
'userCenter.securitySettings.updateEmail.form.label.newEmail': 'New email',
'userCenter.securitySettings.updateEmail.form.label.captcha': 'Captcha',
'userCenter.securitySettings.updateEmail.form.label.currentPassword': 'Current password',
'userCenter.securitySettings.updateEmail.form.label.currentPassword':
'Current password',
'userCenter.securitySettings.updateEmail.form.sendCaptcha': 'Send captcha',
'userCenter.securitySettings.updateEmail.form.reSendCaptcha': 'Resend captcha',
'userCenter.securitySettings.updateEmail.form.loading.sendCaptcha': 'Sending...',
'userCenter.securitySettings.updateEmail.form.reSendCaptcha':
'Resend captcha',
'userCenter.securitySettings.updateEmail.form.loading.sendCaptcha':
'Sending...',
'userCenter.securitySettings.updateEmail.form.placeholder.newEmail': 'Please enter new email',
'userCenter.securitySettings.updateEmail.form.placeholder.captcha': 'Please enter email captcha',
'userCenter.securitySettings.updateEmail.form.placeholder.currentPassword': 'Please enter current password',
'userCenter.securitySettings.updateEmail.form.placeholder.newEmail':
'Please enter new email',
'userCenter.securitySettings.updateEmail.form.placeholder.captcha':
'Please enter email captcha',
'userCenter.securitySettings.updateEmail.form.placeholder.currentPassword':
'Please enter current password',
'userCenter.securitySettings.updateEmail.form.error.required.newEmail': 'Please enter new email',
'userCenter.securitySettings.updateEmail.form.error.match.newEmail': 'Please enter the correct email',
'userCenter.securitySettings.updateEmail.form.error.validator.newEmail': 'New email cannot be the same as the old email',
'userCenter.securitySettings.updateEmail.form.error.required.captcha': 'Please enter email captcha',
'userCenter.securitySettings.updateEmail.form.error.required.currentPassword': 'Please enter current password',
'userCenter.securitySettings.updateEmail.form.error.required.newEmail':
'Please enter new email',
'userCenter.securitySettings.updateEmail.form.error.match.newEmail':
'Please enter the correct email',
'userCenter.securitySettings.updateEmail.form.error.validator.newEmail':
'New email cannot be the same as the old email',
'userCenter.securitySettings.updateEmail.form.error.required.captcha':
'Please enter email captcha',
'userCenter.securitySettings.updateEmail.form.error.required.currentPassword':
'Please enter current password',
'userCenter.securitySettings.button.update': 'Update',
};

View File

@@ -25,9 +25,11 @@ export default {
'userCenter.basicInfo.form.placeholder.nickname': '请输入昵称',
'userCenter.basicInfo.form.error.required.username': '请输入用户名',
'userCenter.basicInfo.form.error.match.username': '长度为 4 到 16 位,可以包含字母、数字,下划线,以字母开头',
'userCenter.basicInfo.form.error.match.username':
'长度为 4 到 16 位,可以包含字母、数字,下划线,以字母开头',
'userCenter.basicInfo.form.error.required.nickname': '请输入昵称',
'userCenter.basicInfo.form.error.match.nickname': '长度为 1 到 20 位,可以包含中文、字母、数字、下划线,短横线',
'userCenter.basicInfo.form.error.match.nickname':
'长度为 1 到 20 位,可以包含中文、字母、数字、下划线,短横线',
'userCenter.basicInfo.form.save': '保存',
'userCenter.basicInfo.form.save.success': '保存成功',
@@ -36,7 +38,8 @@ export default {
// security-settings
// update-pwd
'userCenter.securitySettings.updatePwd.label.password': '登录密码',
'userCenter.securitySettings.updatePwd.placeholder.success.password': '已设置',
'userCenter.securitySettings.updatePwd.placeholder.success.password':
'已设置',
'userCenter.securitySettings.updatePwd.placeholder.error.password':
'您暂未设置密码密码至少6位字符支持数字、字母和除空格外的特殊字符。',
@@ -45,16 +48,25 @@ export default {
'userCenter.securitySettings.updatePwd.form.label.newPassword': '新密码',
'userCenter.securitySettings.updatePwd.form.label.rePassword': '确认新密码',
'userCenter.securitySettings.updatePwd.form.placeholder.oldPassword': '请输入当前密码',
'userCenter.securitySettings.updatePwd.form.placeholder.newPassword': '长度为 6 到 32 位,同时包含字母和数字',
'userCenter.securitySettings.updatePwd.form.placeholder.rePassword': '请再次输入新密码',
'userCenter.securitySettings.updatePwd.form.placeholder.oldPassword':
'请输入当前密码',
'userCenter.securitySettings.updatePwd.form.placeholder.newPassword':
'长度为 6 到 32 位,同时包含字母和数字',
'userCenter.securitySettings.updatePwd.form.placeholder.rePassword':
'请再次输入新密码',
'userCenter.securitySettings.updatePwd.form.error.required.oldPassword': '请输入当前密码',
'userCenter.securitySettings.updatePwd.form.error.required.newPassword': '请输入密码',
'userCenter.securitySettings.updatePwd.form.error.match.newPassword': '长度为 6 到 32 位,同时包含字母和数字',
'userCenter.securitySettings.updatePwd.form.error.validator.newPassword': '新密码不能与当前密码相同',
'userCenter.securitySettings.updatePwd.form.error.required.rePassword': '请再次输入新密码',
'userCenter.securitySettings.updatePwd.form.error.validator.rePassword': '两次输入的密码不一致',
'userCenter.securitySettings.updatePwd.form.error.required.oldPassword':
'请输入当前密码',
'userCenter.securitySettings.updatePwd.form.error.required.newPassword':
'请输入新密码',
'userCenter.securitySettings.updatePwd.form.error.match.newPassword':
'长度为 6 到 32 位,同时包含字母和数字',
'userCenter.securitySettings.updatePwd.form.error.validator.newPassword':
'新密码不能与当前密码相同',
'userCenter.securitySettings.updatePwd.form.error.required.rePassword':
'请再次输入新密码',
'userCenter.securitySettings.updatePwd.form.error.validator.rePassword':
'两次输入的密码不一致',
// update-phone
'userCenter.securitySettings.updatePhone.label.phone': '安全手机',
@@ -71,20 +83,30 @@ export default {
'userCenter.securitySettings.updateEmail.modal.title': '修改邮箱',
'userCenter.securitySettings.updateEmail.form.label.newEmail': '新邮箱',
'userCenter.securitySettings.updateEmail.form.label.captcha': '验证码',
'userCenter.securitySettings.updateEmail.form.label.currentPassword': '当前密码',
'userCenter.securitySettings.updateEmail.form.label.currentPassword':
'当前密码',
'userCenter.securitySettings.updateEmail.form.sendCaptcha': '发送验证码',
'userCenter.securitySettings.updateEmail.form.reSendCaptcha': '重新发送',
'userCenter.securitySettings.updateEmail.form.loading.sendCaptcha': '发送中...',
'userCenter.securitySettings.updateEmail.form.loading.sendCaptcha':
'发送中...',
'userCenter.securitySettings.updateEmail.form.placeholder.newEmail': '请输入新邮箱',
'userCenter.securitySettings.updateEmail.form.placeholder.captcha': '请输入邮箱验证码',
'userCenter.securitySettings.updateEmail.form.placeholder.currentPassword': '请输入当前密码',
'userCenter.securitySettings.updateEmail.form.placeholder.newEmail':
'请输入邮箱',
'userCenter.securitySettings.updateEmail.form.placeholder.captcha':
'请输入邮箱验证码',
'userCenter.securitySettings.updateEmail.form.placeholder.currentPassword':
'请输入当前密码',
'userCenter.securitySettings.updateEmail.form.error.required.newEmail': '请输入新邮箱',
'userCenter.securitySettings.updateEmail.form.error.match.newEmail': '请输入正确的邮箱',
'userCenter.securitySettings.updateEmail.form.error.validator.newEmail': '新邮箱不能与当前邮箱相同',
'userCenter.securitySettings.updateEmail.form.error.required.captcha': '请输入邮箱验证码',
'userCenter.securitySettings.updateEmail.form.error.required.currentPassword': '请输入当前密码',
'userCenter.securitySettings.updateEmail.form.error.required.newEmail':
'请输入邮箱',
'userCenter.securitySettings.updateEmail.form.error.match.newEmail':
'请输入正确的邮箱',
'userCenter.securitySettings.updateEmail.form.error.validator.newEmail':
'新邮箱不能与当前邮箱相同',
'userCenter.securitySettings.updateEmail.form.error.required.captcha':
'请输入邮箱验证码',
'userCenter.securitySettings.updateEmail.form.error.required.currentPassword':
'请输入当前密码',
'userCenter.securitySettings.button.update': '修改',
};

View File

@@ -3,7 +3,14 @@
<Breadcrumb :items="['menu.system', 'menu.system.user.list']" />
<a-card class="general-card" :title="$t('menu.system.user.list')">
<a-row>
<a-col :xs="9" :sm="6" :md="5" :lg="4" :xl="4" style="margin-right: 10px">
<a-col
:xs="9"
:sm="6"
:md="5"
:lg="4"
:xl="4"
style="margin-right: 10px"
>
<a-input-search
v-model="deptName"
placeholder="输入部门名称搜索"
@@ -157,13 +164,16 @@
<a-table-column title="头像" align="center">
<template #cell="{ record }">
<a-avatar>
<img :src="getAvatar(record.avatar, record.gender)" alt="头像" />
<img
:src="getAvatar(record.avatar, record.gender)"
alt="头像"
/>
</a-avatar>
</template>
</a-table-column>
<a-table-column title="联系方式" :width="170">
<template #cell="{ record }">
{{ record.email }}<br v-if="record.email && record.phone">
{{ record.email }}<br v-if="record.email && record.phone" />
{{ record.phone }}
</template>
</a-table-column>
@@ -173,7 +183,10 @@
v-model="record.status"
:checked-value="1"
:unchecked-value="2"
:disabled="record.disabled || !checkPermission(['system:user:update'])"
:disabled="
record.disabled ||
!checkPermission(['system:user:update'])
"
@change="handleChangeStatus(record)"
/>
</template>
@@ -186,7 +199,7 @@
</a-table-column>
<a-table-column title="创建人/创建时间" :width="175">
<template #cell="{ record }">
{{ record.createUserString }}<br>
{{ record.createUserString }}<br />
{{ record.createTime }}
</template>
</a-table-column>
@@ -240,7 +253,9 @@
size="small"
title="重置密码"
>
<template #icon><svg-icon icon-class="privacy" /></template>
<template #icon
><svg-icon icon-class="privacy"
/></template>
</a-button>
</a-popconfirm>
<a-button
@@ -251,7 +266,9 @@
:disabled="record.disabled"
@click="toUpdateRole(record.id)"
>
<template #icon><svg-icon icon-class="reference" /></template>
<template #icon
><svg-icon icon-class="reference"
/></template>
</a-button>
</template>
</a-table-column>
@@ -325,7 +342,11 @@
style="width: 431px"
/>
</a-form-item>
<a-form-item label="所属角色" field="roleIds" :disabled="form.disabled">
<a-form-item
label="所属角色"
field="roleIds"
:disabled="form.disabled"
>
<a-select
v-model="form.roleIds"
:options="roleOptions"