lyfO_o
2022-05-06 4b4622c9f74150ca60eb7c4f038e55fb98be02d7
修改密码:v1
已修改4个文件
已添加1个文件
199 ■■■■■ 文件已修改
src/api/user.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/permission.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/components/login-form.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/pwdChange.vue 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/user.js
@@ -244,3 +244,12 @@
        data
    })
}
export function pwdChange(data) {
    return request({
        url: process.env.BASE_API + '/pwd-change',
        method: 'post',
        data
    })
}
src/permission.js
@@ -17,7 +17,7 @@
  return roles.some(role => permissionRoles.indexOf(role) >= 0)
}
const whiteList = ['/login', '/auth-redirect','/agreement','/register','/productionEquipment','/instrumentData','/equipmentAlarm'] // no redirect whitelist
const whiteList = ['/login','/pwdChange', '/auth-redirect','/agreement','/register','/productionEquipment','/instrumentData','/equipmentAlarm'] // no redirect whitelist
router.beforeEach((to, from, next) => {
  NProgress.start() // start progress bar
src/router/index.js
@@ -53,6 +53,12 @@
        hidden: true
    },
    {
        path: '/pwdChange',
        // 密码变更
        component: () => import('@/views/login/pwdChange'),
        hidden: true
    },
    {
        path: '/',
        component: Layout,
        redirect: '/specialWorkManage/index/specialWorkManage/workPlan/index/specialWorkManage/workPlan/reserve',
src/views/login/components/login-form.vue
@@ -1,6 +1,7 @@
<template>
    <div class="login-form">
        <div class="login-form-title"><span>登录</span></div>
        <div style="position: relative" ><div class="pwd-change-redirect"><el-link :underline="false" type="primary" @click="()=>{ this.$router.push({path:'/pwdChange'})}">忘记密码</el-link></div></div>
        <div class="login-form-main">
            <el-form ref="loginForm" :model="loginForm" :rules="loginRules" :inline="false" class="loginForm" @keydown.enter.native="handleSubmit">
                <div class="login-form-main-user"><span>用户名</span></div>
@@ -187,7 +188,7 @@
    }
    .login-form-title{
        width: 60px;
        height: 143px;
        height: 130px;
        font-size: 30px;
        font-family: PingFangSC-Medium, PingFang SC;
        font-weight: 600;
@@ -252,4 +253,9 @@
        color: white;
        border-radius: 4px;
    }
    .pwd-change-redirect{
        position: relative;
        left: 340px;
        top: 0;
    }
</style>
src/views/login/pwdChange.vue
对比新文件
@@ -0,0 +1,174 @@
<template>
    <div class="register_main">
        <div class="register_main_body">
            <span class="register_main_body_span">密码重置</span>
        </div>
        <div class="register_main_form">
            <el-form :model="pwdForm" :rules="rules" ref="ruleForm" label-width="150px">
                <el-row>
                    <el-col :span="20">
                        <el-form-item label="姓名" prop="username">
                            <el-input v-model="pwdForm.username"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="20">
                        <el-form-item label="手机号(账户)" prop="phone">
                            <el-input v-model="pwdForm.phone" ref="tel"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="20">
                        <el-form-item label="密码" prop="password">
                            <el-input v-model="pwdForm.password"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="20">
                        <el-form-item label="确认密码" prop="repassword">
                            <el-input v-model="pwdForm.repassword"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                </el-row>
            </el-form>
            <div  align="center" style="padding-bottom: 30px">
                <el-button type="primary" :disabled="submitting" @click="submit()">修改密码</el-button>
            </div>
        </div>
    </div>
</template>
<script>
import {pwdChange} from "../../api/user";
import {parseError} from "../../utils/messageDialog";
export default {
    name: "register",
    data(){
        return{
            submitting: false,
            pwdForm:{
                username:'',
                password:'',
                repassword:'',
                phone:'',
            },
            rules:{
                username:[
                    { required: true, message: '请填写姓名', trigger: 'blur' },
                ],
                phone:[
                    { required: true, message: '请填写手机号', trigger: 'blur' },
                ],
                password:[
                    { required: true, message: '请填写密码', trigger: 'blur' },
                ],
                repassword:[
                    { required: true, message: '请填写确认密码', trigger: 'blur' },
                ],
            },
        }
    },
    watch:{
    },
    created(){
    },
    methods:{
        async submit(){
            if (this.pwdForm.password !==  this.pwdForm.repassword) {
                this.$message({
                    type:'warning',
                    message:'两次密码输入不一致'
                })
                return
            }
            if (this.pwdForm.phone.length !== 11) {
                this.$message({
                    type:'warning',
                    message:'手机号长度不为11'
                })
                return
            }
            this.$refs["ruleForm"].validate((valid) =>{
                if(valid){
                    this.register()
                }else{
                    this.$message({
                        type:'warning',
                        message:'请填写基本信息'
                    })
                }
            });
        },
        register(){
            this.submitting = true
            pwdChange(this.pwdForm)
                .then(res=>{
                    if (res.data.code === '200') {
                        this.$message({
                            type:'success',
                            message:'修改成功'
                        })
                        setTimeout(()=>{
                            this.$router.push({path:'/login'})
                        },1000)
                    }else{
                        this.$message({
                            type:'warning',
                            message:res.data.message
                        })
                    }
                })
                .catch(err=>{
                    console.log(err)
                    this.$message({
                        type:'warning',
                        message:'请求超时'
                    })
                })
                .finally(()=>{
                    this.submitting = false
                });
        }
    }
}
</script>
<style rel="stylesheet/scss" lang="scss">
$dark_gray:#889aa4;
.register_main{
    display: block;
    width: 100%;
    max-width: 1200px;
    padding: 0 20px;
    margin: 30px auto
}
.register_main_body{
    font-size: 24px;
}
.register_main_form{
    padding-top: 70px;
    margin: 30px auto;
    max-width: 800px;
    display: block;
    width: 100%;
}
.register_main_body_span{
    padding: 6px 5px 6px 15px;
    color: $dark_gray;
    vertical-align: middle;
    width: 30px;
    display: inline-block;
}
</style>