86df2077 by joe

基本功能調整

1 parent fe41890b
......@@ -47,7 +47,7 @@ export default {
let userInfo = JSON.parse(decodeURIComponent(userInfoStr));
this.$store.commit("SET_USER_INFO", userInfo);
if (userInfo && userInfo.sid) {
httpPost({ url: api.profile, sidStr: userInfo.sid }).then(res => {
httpPost({ url: api.baseInfo, sidStr: userInfo.sid }).then(res => {
if (res) {
this.$store.commit("SET_USER_INFO", userInfo);
} else {
......
module.exports = {
load: "/pingan_hklife_webapi/user/load",
logout: "/pingan_hklife_webapi/user/logout",
// 基本信息
baseInfo: "/pingan_hklife_webapi/user/baseInfo",
// 用户身份信息
profile: "/pingan_hklife_webapi/user/profile",
// 是否显示图形验证码接口
......
......@@ -15,10 +15,10 @@ module.exports = {
datePicker: {
datePlaceholder: "please select date"
},
modalUploadCard:{
tit:"請上傳證件資料",
front:"證件正面",
back:"證件反面",
modalUploadCard: {
tit: "請上傳證件資料",
front: "證件正面",
back: "證件反面",
}
},
nav: {
......@@ -43,6 +43,12 @@ module.exports = {
value: ""
},
{
name: "profile",
path: "/infomation/improve",
type: "auth",
value: ""
},
{
name: "logout",
path: "",
type: "auth",
......@@ -617,7 +623,7 @@ module.exports = {
}
},
policyChangeInformation: {
title : "Change of Customer Information",
title: "Change of Customer Information",
hkClient: "HK Customer",
yes: "是",
no: "否",
......@@ -729,6 +735,14 @@ module.exports = {
e1: "請填寫該項內容",
e2: "請填寫正確的聯繫方式"
}
},
unauth: {
tips: "If you have a ping an all in one account account, it can help us provide better services for you",
or: "or",
login: " login",
register: " register",
baseInfoTip : "Your complete information can help us to provide you with complete services",
infoBtn : " Go to perfection"
}
}
}
......
......@@ -43,6 +43,12 @@ module.exports = {
value: ""
},
{
name: "個人信息",
path: "/infomation/improve",
type: "auth",
value: ""
},
{
name: "登出",
path: "",
type: "auth",
......@@ -729,6 +735,14 @@ module.exports = {
e1: "請填寫該項內容",
e2: "請填寫正確的聯繫方式"
}
},
unauth: {
tips: "如您有平安一賬通賬戶,可幫助我們更好地為您提供服務",
or: "或",
login: "登錄",
register: "註冊",
baseInfoTip : "您的完整信息可幫助我們為你提供完整服務",
infoBtn : "前往完善"
}
}
}
......
import {
mapState
} from 'vuex';
export default {
props: {
checkProfile: false,
},
data() {
return {
key: 'value',
showProfileInfo: false,
showUnAuth: false
}
},
components: {},
computed: {
...mapState({
userInfo: state => state.userInfo
}),
locale() {
return this.$i18n.locale || 'tc';
},
i18n() {
return this.$i18n.messages && this.$i18n.locale ? this.$i18n.messages[this.$i18n.locale] : {};
},
showPanel(){
return this.showProfileInfo || this.showUnAuth;
}
},
methods: {
initData() {
if (this.userInfo && this.userInfo.name) {
this.loginAction();
} else {
this.logoutAction();
}
},
loginAction() {
this.showUnAuth = false;
if (this.checkProfile) {
if (this.userInfo.hadFullInfo == 1) {
this.$emit("onLogin", this.userInfo);
} else {
this.showProfileInfo = true;
}
} else {
this.$emit("onLogin", this.userInfo);
}
},
logoutAction() {
this.showUnAuth = true;
this.$emit("onLogout", {});
},
gotoLoginPage() {
this.$router.push({ path: "/login" });
},
gotoRegisterPage() {
this.$router.push({ path: "/register" });
},
gotoInformationPage(){
this.$router.push({ path: "/infomation/improve" });
}
},
mounted() {
this.initData();
},
created() { },
watch: {
userInfo(val) {
if (val && val.name) {
this.loginAction();
} else {
this.logoutAction();
}
}
},
}
.empty-line{
margin-bottom:500px;
}
\ No newline at end of file
<template>
<div v-if="showPanel">
<div v-if="showUnAuth">
<div class="alert">
<img class="icon" src="@/assets/images/common/icon-alert-i.png" alt="">
<div class="txt">
{{$t('customService.unauth.tips')}}
<span class="pointer btn" @click="gotoLoginPage">{{$t('customService.unauth.login')}}</span> {{$t('customService.unauth.or')}}
<span class="pointer btn" @click="gotoRegisterPage">{{$t('customService.unauth.register')}}</span>
</div>
<!-- <img class="pointer close" src="@/assets/images/common/icon-alert-close.png" alt=""> -->
</div>
</div>
<div v-if="showProfileInfo">
<div class="alert">
<img class="icon" src="@/assets/images/common/icon-alert-i.png" alt="">
<div class="txt">
{{$t('customService.unauth.baseInfoTip')}}
<span class="pointer btn" @click="gotoInformationPage">{{$t('customService.unauth.infoBtn')}}</span>
</div>
<!-- <img class="pointer close" src="@/assets/images/common/icon-alert-close.png" alt=""> -->
</div>
</div>
<div class="empty-line"></div>
</div>
</template>
<script src="./auth.js"></script>
<style lang="scss" scoped>
@import "./auth.scss";
</style>
......@@ -107,7 +107,7 @@ export default {
},
showLogoutTip() {
// 登出后的提示
alert("登出成功");
// alert("登出成功");
}
},
computed: {
......
......@@ -4,10 +4,13 @@ import {
httpPost
} from '@/api/fetch-api.js'
import Auth from '@components/auth/auth.vue';
export default {
name: "InsuranceQuery",
data() {
return {
showForm: false,
dataForm: {
},
......@@ -48,8 +51,17 @@ export default {
data.v8 = "現金";
}
this.$set(this, 'dataForm', data);
},
userLogout() {
this.showForm = false;
},
userLogin(data) {
this.showForm = true;
}
},
components: {
Auth
},
mounted() {
this.test();
},
......
<template>
<div class="container">
<div>
<auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true"></auth>
<div v-if="showForm">
<div class="cell-group">
<div class="table-header orange">
<div class="normal-header">
......
......@@ -4,9 +4,12 @@ import {
httpPost
} from '@/api/fetch-api.js'
import Auth from '@components/auth/auth.vue';
export default {
data() {
return {
showForm: false,
key: 'value',
checked1: false,
checked2: false,
......@@ -27,7 +30,9 @@ export default {
},
}
},
components: {},
components: {
Auth
},
computed: {
locale() {
return this.$i18n.locale || 'tc';
......@@ -128,7 +133,13 @@ export default {
sep = "&";
}
return path;
}
},
userLogout() {
this.showForm = false;
},
userLogin(data) {
this.showForm = true;
}
},
watch: {
'data.mobile': function () {
......
<template>
<div class="container border">
<div class="form">
<div class="form-item">
<div class="label">
<div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-phone.png"></div>{{$t('policyChangeContact.phone')}}
</div>
<div class="ipt-wrap">
<input class="ipt mail-ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="data.mobile">
<div class="agree" @click="checked1 = !checked1">
<img v-if="!checked1" class="check-icon pointer" src="@/assets/images/reservation/un-check.png">
<img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png">
<span>{{$t("policyChangeContact.checkTips")}}</span>
<div>
<auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true"></auth>
<div class="container border" v-if="showForm">
<div class="form">
<div class="form-item">
<div class="label">
<div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-phone.png"></div>{{$t('policyChangeContact.phone')}}
</div>
<div class="ipt-wrap">
<input class="ipt mail-ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="data.mobile">
<div class="agree" @click="checked1 = !checked1">
<img v-if="!checked1" class="check-icon pointer" src="@/assets/images/reservation/un-check.png">
<img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png">
<span>{{$t("policyChangeContact.checkTips")}}</span>
</div>
</div>
<div class="validator" v-if="errorTips.e1.length > 0">
<img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e1}}
</div>
</div>
<div class="form-item">
<div class="label">
<div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-location.png"></div>{{$t('policyChangeContact.address')}}
</div>
<div class="ipt-wrap">
<input class="ipt mail-ipt" type="text" :class="{err : errorTips.e2.length > 0}" v-model="data.address">
<div class="agree" @click="checked2 = !checked2">
<img v-if="!checked2" class="check-icon pointer" src="@/assets/images/reservation/un-check.png">
<img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png">
<span>{{$t("policyChangeContact.checkTips")}}</span>
</div>
<div class="validator" v-if="errorTips.e1.length > 0">
<img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e1}}
</div>
</div>
<div class="validator" v-if="errorTips.e2.length > 0">
<img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}}
</div>
</div>
<div class="form-item">
<div class="label">
<div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-mail.png"></div>{{$t('policyChangeContact.email')}}
</div>
<div class="ipt-wrap">
<input class="ipt mail-ipt" type="text" :class="{err : errorTips.e3.length > 0}" v-model="data.email">
<div class="agree" @click="checked3 = !checked3">
<img v-if="!checked3" class="check-icon pointer" src="@/assets/images/reservation/un-check.png">
<img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png">
<span>{{$t("policyChangeContact.checkTips")}}</span>
<div class="form-item">
<div class="label">
<div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-location.png"></div>{{$t('policyChangeContact.address')}}
</div>
<div class="ipt-wrap">
<input class="ipt mail-ipt" type="text" :class="{err : errorTips.e2.length > 0}" v-model="data.address">
<div class="agree" @click="checked2 = !checked2">
<img v-if="!checked2" class="check-icon pointer" src="@/assets/images/reservation/un-check.png">
<img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png">
<span>{{$t("policyChangeContact.checkTips")}}</span>
</div>
</div>
<div class="validator" v-if="errorTips.e2.length > 0">
<img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}}
</div>
</div>
<div class="form-item">
<div class="label">
<div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-mail.png"></div>{{$t('policyChangeContact.email')}}
</div>
<div class="ipt-wrap">
<input class="ipt mail-ipt" type="text" :class="{err : errorTips.e3.length > 0}" v-model="data.email">
<div class="agree" @click="checked3 = !checked3">
<img v-if="!checked3" class="check-icon pointer" src="@/assets/images/reservation/un-check.png">
<img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png">
<span>{{$t("policyChangeContact.checkTips")}}</span>
</div>
</div>
<div class="validator" v-if="errorTips.e3.length > 0">
<img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e3}}
<div class="validator" v-if="errorTips.e3.length > 0">
<img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e3}}
</div>
</div>
</div>
</div>
<div class="submit-btn" @click="updateContactsHandler">
{{$t("policyChangeContact.submit")}}
<div class="submit-btn" @click="updateContactsHandler">
{{$t("policyChangeContact.submit")}}
</div>
</div>
</div>
</template>
......
......@@ -4,13 +4,18 @@ import {
httpPost
} from '@/api/fetch-api.js'
import Auth from '@components/auth/auth.vue';
export default {
data() {
return {
showForm: false,
key: 'value'
}
},
components: {},
components: {
Auth
},
computed: {
locale() {
return this.$i18n.locale || 'tc';
......@@ -36,7 +41,13 @@ export default {
})
}
},
initData() {}
initData() {},
userLogout() {
this.showForm = false;
},
userLogin(data) {
this.showForm = true;
}
},
mounted() {},
created() {}
......
<template>
<div>
<div class="container policy-change-guide-container">
<auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true"></auth>
<div class="container policy-change-guide-container" v-if="showForm">
<div class="table">
<div class="table-header orange">
<div class="table-header-item w1">{{$t('policyChangeGuide.head1')}}</div>
......@@ -49,8 +50,7 @@
</div>
</div>
</div>
<div class="notice">
<div class="notice" v-if="showForm">
<img class="icon" src="@/assets/images/policy-change-guide/icon-pcg-notice.png" alt=""> {{$t("policyChangeGuide.notice")}} <span @click="toContactUs" class="act">{{$t("policyChangeGuide.noticeLink")}}</span>
</div>
</div>
......
......@@ -4,11 +4,13 @@ import {
httpPost
} from '@/api/fetch-api.js'
import Auth from '@components/auth/auth.vue';
import modalUploadCardComp from '@/components/modal-upload-card-comp/modal-upload-card-comp.vue';
export default {
data() {
return {
showForm: false,
key: 'value',
isHkCus: true,
checked: false,
......@@ -16,7 +18,8 @@ export default {
}
},
components: {
modalUploadCardComp
modalUploadCardComp,
Auth
},
computed: {
locale() {
......@@ -27,7 +30,13 @@ export default {
}
},
methods: {
initData() {}
initData() {},
userLogout() {
this.showForm = false;
},
userLogin(data) {
this.showForm = true;
}
},
mounted() {},
created() {}
......
<template>
<div>
<auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true"></auth>
<modal-upload-card-comp :visible="modalUploadCardVisiable" :show-confirm="true" ></modal-upload-card-comp>
<div class="container border">
<div class="container border" v-if="showForm">
<div class="table">
<div class="table-header orange">
<div class="table-header-item">{{$t('policyChangeInformation.title')}}</div>
......
<template>
<div>
<div class="alert">
<img class="icon" src="@/assets/images/common/icon-alert-i.png" alt="">
<div class="txt">
如您有平安一賬通賬戶,可幫助我們更好地為您提供服務,
<span class="pointer btn">登錄</span>
<span class="pointer btn">註冊</span>
</div>
<img class="pointer close" src="@/assets/images/common/icon-alert-close.png" alt="">
</div>
<div class="reservation-container">
<div class="gird-g form">
......
......@@ -4,12 +4,15 @@ import {
httpPost
} from '@/api/fetch-api.js'
import Auth from '@components/auth/auth.vue';
import modalComp from '@/components/modal-comp/modal-comp.vue';
import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue';
import DatePicker from '@/components/date-picker/date-picker.vue'
export default {
data() {
return {
showForm: false,
key: 'value',
values: {
// 返回的token,串连整个流程,后台安全校验使用
......@@ -22,7 +25,8 @@ export default {
},
birthDate: "",
information: {
cnName: "",
firstName: "",
lastName: "",
sex: "",
birthDate: "",
idNo: "",
......@@ -35,6 +39,7 @@ export default {
e4: "",
e5: "",
},
modalSimpleVisiable: false,
modalVisiable: false,
targetPath: "",
modalIcon: "succ",
......@@ -43,7 +48,9 @@ export default {
},
components: {
modalComp,
DatePicker
DatePicker,
Auth,
modalSimpleComp
},
computed: {
locale() {
......@@ -59,18 +66,41 @@ export default {
idTypeCandidates() {
let i18n = this.$i18n.messages[this.$i18n.locale];
return i18n.infomationImprove.candidates.idType;
},
submitBtnDisabled() {
let b1 = !this.information.firstName ? true : false;
let b2 = !this.information.lastName ? true : false;
let b3 = !this.information.sex ? true : false;
let b4 = !this.information.birthDate ? true : false;
let b5 = !this.information.idNo ? true : false;
let b6 = !this.information.idType ? true : false;
return b1 || b2 || b3 || b4 || b5 || b6;
}
},
methods: {
showModal(content, icon) {
icon = !icon || typeof icon === "undefined" ? "succ" : "succ";
icon = !icon || typeof icon === "undefined" ? "succ" : icon;
this.modalIcon = icon;
this.modalContent = content;
this.modalVisiable = true;
if (icon == "succ") {
this.modalVisiable = true;
} else {
this.modalSimpleVisiable = true;
}
},
closeModal() {
this.modalVisiable = false;
this.modalSimpleVisiable = false;
},
initData() {
httpPost({ url: api.profile, sid: true }).then(content => {
this.information = content;
})
},
onUpdateHandler() {
if (this.submitBtnDisabled) {
return;
}
let b1 = this.checkCnName();
let b2 = this.checkIdNo();
let b3 = this.checkBirthday();
......@@ -212,6 +242,12 @@ export default {
"path": this.targetPath
});
}
},
userLogout() {
this.showForm = false;
},
userLogin(data) {
this.showForm = true;
}
},
mounted() {
......
<template>
<div class="content">
<modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp>
<div class="ebg">
<img src="@/assets/images/common/login-bg.png">
</div>
<div class="top-space"></div>
<div class="box">
<div class="login">
<div class="login-tit">{{$t('infomationImprove.title')}}</div>
<div class="login-tit-space-1"></div>
<div class="gird-g form">
<div class="pure-u-1 pure-u-md-1-2 form-item">
<div class="label">
<img src="@/assets/images/improve-infomation/icon-improve-infomation-user.png"> {{$t('infomationImprove.t1c1')}}
</div>
<div class="ipt-wrap">
<input class="ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="information.cnName">
</div>
<div class="validator" v-if="errorTips.e1.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e1}}
</div>
</div>
<div class="pure-u-1 pure-u-md-1-2 form-item">
<div class="label">
<img src="@/assets/images/improve-infomation/icon-improve-infomation-user.png"> {{$t('infomationImprove.t1c2')}}
</div>
<div class="ipt-wrap">
<input class="ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="information.cnName">
</div>
<div class="validator" v-if="errorTips.e1.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e1}}
</div>
</div>
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/improve-infomation/icon-improve-infomation-sex.png"> {{$t('infomationImprove.t2')}}
</div>
<div class="ipt-wrap">
<div class="down-arrow"></div>
<select class="ipt" :class="{err : errorTips.e2.length > 0}" v-model="information.sex">
<template v-if="sexCandidates">
<option v-for="(item,index) in sexCandidates" :key="index" :value="item.value">{{item.name}}</option>
</template>
</select>
</div>
<div class="validator" v-if="errorTips.e2.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e2}}
</div>
</div>
<div>
<modal-simple-comp :visible="modalSimpleVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="closeModal" :overlay="closeModal" :close="closeModal"></modal-simple-comp>
<modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp>
<div class="content">
<div class="ebg">
<img src="@/assets/images/common/login-bg.png">
</div>
<div class="top-space"></div>
<div class="box">
<div class="login">
<auth @onLogin="userLogin" @onLogout="userLogout"></auth>
<template v-if="showForm">
<div class="login-tit">{{$t('infomationImprove.title')}}</div>
<div class="login-tit-space-1"></div>
<div class="gird-g form">
<div class="pure-u-1 pure-u-md-1-2 form-item">
<div class="label">
<img src="@/assets/images/improve-infomation/icon-improve-infomation-user.png"> {{$t('infomationImprove.t1c1')}}
</div>
<div class="ipt-wrap">
<input class="ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="information.firstName">
</div>
<div class="validator" v-if="errorTips.e1.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e1}}
</div>
</div>
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/improve-infomation/icon-improve-infomation-date.png"> {{$t('infomationImprove.t3')}}
</div>
<div class="ipt-wrap">
<!-- <input class="ipt" type="date" :class="{err : errorTips.e3.length > 0}" v-model="birthDate"> -->
<date-picker class="date" v-model="birthDate"></date-picker>
</div>
<div class="validator" v-if="errorTips.e3.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e3}}
</div>
</div>
<div class="pure-u-1 pure-u-md-1-2 form-item">
<div class="label">
<img src="@/assets/images/improve-infomation/icon-improve-infomation-user.png"> {{$t('infomationImprove.t1c2')}}
</div>
<div class="ipt-wrap">
<input class="ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="information.lastName">
</div>
<div class="validator" v-if="errorTips.e1.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e1}}
</div>
</div>
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/improve-infomation/icon-improve-infomation-card.png"> {{$t('infomationImprove.t4')}}
</div>
<div class="ipt-wrap">
<div class="down-arrow"></div>
<select class="ipt" :class="{err : errorTips.e4.length > 0}" v-model="information.idType">
<template v-if="idTypeCandidates">
<option v-for="(item,index) in idTypeCandidates" :key="index" :value="item.value">{{item.name}}</option>
</template>
</select>
</div>
<div class="validator" v-if="errorTips.e4.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e4}}
</div>
</div>
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/improve-infomation/icon-improve-infomation-sex.png"> {{$t('infomationImprove.t2')}}
</div>
<div class="ipt-wrap">
<div class="down-arrow"></div>
<select class="ipt" :class="{err : errorTips.e2.length > 0}" v-model="information.sex">
<template v-if="sexCandidates">
<option v-for="(item,index) in sexCandidates" :key="index" :value="item.value">{{item.name}}</option>
</template>
</select>
</div>
<div class="validator" v-if="errorTips.e2.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e2}}
</div>
</div>
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/improve-infomation/icon-improve-infomation-card.png"> {{$t('infomationImprove.t5')}}
</div>
<div class="ipt-wrap">
<input class="ipt" type="text" :class="{err : errorTips.e5.length > 0}" v-model="information.idNo">
</div>
<div class="validator" v-if="errorTips.e5.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e5}}
</div>
</div>
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/improve-infomation/icon-improve-infomation-date.png"> {{$t('infomationImprove.t3')}}
</div>
<div class="ipt-wrap">
<!-- <input class="ipt" type="date" :class="{err : errorTips.e3.length > 0}" v-model="birthDate"> -->
<date-picker class="date" v-model="information.birthDate"></date-picker>
</div>
<div class="validator" v-if="errorTips.e3.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e3}}
</div>
</div>
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/improve-infomation/icon-improve-infomation-card.png"> {{$t('infomationImprove.t4')}}
</div>
<div class="ipt-wrap">
<div class="down-arrow"></div>
<select class="ipt" :class="{err : errorTips.e4.length > 0}" v-model="information.idType">
<template v-if="idTypeCandidates">
<option v-for="(item,index) in idTypeCandidates" :key="index" :value="item.value">{{item.name}}</option>
</template>
</select>
</div>
<div class="validator" v-if="errorTips.e4.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e4}}
</div>
</div>
<div class="login-btn-wrap">
<div @click="onUpdateHandler()" class="login-submit pointer">{{$t('infomationImprove.submit')}}</div>
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/improve-infomation/icon-improve-infomation-card.png"> {{$t('infomationImprove.t5')}}
</div>
<div class="ipt-wrap">
<input class="ipt" type="text" :class="{err : errorTips.e5.length > 0}" v-model="information.idNo">
</div>
<div class="validator" v-if="errorTips.e5.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e5}}
</div>
</div>
</div>
<div class="login-btn-wrap">
<div @click="onUpdateHandler()" class="login-submit pointer" :class="{disabled: submitBtnDisabled}">{{$t('infomationImprove.submit')}}</div>
</div>
</template>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script src="./infomation-improve.js"></script>
......
......@@ -42,9 +42,11 @@ export default {
},
loginForm: {
// userId: "18334783910",
// password: "qweqwe123"
// password: "qweqwe123",
userId: "18145729463",
password: "ccc123!@#",
// userId: "",
// password: "",
imageValue: "",
mobileNo: "",
......
......@@ -7,6 +7,7 @@ import {
httpPost
} from '@/api/fetch-api.js'
import Auth from '@components/auth/auth.vue';
import modalComp from '@/components/modal-comp/modal-comp.vue';
import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue';
import { passwordEncrypt } from '@/utils/encrypt.js';
......@@ -14,6 +15,7 @@ import { passwordEncrypt } from '@/utils/encrypt.js';
export default {
data() {
return {
showForm: false,
key: 'value',
type: 1, // 1:输入用户信息 2:找回密码 3:核对信息 4.重置密码
values: {
......@@ -135,7 +137,13 @@ export default {
"path": this.targetPath
});
}
}
},
userLogout() {
this.showForm = false;
},
userLogin(data) {
this.showForm = true;
}
},
watch: {
'values.oldPwd': function () {
......@@ -164,6 +172,7 @@ export default {
created() { },
components: {
modalComp,
modalSimpleComp
modalSimpleComp,
Auth
}
}
......
......@@ -10,44 +10,47 @@
<div class="top-space"></div>
<div class="box">
<div class="login">
<div class="login-tit">{{$t('passwordReset.type4.title')}}</div>
<div class="login-tit-space-4"></div>
<div class="gird-g form">
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/register/icon-register-lock.png"> {{$t('passwordReset.oldPwd')}}
</div>
<div class="ipt-wrap">
<input :placeholder="$t('passwordReset.oldPwdPlaceholde')" class="ipt" type="password" v-model="values.oldPwd">
</div>
<div class="validator" v-if="step.error0.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{step.error0}}
</div>
</div>
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/register/icon-register-lock.png"> {{$t('passwordReset.type4.t1')}}
</div>
<div class="ipt-wrap">
<input :placeholder="$t('passwordReset.type4.t1Placeholder')" class="ipt" type="password" v-model="values.pwd">
</div>
<div class="validator" v-if="step.error1.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{step.error1}}
</div>
</div>
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/register/icon-register-lock.png"> {{$t('passwordReset.type4.t2')}}
</div>
<div class="ipt-wrap">
<input :placeholder="$t('passwordReset.type4.t2Placeholder')" class="ipt" type="password" v-model="values.pwdRepeat">
</div>
<div class="validator" v-if="step.error2.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{step.error2}}
<auth @onLogin="userLogin" @onLogout="userLogout"></auth>
<template v-if="showForm">
<div class="login-tit">{{$t('passwordReset.type4.title')}}</div>
<div class="login-tit-space-4"></div>
<div class="gird-g form">
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/register/icon-register-lock.png"> {{$t('passwordReset.oldPwd')}}
</div>
<div class="ipt-wrap">
<input :placeholder="$t('passwordReset.oldPwdPlaceholde')" class="ipt" type="password" v-model="values.oldPwd">
</div>
<div class="validator" v-if="step.error0.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{step.error0}}
</div>
</div>
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/register/icon-register-lock.png"> {{$t('passwordReset.type4.t1')}}
</div>
<div class="ipt-wrap">
<input :placeholder="$t('passwordReset.type4.t1Placeholder')" class="ipt" type="password" v-model="values.pwd">
</div>
<div class="validator" v-if="step.error1.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{step.error1}}
</div>
</div>
<div class="pure-u-1 form-item">
<div class="label">
<img src="@/assets/images/register/icon-register-lock.png"> {{$t('passwordReset.type4.t2')}}
</div>
<div class="ipt-wrap">
<input :placeholder="$t('passwordReset.type4.t2Placeholder')" class="ipt" type="password" v-model="values.pwdRepeat">
</div>
<div class="validator" v-if="step.error2.length > 0 ">
<img src="@/assets/images/common/icon-notice.png" alt=""> {{step.error2}}
</div>
</div>
</div>
</div>
<div @click="resetPwd()" class="login-submit pointer" :class="{disabled: submitBtnDisabled}">{{$t('passwordReset.type4.submit')}}</div>
<div @click="resetPwd()" class="login-submit pointer" :class="{disabled: submitBtnDisabled}">{{$t('passwordReset.type4.submit')}}</div>
</template>
</div>
</div>
</div>
......