Brak opisu

AccountSettings.vue 5.1KB

    <template> <div class="newsmMain"> <div class="newsLeft"> <ul> <li>工作台</li> <li>密码修改</li> <li class='band'>账号绑定</li> </ul> </div> <div class="newsRight"> <el-tabs > <el-tab-pane label="当前密码"> <div class="updataPa"> <el-form label-width="100px" class="demo-ruleForm" size="medium" :model="ruleForm2" status-icon :rules="rules2" ref="ruleForm2"> <el-form-item label="当前密码" prop="loginPass"> <el-input type="password" auto-complete="off" v-model="ruleForm2.loginPass"></el-input><span class="forgetPass">忘记密码?</span> </el-form-item> <el-form-item label="新密码" prop="pass"> <el-input type="password" v-model="ruleForm2.pass" auto-complete="off"></el-input> </el-form-item> <el-form-item label="确认密码" prop="checkPass"> <el-input type="password" v-model="ruleForm2.checkPass" auto-complete="off"></el-input> </el-form-item> </el-form> <el-row> <el-button type="primary" size="medium" class="save" @click="submitForm('ruleForm2')" :disabled="ruleForm2.diab">保存</el-button> </el-row> </div> </el-tab-pane> </el-tabs> </div> </div> </template> <script> import Cookies from 'js-cookie'; import httpUrl from '@/libs/http'; export default { data() { var validatePass = (rule, value, callback) => { if (this.ruleForm2.pass !== '' && this.ruleForm2.checkPass !== '' && this.ruleForm2.loginPass !== '') { this.ruleForm2.diab = false; } if (value.length < 6) { callback(new Error('密码由6-24个字符组成,区分大小写')); } else { if (this.ruleForm2.checkPass !== '') { this.$refs.ruleForm2.validateField('checkPass'); } callback(); } }; var validatePass3 = (rule, value, callback) => { if (this.ruleForm2.pass !== '' && this.ruleForm2.checkPass !== '' && this.ruleForm2.loginPass !== '') { this.ruleForm2.diab = false; } if (value.length < 6) { callback(new Error('密码由6-24个字符组成,区分大小写')); } else { if (this.ruleForm2.checkPass !== '') { this.$refs.ruleForm2.validateField('checkPass'); } callback(); } }; var validatePass2 = (rule, value, callback) => { if (this.ruleForm2.pass !== '' && this.ruleForm2.checkPass !== '' && this.ruleForm2.loginPass !== '') { this.ruleForm2.diab = false; } if (value.length < 6) { callback(new Error('密码由6-24个字符组成,区分大小写')); } else if (value !== this.ruleForm2.pass) { callback(new Error('两次输入不一致,请重新输入')); } else { callback(); } }; return { ruleForm2: { pass: '', checkPass: '', loginPass: '', diab: true }, rules2: { pass: [ { validator: validatePass, trigger: 'blur' } ], checkPass: [ { validator: validatePass2, trigger: 'blur' } ], loginPass: [ { validator: validatePass3, trigger: 'blur' } ] } }; }, methods: { open() { this.$confirm('密码修改成功!', '提示', { confirmButtonText: '确定', type: 'success', showCancelButton: false, center: true }); }, submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { this.$axios.post(httpUrl.hQuery.sign.modifypw, { id: Cookies.get('platId'), npw: this.ruleForm2.pass, opw: this.ruleForm2.loginPass }).then((res) => { if (res.success) { if (res.data === 1) { this.open(); this.$refs[formName].resetFields(); } } }); } else { console.log('error submit!!'); return false; } }); } } }; </script> <style lang="stylus" rel="stylesheet/stylus"> @import '../bench-views/workCommon'; @import '../bench-views/Siderbar.styl' .newsmMain .updataPa display: flex flex-direction: column; align-items: center margin-top: 50px .save padding: 10px 50px margin-top: 20px position: relative left: 20px .el-form-item position: relative width: 400px .forgetPass color: $mainColor position: absolute top: 0 right: -80px .newsLeft .band margin-top: 0px border-top: none </style>