提交 21e8a184 authored 作者: 王鹏飞's avatar 王鹏飞

feat: 密码增加显示隐藏切换

上级 ec463256
...@@ -2,20 +2,36 @@ ...@@ -2,20 +2,36 @@
<div> <div>
<el-form :model="ruleForm" :rules="rules" ref="form" @submit.prevent> <el-form :model="ruleForm" :rules="rules" ref="form" @submit.prevent>
<el-form-item prop="account"> <el-form-item prop="account">
<el-input v-model="ruleForm.account" :placeholder="$t('loginPwd.account.placeholder')" @keyup.enter="handleSubmit"> <el-input
v-model="ruleForm.account"
:placeholder="$t('loginPwd.account.placeholder')"
@keyup.enter="handleSubmit">
<template #prefix> <template #prefix>
<el-icon class="el-input__icon"><User /></el-icon> <el-icon class="el-input__icon"><User /></el-icon>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="password"> <el-form-item prop="password">
<el-input type="password" v-model="ruleForm.password" :placeholder="$t('loginPwd.password.placeholder')" @keyup.enter="handleSubmit"> <el-input
:type="showPassword ? 'text' : 'password'"
v-model="ruleForm.password"
:placeholder="$t('loginPwd.password.placeholder')"
@keyup.enter="handleSubmit">
<template #prefix> <template #prefix>
<el-icon class="el-input__icon"><Lock /></el-icon> <el-icon class="el-input__icon"><Lock /></el-icon>
</template> </template>
<template #suffix>
<el-icon class="el-input__icon" @click="toggle" style="cursor: pointer">
<View v-if="showPassword" />
<Hide v-else />
</el-icon>
</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<router-link :to="{ path: '../password', query: $route.query }" class="forget-password-text" v-if="hasForgetPassword"> <router-link
:to="{ path: '../password', query: $route.query }"
class="forget-password-text"
v-if="hasForgetPassword">
{{ $t('login.forgetPassword') }} {{ $t('login.forgetPassword') }}
</router-link> </router-link>
<!-- <el-checkbox v-if="hasRemember" v-model="ruleForm.RememberMe" style="margin-bottom: 10px">{{ $t('login.rememberMe') }}</el-checkbox> --> <!-- <el-checkbox v-if="hasRemember" v-model="ruleForm.RememberMe" style="margin-bottom: 10px">{{ $t('login.rememberMe') }}</el-checkbox> -->
...@@ -31,11 +47,12 @@ ...@@ -31,11 +47,12 @@
<script> <script>
import * as api from '@/api/account' import * as api from '@/api/account'
import { User, Lock } from '@element-plus/icons-vue' import { User, Lock, View, Hide } from '@element-plus/icons-vue'
export default { export default {
name: 'LoginAccount', name: 'LoginAccount',
components: { User, Lock }, // eslint-disable-next-line vue/no-reserved-component-names
components: { User, Lock, View, Hide },
props: { props: {
hasCodeLogin: { type: Boolean, default: true }, hasCodeLogin: { type: Boolean, default: true },
hasForgetPassword: { type: Boolean, default: true }, hasForgetPassword: { type: Boolean, default: true },
...@@ -49,7 +66,8 @@ export default { ...@@ -49,7 +66,8 @@ export default {
account: [{ required: true, message: this.$t('loginPwd.account.rule'), trigger: 'change' }], account: [{ required: true, message: this.$t('loginPwd.account.rule'), trigger: 'change' }],
password: [{ required: true, message: this.$t('loginPwd.password.rule'), trigger: 'change' }] password: [{ required: true, message: this.$t('loginPwd.password.rule'), trigger: 'change' }]
}, },
loading: false loading: false,
showPassword: false
} }
}, },
computed: { computed: {
...@@ -88,6 +106,9 @@ export default { ...@@ -88,6 +106,9 @@ export default {
this.$emit('success', response) this.$emit('success', response)
} }
window.localStorage.clear() window.localStorage.clear()
},
toggle() {
this.showPassword = !this.showPassword
} }
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论