|
@@ -7,7 +7,11 @@
|
|
|
</header>
|
|
</header>
|
|
|
<main class="login-form__main">
|
|
<main class="login-form__main">
|
|
|
<el-form ref="formRef" :model="login" label-width="auto" class="login-form__form">
|
|
<el-form ref="formRef" :model="login" label-width="auto" class="login-form__form">
|
|
|
- <el-form-item prop="username" :rules="[{ required: true, message: '账号不能为空' }]">
|
|
|
|
|
|
|
+ <el-form-item
|
|
|
|
|
+ prop="username"
|
|
|
|
|
+ :rules="[{ required: true, message: '账号不能为空' }]"
|
|
|
|
|
+ v-if="type !== 'modifyPassword'"
|
|
|
|
|
+ >
|
|
|
<el-input
|
|
<el-input
|
|
|
placeholder="请输入您的账号"
|
|
placeholder="请输入您的账号"
|
|
|
v-model="login.username"
|
|
v-model="login.username"
|
|
@@ -17,9 +21,12 @@
|
|
|
class="el-input--default"
|
|
class="el-input--default"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item prop="password" :rules="[{ required: true, message: '密码不能为空' }]">
|
|
|
|
|
|
|
+ <el-form-item
|
|
|
|
|
+ prop="password"
|
|
|
|
|
+ :rules="[{ required: true, message: type === 'modifyPassword' ? '原密码不能为空' : '密码不能为空' }]"
|
|
|
|
|
+ >
|
|
|
<el-input
|
|
<el-input
|
|
|
- placeholder="请输入您的密码"
|
|
|
|
|
|
|
+ :placeholder="type !== 'modifyPassword' ? '请输入您的密码' : '请输入原密码'"
|
|
|
v-model="login.password"
|
|
v-model="login.password"
|
|
|
type="password"
|
|
type="password"
|
|
|
autocomplete="off"
|
|
autocomplete="off"
|
|
@@ -28,6 +35,42 @@
|
|
|
class="el-input--default"
|
|
class="el-input--default"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
+ <el-form-item
|
|
|
|
|
+ prop="newPassword"
|
|
|
|
|
+ v-if="type === 'modifyPassword'"
|
|
|
|
|
+ :rules="[
|
|
|
|
|
+ { required: true, message: '新密码不能为空' },
|
|
|
|
|
+ { min: 6, message: '新密码至少6位' },
|
|
|
|
|
+ ]"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ placeholder="请输入新密码(至少6位)"
|
|
|
|
|
+ v-model="login.newPassword"
|
|
|
|
|
+ type="password"
|
|
|
|
|
+ autocomplete="off"
|
|
|
|
|
+ show-password
|
|
|
|
|
+ clearable
|
|
|
|
|
+ class="el-input--default"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item
|
|
|
|
|
+ prop="confirmPassword"
|
|
|
|
|
+ v-if="type === 'modifyPassword'"
|
|
|
|
|
+ :rules="[
|
|
|
|
|
+ { required: true, message: '确认密码不能为空' },
|
|
|
|
|
+ { validator: validatePassword, trigger: 'blur' },
|
|
|
|
|
+ ]"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ placeholder="请确认密码"
|
|
|
|
|
+ v-model="login.confirmPassword"
|
|
|
|
|
+ type="password"
|
|
|
|
|
+ autocomplete="off"
|
|
|
|
|
+ show-password
|
|
|
|
|
+ clearable
|
|
|
|
|
+ class="el-input--default"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
prop="code"
|
|
prop="code"
|
|
|
:rules="[{ required: true, message: '验证码不能为空' }]"
|
|
:rules="[{ required: true, message: '验证码不能为空' }]"
|
|
@@ -62,8 +105,17 @@
|
|
|
username: '',
|
|
username: '',
|
|
|
password: '',
|
|
password: '',
|
|
|
code: '',
|
|
code: '',
|
|
|
|
|
+ newPassword: '',
|
|
|
|
|
+ confirmPassword: '',
|
|
|
});
|
|
});
|
|
|
const emit = defineEmits(['close']);
|
|
const emit = defineEmits(['close']);
|
|
|
|
|
+ const validatePassword = (rule: any, value: string, callback: any) => {
|
|
|
|
|
+ if (value !== login.newPassword) {
|
|
|
|
|
+ callback(new Error('两次输入密码不一致'));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ callback();
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
const formRef = ref<FormInstance>();
|
|
const formRef = ref<FormInstance>();
|
|
|
const handleLogin = () => {
|
|
const handleLogin = () => {
|
|
|
if (!formRef.value) return;
|
|
if (!formRef.value) return;
|