车管所-体检预约-前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

149 lines
3.6 KiB

<template>
<div>
<basic-container>
<avue-tabs :option="tabOption" @change="handleTabClick"></avue-tabs>
<div v-if="index === 0">
<avue-form :option="userInfoOption" v-model="form" @submit="handleSubmit"></avue-form>
</div>
<div v-else-if="index === 1"><avue-form ref="pwdForm" :option="userPwdOption" v-model="pwdform" @submit="handleSubmit2">
</avue-form>
</div>
</basic-container>
</div>
</template>
<script>
import { userInfoOption } from "@/option/user/info";
import { getUserInfo, updateInfo, updatePassword } from "@/api/system/user";
import md5 from 'js-md5';
import func from "@/util/func";
export default {
data() {
var validatePass2 = (rule, value, callback) => {
if (value === '') {
callback(new Error('请再次输入密码'));
} else if (value !== this.pwdform.newPassword1) {
callback(new Error('两次输入密码不一致!'));
} else {
callback();
}
};
return {
index: 0,
tabOption: {
column: [{
label: '个人信息',
prop: '0',
}, {
label: '修改密码',
prop: '1',
},]
},
userInfoOption: userInfoOption,
userPwdOption: {
column: [{
label: '原密码',
span: 12,
row: true,
type: 'password',
prop: 'oldPassword',
rules: [{
required: true,
message: "请输入原密码",
trigger: "blur"
}]
}, {
label: '新密码',
span: 12,
row: true,
type: 'password',
prop: 'newPassword',
rules: [{
required: true,
message: "请输入新密码",
trigger: "blur"
}]
}, {
label: '确认密码',
span: 12,
row: true,
type: 'password',
prop: 'newPassword1',
rules: [{ validator: validatePass2, trigger: 'blur' }]
}]
},
form: {},
pwdform: {}
};
},
created() {
this.handleWitch();
},
methods: {
handleSubmit(form, done) {
updateInfo(form).then(res => {
if (res.data.success) {
this.$message({
type: "success",
message: "修改信息成功!"
});
} else {
this.$message({
type: "error",
message: res.data.msg
});
}
done();
}, error => {
window.console.log(error);
done();
})
},
handleSubmit2(form, done) {
updatePassword(md5(form.oldPassword), md5(form.newPassword), md5(form.newPassword1)).then(res => {
if (res.data.success) {
this.$message({
type: "success",
message: "修改密码成功!"
});
} else {
this.$message({
type: "error",
message: res.data.msg
});
}
done();
}, error => {
window.console.log(error);
done();
})
},
handleWitch() {
if (this.index === 0) {
getUserInfo().then(res => {
const user = res.data.data;
this.form = {
id: user.id,
avatar: user.avatar,
name: user.name,
realName: user.realName,
phone: user.phone,
email: user.email,
}
});
}
},
handleTabClick(tabs) {
if(tabs.prop != '1'){
this.$refs.pwdForm.resetForm();
}
this.index = func.toInt(tabs.prop);
this.handleWitch();
}
}
};
</script>
<style></style>