123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- <template>
- <div class="app-container common-list-page">
- <el-form
- ref="temp"
- :model="temp"
- :rules="rules"
- status-icon
- label-width="100px"
- >
- <el-form-item label="旧密码:" prop="oldpassword">
- <el-input v-model="temp.oldpassword" type="password" auto-complete="off" />
- </el-form-item>
- <el-form-item label="新密码:" prop="password">
- <el-input v-model="temp.password" type="password" auto-complete="off" />
- </el-form-item>
- <el-form-item label="确认密码:" prop="password1">
- <el-input v-model="temp.password1" type="password" auto-complete="off" />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click.native.prevent="toAmend">确认修改</el-button>
- </el-form-item>
- </el-form>
- </div>
- </template>
- <script>
- import { PostDataByName } from '@/api/common'
- export default {
- name: 'Changpwd',
- data() {
- var oldPass = (rule, value, callback) => {
- if (!value) {
- callback(new Error('请输入旧密码'))
- } else if (value.toString().length < 6 || value.toString().length > 18) {
- callback(new Error('密码长度为6-18位'))
- } else {
- callback()
- }
- }
- var validatePass = (rule, value, callback) => {
- console.log(value)
- if (!value) {
- callback(new Error('请输入新密码'))
- } else if (value.toString().length < 6 || value.toString().length > 18) {
- callback(new Error('密码长度为6-18位'))
- } else {
- callback()
- }
- }
- var validatePass2 = (rule, value, callback) => {
- if (value === '') {
- callback(new Error('请再次输入密码'))
- } else if (value !== this.temp.password) {
- callback(new Error('两次输入密码不一致!'))
- } else {
- callback()
- }
- }
- return {
- resetForm: {
- name: 'updatePwd',
- returntype: 'Map',
- parammaps: {
- password: '',
- username: this.$store.state.user.name
- }
- },
- temp: {},
- rules: {
- oldpassword: [
- { required: true, validator: oldPass, trigger: 'blur' }
- ],
- password: [
- { required: true, validator: validatePass, trigger: 'blur' }
- ],
- password1: [
- { required: true, validator: validatePass2, trigger: 'blur' }
- ]
- }
- }
- },
- methods: {
- toAmend() {
- console.log(111)
- this.$refs['temp'].validate(valid => {
- if (valid) {
- this.resetForm.parammaps.password = this.temp.password
- this.resetForm.parammaps.username = this.$store.state.user.name
- PostDataByName(this.resetForm).then(response => {
- if (response.msg === 'fail') {
- this.$notify({
- title: '失败',
- message: '修改失败',
- type: 'danger',
- duration: 2000
- })
- } else {
- setTimeout(() => {
- this.logout() // 调用跳转到登陆页的方法
- }, 1000)
- this.$notify({
- title: '成功',
- message: '修改成功',
- type: 'success',
- duration: 2000
- })
- }
- console.log(response)
- })
- }
- })
- },
- // 这是修改成功后重新返回登陆页的方法,看个人需要自行调整
- async logout() {
- await this.$store.dispatch('user/logout')
- this.$router.push(`/login`)
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .el-form {
- width: 60%;
- margin: 50px auto 0;
- text-align: center;
- button {
- margin: 20px 0 0;
- }
- }
- </style>
|