From 447a59c76ab12961bce6ae2f9ca6c5cce1905ad8 Mon Sep 17 00:00:00 2001 From: luobisheng <727299681@qq.com> Date: 星期四, 24 十一月 2022 18:00:42 +0800 Subject: [PATCH] 修改密码 --- src/views/layout/components/Header/updatePassword/index.vue | 136 ++++++++++++++------------------------------ 1 files changed, 44 insertions(+), 92 deletions(-) diff --git a/src/views/layout/components/Header/updatePassword/index.vue b/src/views/layout/components/Header/updatePassword/index.vue index bd9562e..cfe2094 100644 --- a/src/views/layout/components/Header/updatePassword/index.vue +++ b/src/views/layout/components/Header/updatePassword/index.vue @@ -2,116 +2,69 @@ <div class="createUser"> <main> <div class="mainContent"> - <el-form ref="user" label-width="140px" :rules="createCarRules" autoComplete="on" :model="car" + <el-form ref="password" label-width="140px" :rules="passwordRules" autoComplete="on" :model="password" label-position="right"> - <!-- 杞︾墝鍙� --> - <el-form-item class="optionItem" label="褰撳墠瀵嗙爜:" prop="carNumber"> - <el-input v-model="car.carNumber" placeholder="璇峰~鍐欏綋鍓嶅瘑鐮�"></el-input> + <el-form-item class="optionItem" label="褰撳墠瀵嗙爜:" prop="oldPassword"> + <el-input type="password" v-model="password.oldPassword" placeholder="璇峰~鍐欏綋鍓嶅瘑鐮�"></el-input> </el-form-item> - <!-- 鎵�灞為儴闂� --> - <el-form-item class="optionItems" label="鏂板瘑鐮�:" prop="depart"> - <el-input v-model="car.depart" placeholder="璇峰~鍐欐柊瀵嗙爜"></el-input> + <el-form-item class="optionItems" label="鏂板瘑鐮�:" prop="newPassword"> + <el-input type="password" v-model="password.newPassword" placeholder="璇峰~鍐欐柊瀵嗙爜"></el-input> </el-form-item> - <!-- 鎵�灞炲ぇ闃� --> - <el-form-item class="optionItems" label="纭畾鏂板瘑鐮�:" prop="belong"> - <el-input v-model="car.belong" placeholder="璇蜂簩娆″~鍐欐柊瀵嗙爜"></el-input> + <el-form-item class="optionItems" label="纭畾鏂板瘑鐮�:" prop="confirmPassword"> + <el-input type="password" v-model="password.confirmPassword" placeholder="璇峰啀娆″~鍐欐柊瀵嗙爜"></el-input> </el-form-item> + <el-form-item class="optionItems"> + <el-button type="primary" @click="onSubmit">鎻愪氦</el-button> + </el-form-item> </el-form> </div> </main> </div> </template> <script> -import {validateCarNum,validatePhone,validateName} from '@/utils/validate' +import users from "@/api/users"; + export default { data() { - const checkCarNum = (rule, value, callback) => { - if (value) { - if(validateCarNum(value)){ - callback() - }else{ - callback(new Error('璇疯緭鍏ユ纭殑瀵嗙爜')); - } - } else { - callback(new Error('瀵嗙爜涓嶈兘涓虹┖')); - } - } - const checkName = (rule, value, callback) => { - if (value) { - if(validateName(value)){ - callback() - }else{ - callback(new Error('璇疯緭鍏ユ纭殑瀵嗙爜')); - } - } else { - callback(new Error('鏂板瘑鐮佷笉鑳戒负绌�')); - } - } - const checkUser = (rule, value, callback) => { - if (value) { - if(validateName(value)){ - callback() - }else{ - callback(new Error('璇疯緭鍏ユ纭殑瀵嗙爜')); - } - } else { - callback(new Error('鏂板瘑鐮佷笉鑳戒负绌�')); - } - } - const checkPhone = (rule, value, callback) => { - if (value) { - if(validatePhone(value)){ - callback() - }else{ - callback(new Error('璇疯緭鍏ユ纭殑鎵嬫満鍙�')); - } - } else { - callback(new Error('鎵嬫満鍙风爜涓嶈兘涓虹┖')); - } - } return { - car: { - }, - createCarRules: { - carNumber: [ - { - required: true, trigger:'blur', validator: checkCarNum - } - ], - contact: [ - { - required: true,trigger:'blur', validator: checkPhone - } - ], - // id: 0, - ownerName: [ - { - required: true,trigger:'blur', validator: checkName - } - ], - vehicleUser: [ - { - required: true,trigger:'blur', validator: checkUser - } - ] - }, - teamList: [ - { - label: '澶ч槦涓�', - value: 1, - }, - { - label: '澶ч槦浜�', - value: 2, - }, - ] + password: { + oldPassword: null, + newPassword: null, + confirmPassword: null + }, + passwordRules: { + newPassword: [{ required: true, trigger: 'blur', message: '瀵嗙爜涓嶈兘涓虹┖' }], + oldPassword: [{ required: true, trigger: 'blur', message: '鏂板瘑鐮佷笉鑳戒负绌�' }], + confirmPassword: [{ required: true, trigger: 'blur', message: '鏂板瘑鐮佷笉鑳戒负绌�' }], + }, } }, created() { }, methods: { + onSubmit() { + this.$refs.password.validate(valid => { + if (valid) { + const userName = JSON.parse(sessionStorage.getItem('name')); + const passwordParams = Object.assign({}, this.password); + delete passwordParams.confirmPassword; + users.updatePassword({ username: userName, ...passwordParams }) + .then(() => { + this.$message.success('淇敼瀵嗙爜鎴愬姛, 鍗冲皢閲嶆柊鐧诲綍'); + this.logout(); + }) + .catch(err => this.$message.error(err)) + } + }) + }, + logout() { + users.logout() + .then(() => { + sessionStorage.clear(); + }) + .catch(err => this.$message.error(err)) + } }, - // props: ['info'] } </script> <style lang="scss" scoped> @@ -120,7 +73,6 @@ background-color: #09152f; main { - // border: 1px solid #fff; text-align: left; padding: 0 55px; background-color: #09152f; -- Gitblit v1.8.0