部分修改备份
Showing
30 changed files
with
202 additions
and
62 deletions
... | @@ -400,6 +400,11 @@ textarea { | ... | @@ -400,6 +400,11 @@ textarea { |
400 | } | 400 | } |
401 | } | 401 | } |
402 | 402 | ||
403 | .flex-center { | ||
404 | display: flex; | ||
405 | justify-content: center | ||
406 | } | ||
407 | |||
403 | @media (max-width: 1200px) { | 408 | @media (max-width: 1200px) { |
404 | .page-index { | 409 | .page-index { |
405 | .video-js { | 410 | .video-js { | ... | ... |
... | @@ -58,8 +58,7 @@ module.exports = { | ... | @@ -58,8 +58,7 @@ module.exports = { |
58 | }, | 58 | }, |
59 | navList: [{ | 59 | navList: [{ |
60 | name: "Products", | 60 | name: "Products", |
61 | path: "", | 61 | path: "/empty", |
62 | value: "gotoVHIS", | ||
63 | list: [{ | 62 | list: [{ |
64 | name: "VHIS", | 63 | name: "VHIS", |
65 | path: "", | 64 | path: "", |
... | @@ -386,7 +385,7 @@ module.exports = { | ... | @@ -386,7 +385,7 @@ module.exports = { |
386 | contactTime: "Preferred Contact Date", | 385 | contactTime: "Preferred Contact Date", |
387 | notice1: "The personal data collected in this form is processed in accordance with Ping An Life Insurance Company of China (HK), Ltd Personal Information Collection Statement and will only be used to contact you. However, the personal data collected will not be transferred to third-party organizations other than those specified in the \"Ping An Life Insurance Company of China (HK), Ltd Personal Data Collection Statement\" without your explicit authorization. You can choose not to provide us with the required personal information, but this may prevent us from contacting you. You can also access and correct your personal data in accordance with Ping An Life Insurance Company of China (HK), Ltd Personal Data Collection Statement。", | 386 | notice1: "The personal data collected in this form is processed in accordance with Ping An Life Insurance Company of China (HK), Ltd Personal Information Collection Statement and will only be used to contact you. However, the personal data collected will not be transferred to third-party organizations other than those specified in the \"Ping An Life Insurance Company of China (HK), Ltd Personal Data Collection Statement\" without your explicit authorization. You can choose not to provide us with the required personal information, but this may prevent us from contacting you. You can also access and correct your personal data in accordance with Ping An Life Insurance Company of China (HK), Ltd Personal Data Collection Statement。", |
388 | notice2: "I hereby confirm that I understand and agree that my personal data will be used for the above purposes in accordance with the Ping An Life Insurance Company of China (HK) Personal Data Collection Statement.", | 387 | notice2: "I hereby confirm that I understand and agree that my personal data will be used for the above purposes in accordance with the Ping An Life Insurance Company of China (HK) Personal Data Collection Statement.", |
389 | contactTypes: [{ name: 'Mobile', value: 1 }, { name: 'Email', value: 2 }], | 388 | contactTypes: [{ name: 'Mobile', value: 1, show: "Mobile", icon: "mobile" }, { name: 'Email', value: 2, show: "Email", icon: "email" }], |
390 | errorTips: { | 389 | errorTips: { |
391 | e1: "Please fill in this item", | 390 | e1: "Please fill in this item", |
392 | e2: "Please fill in the correct contact information" | 391 | e2: "Please fill in the correct contact information" |
... | @@ -519,7 +518,7 @@ module.exports = { | ... | @@ -519,7 +518,7 @@ module.exports = { |
519 | ] | 518 | ] |
520 | }, | 519 | }, |
521 | policyChangeGuide: { | 520 | policyChangeGuide: { |
522 | 521 | ||
523 | notice: "If you need to modify please", | 522 | notice: "If you need to modify please", |
524 | noticeLink: "contact customer service", | 523 | noticeLink: "contact customer service", |
525 | head1: "Item", | 524 | head1: "Item", |
... | @@ -769,10 +768,10 @@ module.exports = { | ... | @@ -769,10 +768,10 @@ module.exports = { |
769 | per: "page", | 768 | per: "page", |
770 | page: "" | 769 | page: "" |
771 | }, | 770 | }, |
772 | newsDetail : { | 771 | newsDetail: { |
773 | back : "Back", | 772 | back: "Back", |
774 | publishAt : "Publish time", | 773 | publishAt: "Publish time", |
775 | readers : "Number of reader", | 774 | readers: "Number of reader", |
776 | per : "" | 775 | per: "" |
777 | } | 776 | } |
778 | } | 777 | } | ... | ... |
This diff is collapsed.
Click to expand it.
... | @@ -58,8 +58,7 @@ module.exports = { | ... | @@ -58,8 +58,7 @@ module.exports = { |
58 | }, | 58 | }, |
59 | navList: [{ | 59 | navList: [{ |
60 | name: "产品介绍", | 60 | name: "产品介绍", |
61 | path: "", | 61 | path: "/empty", |
62 | value: "gotoVHIS", | ||
63 | list: [{ | 62 | list: [{ |
64 | name: "自愿医保基本计划", | 63 | name: "自愿医保基本计划", |
65 | path: "", | 64 | path: "", |
... | @@ -259,7 +258,7 @@ module.exports = { | ... | @@ -259,7 +258,7 @@ module.exports = { |
259 | type1: { | 258 | type1: { |
260 | title: "密码找回", | 259 | title: "密码找回", |
261 | t1: "用户输入信息", | 260 | t1: "用户输入信息", |
262 | t1Placeholder: "手机号/证件号", | 261 | t1Placeholder: "手机号/一账通用户名/证件号", |
263 | submit: "确认", | 262 | submit: "确认", |
264 | error: "您的手机号或证件号输入错误,请核对后重新输入", | 263 | error: "您的手机号或证件号输入错误,请核对后重新输入", |
265 | }, | 264 | }, |
... | @@ -385,7 +384,7 @@ module.exports = { | ... | @@ -385,7 +384,7 @@ module.exports = { |
385 | contactTime: "期望联络时间", | 384 | contactTime: "期望联络时间", |
386 | notice1: "本表格所收集的个人资料根据「平安人寿香港个人资料收集声明」处理及只会被用作于联络 阁下之用。然而所收集的个人资料未经您明确授权将不会转移至「平安人寿香港个人资料收集声明」列明以外之第三者机构。您可选择不向我们提供所需的个人资料,惟这样可能导致我们不能联络您。您亦可根据「平安人寿香港个人资料收集声明」之权利查阅及更正个人资料。", | 385 | notice1: "本表格所收集的个人资料根据「平安人寿香港个人资料收集声明」处理及只会被用作于联络 阁下之用。然而所收集的个人资料未经您明确授权将不会转移至「平安人寿香港个人资料收集声明」列明以外之第三者机构。您可选择不向我们提供所需的个人资料,惟这样可能导致我们不能联络您。您亦可根据「平安人寿香港个人资料收集声明」之权利查阅及更正个人资料。", |
387 | notice2: "本人现确认明白并同意本人的个人资料根据中银人寿个人资料收集声明作以上述用途。", | 386 | notice2: "本人现确认明白并同意本人的个人资料根据中银人寿个人资料收集声明作以上述用途。", |
388 | contactTypes: [{ name: '电话', value: 1 }, { name: '电邮', value: 2 }], | 387 | contactTypes: [{ name: '电话', value: 1, show: "联络电话", icon: "mobile" }, { name: '电邮', value: 2,show: "电邮地址", icon: "email" }], |
389 | errorTips: { | 388 | errorTips: { |
390 | e1: "请填写该项内容", | 389 | e1: "请填写该项内容", |
391 | e2: "请填写正确的联系方式" | 390 | e2: "请填写正确的联系方式" |
... | @@ -698,8 +697,8 @@ module.exports = { | ... | @@ -698,8 +697,8 @@ module.exports = { |
698 | menu7: "投诉受理", | 697 | menu7: "投诉受理", |
699 | menu8: "常用表格", | 698 | menu8: "常用表格", |
700 | insuranceQuery: { | 699 | insuranceQuery: { |
701 | modify : "修改", | 700 | modify: "修改", |
702 | 701 | ||
703 | InsurantNumber: "保单号码", | 702 | InsurantNumber: "保单号码", |
704 | Insurant: "受保人", | 703 | Insurant: "受保人", |
705 | InsurantName: "险种名称", | 704 | InsurantName: "险种名称", |
... | @@ -753,6 +752,23 @@ module.exports = { | ... | @@ -753,6 +752,23 @@ module.exports = { |
753 | customService: "联系客服", | 752 | customService: "联系客服", |
754 | }, | 753 | }, |
755 | unauth: { | 754 | unauth: { |
755 | |||
756 | m1: { | ||
757 | tit: "如需查询保单请投保人", | ||
758 | or: "/", | ||
759 | tail: "平安一账通账户" | ||
760 | }, | ||
761 | m2: { | ||
762 | tit: "如需变更保单请投保人", | ||
763 | or: "/", | ||
764 | tail: "平安一账通账户" | ||
765 | }, | ||
766 | m3: { | ||
767 | tit: "如您有平安一账通账户,可帮助我们更好地为您提供服务,", | ||
768 | or: "/", | ||
769 | tail: "" | ||
770 | }, | ||
771 | |||
756 | tips: "如您有平安一账通账户,可帮助我们更好地为您提供服务", | 772 | tips: "如您有平安一账通账户,可帮助我们更好地为您提供服务", |
757 | or: "或", | 773 | or: "或", |
758 | login: "登录", | 774 | login: "登录", |
... | @@ -768,10 +784,10 @@ module.exports = { | ... | @@ -768,10 +784,10 @@ module.exports = { |
768 | per: "第", | 784 | per: "第", |
769 | page: "页" | 785 | page: "页" |
770 | }, | 786 | }, |
771 | newsDetail : { | 787 | newsDetail: { |
772 | back : "回到列表页", | 788 | back: "回到列表页", |
773 | publishAt : "发布时间", | 789 | publishAt: "发布时间", |
774 | readers : "阅读人数", | 790 | readers: "阅读人数", |
775 | per : "人" | 791 | per: "人" |
776 | } | 792 | } |
777 | } | 793 | } | ... | ... |
... | @@ -127,6 +127,9 @@ export default { | ... | @@ -127,6 +127,9 @@ export default { |
127 | showLogoutTip() { | 127 | showLogoutTip() { |
128 | // 登出后的提示 | 128 | // 登出后的提示 |
129 | // alert("登出成功"); | 129 | // alert("登出成功"); |
130 | }, | ||
131 | updateTitle(name) { | ||
132 | this.sTitle = name || this.sTitle; | ||
130 | } | 133 | } |
131 | }, | 134 | }, |
132 | computed: { | 135 | computed: { | ... | ... |
... | @@ -27,7 +27,7 @@ | ... | @@ -27,7 +27,7 @@ |
27 | <div @click="toPage('empty')" class="n-item">{{$t('footer.joinUs')}}</div> | 27 | <div @click="toPage('empty')" class="n-item">{{$t('footer.joinUs')}}</div> |
28 | </div> | 28 | </div> |
29 | <div class="nav-v"> | 29 | <div class="nav-v"> |
30 | <div class="n-item">{{$t('footer.helpCenter')}}</div> | 30 | <div @click="toPage('empty')" class="n-item">{{$t('footer.helpCenter')}}</div> |
31 | <div @click="toPage('privacy')" class="n-item">{{$t('footer.privacy')}}</div> | 31 | <div @click="toPage('privacy')" class="n-item">{{$t('footer.privacy')}}</div> |
32 | <div @click="toPage('terms')" class="n-item">{{$t('footer.terms')}}</div> | 32 | <div @click="toPage('terms')" class="n-item">{{$t('footer.terms')}}</div> |
33 | <div @click="toPage('personalDataCollection')" class="n-item">{{$t('footer.protocol')}}</div> | 33 | <div @click="toPage('personalDataCollection')" class="n-item">{{$t('footer.protocol')}}</div> | ... | ... |
... | @@ -106,6 +106,7 @@ export default { | ... | @@ -106,6 +106,7 @@ export default { |
106 | } | 106 | } |
107 | menuData.list = list; | 107 | menuData.list = list; |
108 | this.$set(this, 'loginData', menuData); | 108 | this.$set(this, 'loginData', menuData); |
109 | // console.log(this.userInfo); | ||
109 | } | 110 | } |
110 | }, | 111 | }, |
111 | beforeDestroy() { | 112 | beforeDestroy() { | ... | ... |
... | @@ -13,7 +13,7 @@ | ... | @@ -13,7 +13,7 @@ |
13 | <img @click="onShowDropdown('nav')" v-if="!dropdownMVisible" src="@/assets/images/home/mobile-nav.png" alt=""> | 13 | <img @click="onShowDropdown('nav')" v-if="!dropdownMVisible" src="@/assets/images/home/mobile-nav.png" alt=""> |
14 | <img @click="onShowDropdown('')" v-else src="@/assets/images/home/mobile-nav-close.png" alt=""> | 14 | <img @click="onShowDropdown('')" v-else src="@/assets/images/home/mobile-nav-close.png" alt=""> |
15 | </div> | 15 | </div> |
16 | <m-dropdown class="lang" :type="'nav'" :visible="dropdownMVisible" :show-dropdown-m="onShowDropdown" :lang-list="langData.list"></m-dropdown> | 16 | <m-dropdown class="lang" :type="'nav'" :visible="dropdownMVisible" :show-dropdown-m="onShowDropdown" :lang-list="langData.list" ref="pcMenu"></m-dropdown> |
17 | <m-dropdown class="lang" :type="'login'" :visible="loginMVisible" :show-dropdown-m="onShowDropdown"></m-dropdown> | 17 | <m-dropdown class="lang" :type="'login'" :visible="loginMVisible" :show-dropdown-m="onShowDropdown"></m-dropdown> |
18 | </div> | 18 | </div> |
19 | 19 | ||
... | @@ -26,7 +26,7 @@ | ... | @@ -26,7 +26,7 @@ |
26 | <div class="nav-item search"> | 26 | <div class="nav-item search"> |
27 | </div> | 27 | </div> |
28 | <div class="nav-item auth"> | 28 | <div class="nav-item auth"> |
29 | <v-dropdown class="lang" :type="'login'" :data-obj="loginData" :data-list="loginData.list"></v-dropdown> | 29 | <v-dropdown class="lang" :type="'login'" :data-obj="loginData" :data-list="loginData.list" ref="mobileMenu"></v-dropdown> |
30 | <v-dropdown class="lang" :type="'lang'" :data-obj="langData" :data-list="langData.list"></v-dropdown> | 30 | <v-dropdown class="lang" :type="'lang'" :data-obj="langData" :data-list="langData.list"></v-dropdown> |
31 | </div> | 31 | </div> |
32 | </div> | 32 | </div> | ... | ... |
... | @@ -9,6 +9,9 @@ import { contactMethodCheck } from '@utils/utils.js'; | ... | @@ -9,6 +9,9 @@ import { contactMethodCheck } from '@utils/utils.js'; |
9 | import Auth from '@components/auth/auth.vue'; | 9 | import Auth from '@components/auth/auth.vue'; |
10 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 10 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
11 | import DatePicker from '@/components/date-picker/date-picker.vue' | 11 | import DatePicker from '@/components/date-picker/date-picker.vue' |
12 | import Vue from 'vue'; | ||
13 | import { Loading } from 'vant'; | ||
14 | Vue.use(Loading); | ||
12 | 15 | ||
13 | export default { | 16 | export default { |
14 | data() { | 17 | data() { |
... | @@ -16,6 +19,7 @@ export default { | ... | @@ -16,6 +19,7 @@ export default { |
16 | key: 'value', | 19 | key: 'value', |
17 | isHkCus: true, | 20 | isHkCus: true, |
18 | checked: false, | 21 | checked: false, |
22 | contactIconShow: "", | ||
19 | contactTypeShow: "", | 23 | contactTypeShow: "", |
20 | data: { | 24 | data: { |
21 | name: "", | 25 | name: "", |
... | @@ -69,7 +73,8 @@ export default { | ... | @@ -69,7 +73,8 @@ export default { |
69 | }, | 73 | }, |
70 | initData() { | 74 | initData() { |
71 | this.data.contactType = this.contactTypes[0].value; | 75 | this.data.contactType = this.contactTypes[0].value; |
72 | this.contactTypeShow = this.contactTypes[0].name; | 76 | this.contactTypeShow = this.contactTypes[0].show; |
77 | this.contactIconShow = this.contactTypes[0].icon; | ||
73 | }, | 78 | }, |
74 | submitHandler() { | 79 | submitHandler() { |
75 | if (!this.checked || this.isSubmit) { | 80 | if (!this.checked || this.isSubmit) { |
... | @@ -170,6 +175,8 @@ export default { | ... | @@ -170,6 +175,8 @@ export default { |
170 | 'data.contactType': function (val) { | 175 | 'data.contactType': function (val) { |
171 | this.errorTips.contactTypeErr = ""; | 176 | this.errorTips.contactTypeErr = ""; |
172 | this.contactTypeShow = this.contactTypes[val - 1].name; | 177 | this.contactTypeShow = this.contactTypes[val - 1].name; |
178 | this.contactTypeShow = this.contactTypes[val - 1].show; | ||
179 | this.contactIconShow = this.contactTypes[val - 1].icon; | ||
173 | }, | 180 | }, |
174 | 'data.contactMethod': function () { | 181 | 'data.contactMethod': function () { |
175 | this.errorTips.contactMethodErr = ""; | 182 | this.errorTips.contactMethodErr = ""; | ... | ... |
... | @@ -35,7 +35,10 @@ | ... | @@ -35,7 +35,10 @@ |
35 | 35 | ||
36 | <div class="form-item flex1"> | 36 | <div class="form-item flex1"> |
37 | <div class="label"> | 37 | <div class="label"> |
38 | <div class="icon"><img src="@/assets/images/complaint-acceptance/icon-ca-mail.png"></div>{{contactTypeShow}} | 38 | <div class="icon"> |
39 | <img v-if="contactIconShow == 'email'" src="@/assets/images/complaint-acceptance/icon-ca-mail.png"> | ||
40 | <img v-else src="@/assets/images/contact-us/icon-cs-call.png"> | ||
41 | </div>{{contactTypeShow}} | ||
39 | </div> | 42 | </div> |
40 | <div class="ipt-wrap"> | 43 | <div class="ipt-wrap"> |
41 | <input class="ipt mail-ipt" type="text" :class="{err : errorTips.contactMethodErr.length > 0}" v-model="data.contactMethod"> | 44 | <input class="ipt mail-ipt" type="text" :class="{err : errorTips.contactMethodErr.length > 0}" v-model="data.contactMethod"> |
... | @@ -108,8 +111,9 @@ | ... | @@ -108,8 +111,9 @@ |
108 | </div> | 111 | </div> |
109 | 112 | ||
110 | <!-- 提交按钮 --> | 113 | <!-- 提交按钮 --> |
111 | <div class="submit-btn" @click="submitHandler" :class="{disabled:!checked}"> | 114 | <div class="submit-btn flex-center" @click="submitHandler" :class="{disabled:!checked}"> |
112 | {{$t('reservation.submitBtn')}} | 115 | <van-loading v-if="isSubmit" /> |
116 | <span>{{$t('reservation.submitBtn')}}</span> | ||
113 | </div> | 117 | </div> |
114 | </div> | 118 | </div> |
115 | </div> | 119 | </div> | ... | ... |
... | @@ -57,7 +57,7 @@ export default { | ... | @@ -57,7 +57,7 @@ export default { |
57 | return "港币"; | 57 | return "港币"; |
58 | } | 58 | } |
59 | }, | 59 | }, |
60 | toModifyPage(type) { | 60 | toModifyPage(type, toContact) { |
61 | // 1=受保人;2=投保人 | 61 | // 1=受保人;2=投保人 |
62 | if (!this.policy || !this.dataForm) { | 62 | if (!this.policy || !this.dataForm) { |
63 | return; | 63 | return; |
... | @@ -65,9 +65,13 @@ export default { | ... | @@ -65,9 +65,13 @@ export default { |
65 | let data = encodeURIComponent(JSON.stringify({ id: this.policy.policyId, code: this.policy.policyCode })); | 65 | let data = encodeURIComponent(JSON.stringify({ id: this.policy.policyId, code: this.policy.policyCode })); |
66 | sessionStorage.setItem("_hklife_policy", data); | 66 | sessionStorage.setItem("_hklife_policy", data); |
67 | if (type == 1) { | 67 | if (type == 1) { |
68 | this.$router.push({ path: "/custom/service", query: { q: "m43", u: 1 } }); | ||
69 | } else { | ||
70 | this.$router.push({ path: "/custom/service", query: { q: "m43", u: 2 } }); | 68 | this.$router.push({ path: "/custom/service", query: { q: "m43", u: 2 } }); |
69 | } else { | ||
70 | if (1 == toContact) { | ||
71 | this.$router.push({ path: "/custom/service", query: { q: "m42" } }); | ||
72 | } else { | ||
73 | this.$router.push({ path: "/custom/service", query: { q: "m43", u: 1 } }); | ||
74 | } | ||
71 | } | 75 | } |
72 | }, | 76 | }, |
73 | userLogout() { | 77 | userLogout() { | ... | ... |
... | @@ -98,24 +98,24 @@ | ... | @@ -98,24 +98,24 @@ |
98 | <div class="separator-h"></div> | 98 | <div class="separator-h"></div> |
99 | <div class="data-line"> | 99 | <div class="data-line"> |
100 | <div class="cell1"> | 100 | <div class="cell1"> |
101 | <div class="label">{{$t('customService.insuranceQuery.t3n5')}}<span @click="toModifyPage(2)">{{$t('customService.insuranceQuery.modify')}}</span></div> | 101 | <div class="label">{{$t('customService.insuranceQuery.t3n5')}}<span @click="toModifyPage(2,1)">{{$t('customService.insuranceQuery.modify')}}</span></div> |
102 | <div class="label">{{dataForm.clientLivingAddress}}</div> | 102 | <div class="label">{{dataForm.clientLivingAddress}}</div> |
103 | </div> | 103 | </div> |
104 | <div class="separator-v"></div> | 104 | <div class="separator-v"></div> |
105 | <div class="cell1"> | 105 | <div class="cell1"> |
106 | <div class="label">{{$t('customService.insuranceQuery.t3n6')}}<span @click="toModifyPage(2)">{{$t('customService.insuranceQuery.modify')}}</span></div> | 106 | <div class="label">{{$t('customService.insuranceQuery.t3n6')}}<span @click="toModifyPage(2,1)">{{$t('customService.insuranceQuery.modify')}}</span></div> |
107 | <div class="label">{{dataForm.clientContactAddress}}</div> | 107 | <div class="label">{{dataForm.clientContactAddress}}</div> |
108 | </div> | 108 | </div> |
109 | </div> | 109 | </div> |
110 | <div class="separator-h"></div> | 110 | <div class="separator-h"></div> |
111 | <div class="data-line"> | 111 | <div class="data-line"> |
112 | <div class="cell1"> | 112 | <div class="cell1"> |
113 | <div class="label">{{$t('customService.insuranceQuery.t3n7')}}<span @click="toModifyPage(2)">{{$t('customService.insuranceQuery.modify')}}</span></div> | 113 | <div class="label">{{$t('customService.insuranceQuery.t3n7')}}<span @click="toModifyPage(2,1)">{{$t('customService.insuranceQuery.modify')}}</span></div> |
114 | <div class="label">{{dataForm.clientMobileNo}}</div> | 114 | <div class="label">{{dataForm.clientMobileNo}}</div> |
115 | </div> | 115 | </div> |
116 | <div class="separator-v"></div> | 116 | <div class="separator-v"></div> |
117 | <div class="cell1"> | 117 | <div class="cell1"> |
118 | <div class="label">{{$t('customService.insuranceQuery.t3n8')}}<span @click="toModifyPage(2)">{{$t('customService.insuranceQuery.modify')}}</span></div> | 118 | <div class="label">{{$t('customService.insuranceQuery.t3n8')}}<span @click="toModifyPage(2,1)">{{$t('customService.insuranceQuery.modify')}}</span></div> |
119 | <div class="label">{{dataForm.clientEmail}}</div> | 119 | <div class="label">{{dataForm.clientEmail}}</div> |
120 | </div> | 120 | </div> |
121 | </div> | 121 | </div> | ... | ... |
... | @@ -9,6 +9,9 @@ import { contactMethodCheck } from '@utils/utils.js'; | ... | @@ -9,6 +9,9 @@ import { contactMethodCheck } from '@utils/utils.js'; |
9 | import Auth from '@components/auth/auth.vue'; | 9 | import Auth from '@components/auth/auth.vue'; |
10 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 10 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
11 | import PolicyHeadList from "./policy-head-list.vue"; | 11 | import PolicyHeadList from "./policy-head-list.vue"; |
12 | import Vue from 'vue'; | ||
13 | import { Loading } from 'vant'; | ||
14 | Vue.use(Loading); | ||
12 | 15 | ||
13 | export default { | 16 | export default { |
14 | data() { | 17 | data() { | ... | ... |
... | @@ -58,8 +58,9 @@ | ... | @@ -58,8 +58,9 @@ |
58 | </div> | 58 | </div> |
59 | </div> | 59 | </div> |
60 | </div> | 60 | </div> |
61 | <div class="submit-btn" @click="updateContactsHandler" :class="{disabled: submitBtnDisabled}"> | 61 | <div class="submit-btn flex-center" @click="updateContactsHandler" :class="{disabled: submitBtnDisabled}"> |
62 | {{$t("policyChangeContact.submit")}} | 62 | <van-loading v-if="loading" /> |
63 | <span>{{$t('policyChangeContact.submit')}}</span> | ||
63 | </div> | 64 | </div> |
64 | </div> | 65 | </div> |
65 | <!-- <div v-else style="height:400px"></div> --> | 66 | <!-- <div v-else style="height:400px"></div> --> | ... | ... |
... | @@ -9,6 +9,9 @@ import PolicyHeadList from "./policy-head-list.vue"; | ... | @@ -9,6 +9,9 @@ import PolicyHeadList from "./policy-head-list.vue"; |
9 | import DatePicker from '@/components/date-picker/date-picker.vue' | 9 | import DatePicker from '@/components/date-picker/date-picker.vue' |
10 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 10 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
11 | import modalUploadCardComp from '@/components/modal-upload-card-comp/modal-upload-card-comp.vue'; | 11 | import modalUploadCardComp from '@/components/modal-upload-card-comp/modal-upload-card-comp.vue'; |
12 | import Vue from 'vue'; | ||
13 | import { Loading } from 'vant'; | ||
14 | Vue.use(Loading); | ||
12 | 15 | ||
13 | export default { | 16 | export default { |
14 | data() { | 17 | data() { | ... | ... |
... | @@ -145,8 +145,9 @@ | ... | @@ -145,8 +145,9 @@ |
145 | 145 | ||
146 | </div> | 146 | </div> |
147 | 147 | ||
148 | <div class="submit-btn" @click="handleUpdatePolicy"> | 148 | <div class="submit-btn flex-center" @click="handleUpdatePolicy"> |
149 | {{$t("policyChangeInformation.submit")}} | 149 | <van-loading v-if="loading" /> |
150 | <span>{{$t('policyChangeInformation.submit')}}</span> | ||
150 | </div> | 151 | </div> |
151 | </div> | 152 | </div> |
152 | </div> | 153 | </div> | ... | ... |
... | @@ -9,6 +9,9 @@ import { contactMethodCheck } from '@utils/utils.js'; | ... | @@ -9,6 +9,9 @@ import { contactMethodCheck } from '@utils/utils.js'; |
9 | import DatePicker from '@/components/date-picker/date-picker.vue'; | 9 | import DatePicker from '@/components/date-picker/date-picker.vue'; |
10 | import Auth from '@components/auth/auth.vue'; | 10 | import Auth from '@components/auth/auth.vue'; |
11 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 11 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
12 | import Vue from 'vue'; | ||
13 | import { Loading } from 'vant'; | ||
14 | Vue.use(Loading); | ||
12 | 15 | ||
13 | export default { | 16 | export default { |
14 | data() { | 17 | data() { | ... | ... |
... | @@ -111,8 +111,9 @@ | ... | @@ -111,8 +111,9 @@ |
111 | </p> | 111 | </p> |
112 | </div> | 112 | </div> |
113 | 113 | ||
114 | <div class="submit-btn" :class="{disabled : !checked}" @click="submitHandler"> | 114 | <div class="submit-btn flex-center" :class="{disabled : !checked}" @click="submitHandler"> |
115 | {{$t('reservation.submitBtn')}} | 115 | <van-loading v-if="isSubmit" /> |
116 | <span>{{$t('reservation.submitBtn')}}</span> | ||
116 | </div> | 117 | </div> |
117 | </div> | 118 | </div> |
118 | </div> | 119 | </div> | ... | ... |
... | @@ -10,6 +10,7 @@ import { | ... | @@ -10,6 +10,7 @@ import { |
10 | httpPost | 10 | httpPost |
11 | } from '@/api/fetch-api.js' | 11 | } from '@/api/fetch-api.js' |
12 | 12 | ||
13 | |||
13 | import { contactMethodCheck } from '@utils/utils.js'; | 14 | import { contactMethodCheck } from '@utils/utils.js'; |
14 | 15 | ||
15 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 16 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
... | @@ -18,6 +19,10 @@ import modalUploadCardComp from '@/components/modal-upload-card-comp/modal-uploa | ... | @@ -18,6 +19,10 @@ import modalUploadCardComp from '@/components/modal-upload-card-comp/modal-uploa |
18 | import { | 19 | import { |
19 | passwordEncrypt | 20 | passwordEncrypt |
20 | } from '@/utils/encrypt.js'; | 21 | } from '@/utils/encrypt.js'; |
22 | import Vue from 'vue'; | ||
23 | import { Loading } from 'vant'; | ||
24 | |||
25 | Vue.use(Loading); | ||
21 | 26 | ||
22 | 27 | ||
23 | export default { | 28 | export default { |
... | @@ -45,10 +50,10 @@ export default { | ... | @@ -45,10 +50,10 @@ export default { |
45 | loginForm: { | 50 | loginForm: { |
46 | // userId: "18334783910", | 51 | // userId: "18334783910", |
47 | // password: "qweqwe123", | 52 | // password: "qweqwe123", |
48 | userId: "18145729463", | 53 | // userId: "18145729463", |
49 | password: "ccc123!@#", | 54 | // password: "ccc123!@#", |
50 | // userId: "", | 55 | userId: "", |
51 | // password: "", | 56 | password: "", |
52 | 57 | ||
53 | imageValue: "", | 58 | imageValue: "", |
54 | mobileNo: "", | 59 | mobileNo: "", |
... | @@ -149,7 +154,13 @@ export default { | ... | @@ -149,7 +154,13 @@ export default { |
149 | onLoginTypeHandler(val) { | 154 | onLoginTypeHandler(val) { |
150 | this.type = val; | 155 | this.type = val; |
151 | }, | 156 | }, |
152 | initData() { }, | 157 | initData() { |
158 | if (this.userInfo && (this.userInfo.sid || this.userInfo.name)) { | ||
159 | this.$router.push({ | ||
160 | path: "/" | ||
161 | }); | ||
162 | } | ||
163 | }, | ||
153 | handlerIsShowImageVcode() { | 164 | handlerIsShowImageVcode() { |
154 | return new Promise((resolve, reject) => { | 165 | return new Promise((resolve, reject) => { |
155 | httpPost({ | 166 | httpPost({ |
... | @@ -541,6 +552,7 @@ export default { | ... | @@ -541,6 +552,7 @@ export default { |
541 | }, | 552 | }, |
542 | }, | 553 | }, |
543 | mounted() { | 554 | mounted() { |
555 | this.initData(); | ||
544 | // console.log("PK === ", this.PK) | 556 | // console.log("PK === ", this.PK) |
545 | // console.log("E === ", this.E) | 557 | // console.log("E === ", this.E) |
546 | }, | 558 | }, | ... | ... |
... | @@ -62,7 +62,10 @@ | ... | @@ -62,7 +62,10 @@ |
62 | <img v-if="loginCheck.agreeProtocol" class="check" src="@/assets/images/login/check.png">{{$t('login.agree')}} | 62 | <img v-if="loginCheck.agreeProtocol" class="check" src="@/assets/images/login/check.png">{{$t('login.agree')}} |
63 | <span @click="onProtocolHandler()" class="protocol pointer">{{$t('login.protocol')}}</span> | 63 | <span @click="onProtocolHandler()" class="protocol pointer">{{$t('login.protocol')}}</span> |
64 | </div> | 64 | </div> |
65 | <div @click="handlerLogin()" class="login-submit pointer" :class="{disabled: pwdLoginDisabled}">{{$t('login.login')}}</div> | 65 | <div @click="handlerLogin()" class="login-submit pointer flex-center" :class="{disabled: pwdLoginDisabled}"> |
66 | <van-loading v-if="loading" /> | ||
67 | <span>{{$t('login.login')}}</span> | ||
68 | </div> | ||
66 | <div class="login-func"> | 69 | <div class="login-func"> |
67 | <div @click="toRegisterPage()" class="login-func-btn pointer">{{$t('login.register')}}</div> | 70 | <div @click="toRegisterPage()" class="login-func-btn pointer">{{$t('login.register')}}</div> |
68 | <div @click="onForgetHandler()" class="login-func-btn pointer">{{$t('login.forget')}}</div> | 71 | <div @click="onForgetHandler()" class="login-func-btn pointer">{{$t('login.forget')}}</div> |
... | @@ -125,7 +128,10 @@ | ... | @@ -125,7 +128,10 @@ |
125 | <img v-if="loginCheck.agreeProtocol" class="check" src="@/assets/images/login/check.png"> {{$t('login.agree')}} | 128 | <img v-if="loginCheck.agreeProtocol" class="check" src="@/assets/images/login/check.png"> {{$t('login.agree')}} |
126 | <span @click="onProtocolHandler()" class="protocol pointer">{{$t('login.protocol')}}</span> | 129 | <span @click="onProtocolHandler()" class="protocol pointer">{{$t('login.protocol')}}</span> |
127 | </div> | 130 | </div> |
128 | <div @click="handlerLogin()" class="login-submit pointer" :class="{disabled: otpLoginDisabled}">{{$t('login.login')}}</div> | 131 | <div @click="handlerLogin()" class="login-submit pointer flex-center" :class="{disabled: otpLoginDisabled}"> |
132 | <van-loading v-if="loading" /> | ||
133 | <span>{{$t('login.login')}}</span> | ||
134 | </div> | ||
129 | <div class="login-func"> | 135 | <div class="login-func"> |
130 | <div @click="toRegisterPage()" class="login-func-btn pointer">{{$t('login.register')}}</div> | 136 | <div @click="toRegisterPage()" class="login-func-btn pointer">{{$t('login.register')}}</div> |
131 | <div @click="onForgetHandler()" class="login-func-btn pointer">{{$t('login.forget')}}</div> | 137 | <div @click="onForgetHandler()" class="login-func-btn pointer">{{$t('login.forget')}}</div> |
... | @@ -163,7 +169,10 @@ | ... | @@ -163,7 +169,10 @@ |
163 | </div> | 169 | </div> |
164 | </div> | 170 | </div> |
165 | </div> | 171 | </div> |
166 | <div @click="onRegisterHandler()" class="login-submit pointer">{{$t('register.sure')}}</div> | 172 | <div @click="onRegisterHandler()" class="login-submit pointer flex-center"> |
173 | <van-loading v-if="loading" /> | ||
174 | <span>{{$t('register.sure')}}</span> | ||
175 | </div> | ||
167 | </div> | 176 | </div> |
168 | </div> | 177 | </div> |
169 | </div> | 178 | </div> | ... | ... |
1 | import { mapState } from "vuex"; | ||
1 | import api from '@/api/api' | 2 | import api from '@/api/api' |
2 | import { | 3 | import { |
3 | httpGet, | 4 | httpGet, |
... | @@ -5,6 +6,7 @@ import { | ... | @@ -5,6 +6,7 @@ import { |
5 | } from '@/api/fetch-api.js' | 6 | } from '@/api/fetch-api.js' |
6 | 7 | ||
7 | import { getDateYMD } from "@/utils/biz.js"; | 8 | import { getDateYMD } from "@/utils/biz.js"; |
9 | import { setTitle } from "@/utils/utils.js"; | ||
8 | 10 | ||
9 | export default { | 11 | export default { |
10 | data() { | 12 | data() { |
... | @@ -33,7 +35,6 @@ export default { | ... | @@ -33,7 +35,6 @@ export default { |
33 | this.$router.go(-1); | 35 | this.$router.go(-1); |
34 | }, | 36 | }, |
35 | initData() { | 37 | initData() { |
36 | console.log(this.$route); | ||
37 | let c = this.$route.query.c; | 38 | let c = this.$route.query.c; |
38 | let l = this.$i18n.locale; | 39 | let l = this.$i18n.locale; |
39 | let params = { | 40 | let params = { |
... | @@ -49,6 +50,10 @@ export default { | ... | @@ -49,6 +50,10 @@ export default { |
49 | this.data.content = res.content; | 50 | this.data.content = res.content; |
50 | this.data.dateFormat = getDateYMD(res.createAt); | 51 | this.data.dateFormat = getDateYMD(res.createAt); |
51 | this.data.pv = res.pv; | 52 | this.data.pv = res.pv; |
53 | |||
54 | if (this.data.title) { | ||
55 | setTitle(this.data.title); | ||
56 | } | ||
52 | }); | 57 | }); |
53 | } | 58 | } |
54 | }, | 59 | }, | ... | ... |
... | @@ -7,6 +7,9 @@ import { | ... | @@ -7,6 +7,9 @@ import { |
7 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 7 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
8 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; | 8 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; |
9 | import { passwordEncrypt } from '@/utils/encrypt.js'; | 9 | import { passwordEncrypt } from '@/utils/encrypt.js'; |
10 | import Vue from 'vue'; | ||
11 | import { Loading } from 'vant'; | ||
12 | Vue.use(Loading); | ||
10 | 13 | ||
11 | export default { | 14 | export default { |
12 | data() { | 15 | data() { | ... | ... |
... | @@ -100,7 +100,10 @@ | ... | @@ -100,7 +100,10 @@ |
100 | </div> | 100 | </div> |
101 | </div> | 101 | </div> |
102 | </div> | 102 | </div> |
103 | <div @click="resetPwd()" class="login-submit pointer" :class="{disabled: s4BtnDisabled}">{{$t('passwordReset.type4.submit')}}</div> | 103 | <div @click="resetPwd()" class="login-submit pointer flex-center" :class="{disabled: s4BtnDisabled}"> |
104 | <van-loading v-if="loading" /> | ||
105 | <span>{{$t('passwordReset.type4.submit')}}</span> | ||
106 | </div> | ||
104 | </div> | 107 | </div> |
105 | </div> | 108 | </div> |
106 | </div> | 109 | </div> | ... | ... |
... | @@ -11,10 +11,14 @@ import Auth from '@components/auth/auth.vue'; | ... | @@ -11,10 +11,14 @@ import Auth from '@components/auth/auth.vue'; |
11 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 11 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
12 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; | 12 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; |
13 | import { passwordEncrypt } from '@/utils/encrypt.js'; | 13 | import { passwordEncrypt } from '@/utils/encrypt.js'; |
14 | import Vue from 'vue'; | ||
15 | import { Loading } from 'vant'; | ||
16 | Vue.use(Loading); | ||
14 | 17 | ||
15 | export default { | 18 | export default { |
16 | data() { | 19 | data() { |
17 | return { | 20 | return { |
21 | loading : false, | ||
18 | showForm: false, | 22 | showForm: false, |
19 | key: 'value', | 23 | key: 'value', |
20 | type: 1, // 1:输入用户信息 2:找回密码 3:核对信息 4.重置密码 | 24 | type: 1, // 1:输入用户信息 2:找回密码 3:核对信息 4.重置密码 |
... | @@ -81,6 +85,11 @@ export default { | ... | @@ -81,6 +85,11 @@ export default { |
81 | let newPwd = passwordEncrypt(this.values.pwd); | 85 | let newPwd = passwordEncrypt(this.values.pwd); |
82 | let oldPwd = passwordEncrypt(this.values.oldPwd); | 86 | let oldPwd = passwordEncrypt(this.values.oldPwd); |
83 | 87 | ||
88 | if(this.loading){ | ||
89 | return; | ||
90 | } | ||
91 | this.loading = true; | ||
92 | |||
84 | httpPost({ | 93 | httpPost({ |
85 | url: api.changePassword, | 94 | url: api.changePassword, |
86 | data: { | 95 | data: { |
... | @@ -89,6 +98,7 @@ export default { | ... | @@ -89,6 +98,7 @@ export default { |
89 | }, | 98 | }, |
90 | sid: true | 99 | sid: true |
91 | }).then(response => { | 100 | }).then(response => { |
101 | this.loading = false; | ||
92 | this.targetPath = ""; | 102 | this.targetPath = ""; |
93 | let message = this.i18n().passwordCheck.success; | 103 | let message = this.i18n().passwordCheck.success; |
94 | switch (response.returnCode) { | 104 | switch (response.returnCode) { |
... | @@ -107,6 +117,7 @@ export default { | ... | @@ -107,6 +117,7 @@ export default { |
107 | } | 117 | } |
108 | 118 | ||
109 | }).catch(err => { | 119 | }).catch(err => { |
120 | this.loading = false; | ||
110 | let message = this.i18n().session.sidExpire; | 121 | let message = this.i18n().session.sidExpire; |
111 | this.targetPath = "/login?callback=/password/reset"; | 122 | this.targetPath = "/login?callback=/password/reset"; |
112 | this.showModal(message, "info"); | 123 | this.showModal(message, "info"); |
... | @@ -168,7 +179,9 @@ export default { | ... | @@ -168,7 +179,9 @@ export default { |
168 | return b1 || b2 || b3; | 179 | return b1 || b2 || b3; |
169 | } | 180 | } |
170 | }, | 181 | }, |
171 | mounted() { }, | 182 | mounted() { |
183 | // this.showModal("success", "succ"); | ||
184 | }, | ||
172 | created() { }, | 185 | created() { }, |
173 | components: { | 186 | components: { |
174 | modalComp, | 187 | modalComp, | ... | ... |
... | @@ -49,7 +49,10 @@ | ... | @@ -49,7 +49,10 @@ |
49 | </div> | 49 | </div> |
50 | </div> | 50 | </div> |
51 | </div> | 51 | </div> |
52 | <div @click="resetPwd()" class="login-submit pointer" :class="{disabled: submitBtnDisabled}">{{$t('passwordReset.type4.submit')}}</div> | 52 | <div @click="resetPwd()" class="login-submit pointer flex-center" :class="{disabled: submitBtnDisabled}"> |
53 | <van-loading v-if="loading" /> | ||
54 | <span>{{$t('passwordReset.type4.submit')}}</span> | ||
55 | </div> | ||
53 | </template> | 56 | </template> |
54 | </div> | 57 | </div> |
55 | </div> | 58 | </div> | ... | ... |
... | @@ -7,13 +7,22 @@ import { | ... | @@ -7,13 +7,22 @@ import { |
7 | export default { | 7 | export default { |
8 | data() { | 8 | data() { |
9 | return { | 9 | return { |
10 | key: 'value' | 10 | key: 'value', |
11 | title: "", | ||
12 | content: "", | ||
11 | } | 13 | } |
12 | }, | 14 | }, |
13 | components: {}, | 15 | components: {}, |
14 | methods: { | 16 | methods: { |
15 | initData() {} | 17 | initData() { |
18 | httpGet({ url: api.companyOutline, data: { l: this.$i18n.locale } }).then(res => { | ||
19 | this.content = res.content; | ||
20 | this.title = res.title; | ||
21 | }); | ||
22 | } | ||
23 | }, | ||
24 | mounted() { | ||
25 | this.initData(); | ||
16 | }, | 26 | }, |
17 | mounted() {}, | 27 | created() { } |
18 | created() {} | ||
19 | } | 28 | } | ... | ... |
... | @@ -2,6 +2,14 @@ | ... | @@ -2,6 +2,14 @@ |
2 | <template> | 2 | <template> |
3 | <div class="content"> | 3 | <div class="content"> |
4 | 4 | ||
5 | <div> | ||
6 | <div class="top-space"></div> | ||
7 | <h2 class="tit">{{title}}</h2> | ||
8 | <div class="box desc" v-html="content"> | ||
9 | </div> | ||
10 | </div> | ||
11 | |||
12 | <!-- | ||
5 | <div v-if="$i18n.locale == 'zh'"> | 13 | <div v-if="$i18n.locale == 'zh'"> |
6 | <div class="top-space"></div> | 14 | <div class="top-space"></div> |
7 | <h2 class="tit">公司简介</h2> | 15 | <h2 class="tit">公司简介</h2> |
... | @@ -34,7 +42,7 @@ | ... | @@ -34,7 +42,7 @@ |
34 | <br><br> Ping an life regards charity culture as the corporate culture of the company, adheres to the concept of "benevolence and great cause", and regards "the most respected company" as its vision. One hundred years of good karma, responsibility first. Ping an life always nurtures the society with gratitude, takes corporate social responsibility as the driving force for the sustainable development of the company, focuses on "charity" culture, and promotes "great love and responsibility". We will focus on creating a better tomorrow by launching the "new life campaign" with "walking briskly" and "reading" as the main body, as well as public welfare undertakings such as education, poverty alleviation, environment and disaster relief. | 42 | <br><br> Ping an life regards charity culture as the corporate culture of the company, adheres to the concept of "benevolence and great cause", and regards "the most respected company" as its vision. One hundred years of good karma, responsibility first. Ping an life always nurtures the society with gratitude, takes corporate social responsibility as the driving force for the sustainable development of the company, focuses on "charity" culture, and promotes "great love and responsibility". We will focus on creating a better tomorrow by launching the "new life campaign" with "walking briskly" and "reading" as the main body, as well as public welfare undertakings such as education, poverty alleviation, environment and disaster relief. |
35 | </div> | 43 | </div> |
36 | </div> | 44 | </div> |
37 | 45 | --> | |
38 | </div> | 46 | </div> |
39 | </template> | 47 | </template> |
40 | 48 | ... | ... |
1 | import { mapState } from "vuex"; | ||
2 | |||
1 | import api from '@/api/api' | 3 | import api from '@/api/api' |
2 | import { | 4 | import { |
3 | httpGet, | 5 | httpGet, |
... | @@ -9,12 +11,16 @@ import { contactMethodCheck } from '@utils/utils.js'; | ... | @@ -9,12 +11,16 @@ import { contactMethodCheck } from '@utils/utils.js'; |
9 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 11 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
10 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; | 12 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; |
11 | import { passwordEncrypt } from '@/utils/encrypt.js'; | 13 | import { passwordEncrypt } from '@/utils/encrypt.js'; |
14 | import Vue from 'vue'; | ||
15 | import { Loading } from 'vant'; | ||
16 | Vue.use(Loading); | ||
12 | 17 | ||
13 | export default { | 18 | export default { |
14 | data() { | 19 | data() { |
15 | return { | 20 | return { |
21 | loading: false, | ||
16 | key: 'value', | 22 | key: 'value', |
17 | type: 2, // 1:手机验证 2:输入密码 | 23 | type: 1, // 1:手机验证 2:输入密码 |
18 | mobileNoType: "hk",// 选择的手机好类型 | 24 | mobileNoType: "hk",// 选择的手机好类型 |
19 | mobileTip: {}, | 25 | mobileTip: {}, |
20 | mobileOptions: [], | 26 | mobileOptions: [], |
... | @@ -62,6 +68,9 @@ export default { | ... | @@ -62,6 +68,9 @@ export default { |
62 | modalSimpleComp | 68 | modalSimpleComp |
63 | }, | 69 | }, |
64 | computed: { | 70 | computed: { |
71 | ...mapState({ | ||
72 | userInfo: state => state.userInfo | ||
73 | }), | ||
65 | locale() { | 74 | locale() { |
66 | return this.$i18n.locale || 'tc'; | 75 | return this.$i18n.locale || 'tc'; |
67 | }, | 76 | }, |
... | @@ -327,7 +336,7 @@ export default { | ... | @@ -327,7 +336,7 @@ export default { |
327 | // this.showModal(msg, "info"); | 336 | // this.showModal(msg, "info"); |
328 | // let message = this.i18n.register.tips.e5; | 337 | // let message = this.i18n.register.tips.e5; |
329 | this.errorTips.p2 = msg; | 338 | this.errorTips.p2 = msg; |
330 | 339 | ||
331 | // alert(msg); | 340 | // alert(msg); |
332 | }, | 341 | }, |
333 | onRegisterHandler() { | 342 | onRegisterHandler() { |
... | @@ -341,16 +350,20 @@ export default { | ... | @@ -341,16 +350,20 @@ export default { |
341 | mobileNo: this.registerForm.mobileNo, | 350 | mobileNo: this.registerForm.mobileNo, |
342 | loginPwd: passwordEncrypt(this.values.password) | 351 | loginPwd: passwordEncrypt(this.values.password) |
343 | }; | 352 | }; |
353 | this.loading = true; | ||
344 | httpPost({ | 354 | httpPost({ |
345 | url: api.stdRegister, | 355 | url: api.stdRegister, |
346 | data: data | 356 | data: data |
347 | }).then(response => { | 357 | }).then(response => { |
358 | this.loading = false; | ||
348 | if (response.returnCode != 0) { | 359 | if (response.returnCode != 0) { |
349 | this._showRegisterFailure(response); | 360 | this._showRegisterFailure(response); |
350 | this.type = 1; | 361 | this.type = 1; |
351 | } else { | 362 | } else { |
352 | this._showSuccessMessage(); | 363 | this._showSuccessMessage(); |
353 | } | 364 | } |
365 | }).catch(e => { | ||
366 | this.loading = false; | ||
354 | }) | 367 | }) |
355 | } | 368 | } |
356 | }, | 369 | }, |
... | @@ -450,6 +463,12 @@ export default { | ... | @@ -450,6 +463,12 @@ export default { |
450 | 463 | ||
451 | }, | 464 | }, |
452 | initData() { | 465 | initData() { |
466 | if (this.userInfo && (this.userInfo.sid || this.userInfo.name)) { | ||
467 | this.$router.push({ | ||
468 | path: "/" | ||
469 | }); | ||
470 | return; | ||
471 | } | ||
453 | let i18n = this.$i18n.messages[this.$i18n.locale] || {}; | 472 | let i18n = this.$i18n.messages[this.$i18n.locale] || {}; |
454 | let mobileOptions = JSON.parse(JSON.stringify(i18n.register.mobileOptions)); | 473 | let mobileOptions = JSON.parse(JSON.stringify(i18n.register.mobileOptions)); |
455 | this.mobileOptions = mobileOptions; | 474 | this.mobileOptions = mobileOptions; | ... | ... |
... | @@ -107,7 +107,10 @@ | ... | @@ -107,7 +107,10 @@ |
107 | </div> | 107 | </div> |
108 | </div> | 108 | </div> |
109 | </div> | 109 | </div> |
110 | <div @click="onRegisterHandler()" class="login-submit pointer" :class="{disabled: submitDisabled}">{{$t('register.sure')}}</div> | 110 | <div @click="onRegisterHandler()" class="login-submit pointer flex-center" :class="{disabled: submitDisabled}"> |
111 | <van-loading v-if="loading" /> | ||
112 | <span>{{$t('register.sure')}}</span> | ||
113 | </div> | ||
111 | </div> | 114 | </div> |
112 | </div> | 115 | </div> |
113 | </div> | 116 | </div> | ... | ... |
... | @@ -256,11 +256,13 @@ export function throttle(func, wait, type) { | ... | @@ -256,11 +256,13 @@ export function throttle(func, wait, type) { |
256 | */ | 256 | */ |
257 | export function contactMethodCheck(type, value) { | 257 | export function contactMethodCheck(type, value) { |
258 | if (type == 'hkmobile') { | 258 | if (type == 'hkmobile') { |
259 | return /^[5689]{1}\d{7}$/.test(value); | 259 | // return /^[5689]{1}\d{7}$/.test(value); |
260 | return /^\d{8}$/.test(value); | ||
260 | } | 261 | } |
261 | 262 | ||
262 | if (type == 'mobile') { | 263 | if (type == 'mobile') { |
263 | return /^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0-9])|(18[0-9])|(19[0-9]))\d{8}$/.test(value); | 264 | // return /^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0-9])|(18[0-9])|(19[0-9]))\d{8}$/.test(value); |
265 | return /^1\d{10}$/.test(value); | ||
264 | } | 266 | } |
265 | 267 | ||
266 | if (type == 'email') { | 268 | if (type == 'email') { | ... | ... |
-
Please register or sign in to post a comment