422f97cc by joe

中英切换

1 parent 857e1fb6
...@@ -376,27 +376,33 @@ module.exports = { ...@@ -376,27 +376,33 @@ module.exports = {
376 name: "Name", 376 name: "Name",
377 namePlaceholder: "Name", 377 namePlaceholder: "Name",
378 contactType: "Preferred Way of Contact", 378 contactType: "Preferred Way of Contact",
379 email: "電郵地址", 379 email: "E-mail",
380 question: "Question/ Opinion", 380 question: "Question/ Opinion",
381 questionPlaceHolder: "(字數不超過500字)", 381 questionPlaceHolder: "No more than 500 words",
382 orderNo: "Policy No", 382 orderNo: "Policy No",
383 orderNoPlaceHolder: "如您為平安客戶,請提供保單編號", 383 orderNoPlaceHolder: "If you are Ping An customer, please provide the policy number",
384 contactTime: "Preferred Contact Date", 384 contactTime: "Preferred Contact Date",
385 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。", 385 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 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.", 386 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 contactTypes: ['Mobile', 'Email'], 387 contactTypes: [{ name: 'Mobile', value: 1 }, { name: 'Email', value: 2 }],
388 errorTips: { 388 errorTips: {
389 e1: "請填寫該項內容", 389 e1: "Please fill in this item",
390 e2: "請填寫正確的聯繫方式" 390 e2: "Please fill in the correct contact information"
391 }, 391 },
392 success: "Thank you for your comments"
392 }, 393 },
393 reservation: { 394 reservation: {
394 name: "Name", 395 name: "Name",
395 namePlaceholder: "Name", 396 namePlaceholder: "Name",
396 contactType: "Preferred way of contact", 397 contactType: "Preferred way of contact",
398 contactTypeCadidates: [{ name: "phone no", value: 1 }],
397 contact: "Contact Number", 399 contact: "Contact Number",
398 contactPlaceholder: "(HK No./ Mainland No.)", 400 contactPlaceholder: "(HK No./ Mainland No.)",
399 reservationType: "Type of Reservation", 401 reservationType: "Type of Reservation",
402 reservationCandidates: [
403 { name: "Insurance consultation", value: "投保諮詢" },
404 { name: "Agent change", value: "代办保单变更" }
405 ],
400 reservationRemark: "Reservation Description", 406 reservationRemark: "Reservation Description",
401 reservationRemarkPlaceholder: "Optional, no more than 500 words, prompt text \"Please briefly explain the insurance type or business you want to consult", 407 reservationRemarkPlaceholder: "Optional, no more than 500 words, prompt text \"Please briefly explain the insurance type or business you want to consult",
402 hkClient: "Current Pingan HK Customer", 408 hkClient: "Current Pingan HK Customer",
...@@ -405,6 +411,12 @@ module.exports = { ...@@ -405,6 +411,12 @@ module.exports = {
405 contactTime: "Preferred Contact Date", 411 contactTime: "Preferred Contact Date",
406 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。", 412 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。",
407 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.", 413 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.",
414 success: "Success",
415 submitBtn: 'Confirm',
416 errorTips: {
417 e1: "Please fill in this item",
418 e2: "Please fill in the correct contact information"
419 }
408 }, 420 },
409 paymentType: { 421 paymentType: {
410 menu1: "Payment in Person at Cashier", 422 menu1: "Payment in Person at Cashier",
...@@ -621,7 +633,7 @@ module.exports = { ...@@ -621,7 +633,7 @@ module.exports = {
621 e2: "請填寫聯繫地址", 633 e2: "請填寫聯繫地址",
622 e3: "Please enter the collect E-mail" 634 e3: "Please enter the collect E-mail"
623 }, 635 },
624 success : "Success", 636 success: "Success",
625 }, 637 },
626 policyChangeInformation: { 638 policyChangeInformation: {
627 title: "Change of Customer Information", 639 title: "Change of Customer Information",
...@@ -641,7 +653,7 @@ module.exports = { ...@@ -641,7 +653,7 @@ module.exports = {
641 upload: "Upload Attachment", 653 upload: "Upload Attachment",
642 modifyTips1: "If you need to modify please", 654 modifyTips1: "If you need to modify please",
643 modifyTips2: " contact customer service", 655 modifyTips2: " contact customer service",
644 success : "Success", 656 success: "Success",
645 }, 657 },
646 contactUs: { 658 contactUs: {
647 service: { 659 service: {
...@@ -739,15 +751,6 @@ module.exports = { ...@@ -739,15 +751,6 @@ module.exports = {
739 noPolicy: "You haven't bought any policy, if you have any questions please", 751 noPolicy: "You haven't bought any policy, if you have any questions please",
740 customService: " contact customer service", 752 customService: " contact customer service",
741 }, 753 },
742 reservation: {
743 submitBtn: '確認',
744 contactTypes: ['電話'],
745 reservationTypes: ['投保咨詢', '代辦保單變更'],
746 errorTips: {
747 e1: "請填寫該項內容",
748 e2: "請填寫正確的聯繫方式"
749 }
750 },
751 unauth: { 754 unauth: {
752 tips: "If you have a ping an all in one account account, it can help us provide better services for you", 755 tips: "If you have a ping an all in one account account, it can help us provide better services for you",
753 or: "or", 756 or: "or",
......
...@@ -384,19 +384,25 @@ module.exports = { ...@@ -384,19 +384,25 @@ module.exports = {
384 contactTime: "期望聯絡時間", 384 contactTime: "期望聯絡時間",
385 notice1: "本表格所收集的個人資料根據「平安人壽香港個人資料收集聲明」處理及只會被用作於聯絡 閣下之用。然而所收集的個人資料未經您明確授權將不會轉移至「平安人壽香港個人資料收集聲明」列明以外之第三者機構。您可選擇不向我們提供所需的個人資料,惟這樣可能導致我們不能聯絡您。您亦可根據「平安人壽香港個人資料收集聲明」之權利查閱及更正個人資料。", 385 notice1: "本表格所收集的個人資料根據「平安人壽香港個人資料收集聲明」處理及只會被用作於聯絡 閣下之用。然而所收集的個人資料未經您明確授權將不會轉移至「平安人壽香港個人資料收集聲明」列明以外之第三者機構。您可選擇不向我們提供所需的個人資料,惟這樣可能導致我們不能聯絡您。您亦可根據「平安人壽香港個人資料收集聲明」之權利查閱及更正個人資料。",
386 notice2: "本人現確認明白並同意本人的個人資料根據中銀人壽個人資料收集聲明作以上述用途。", 386 notice2: "本人現確認明白並同意本人的個人資料根據中銀人壽個人資料收集聲明作以上述用途。",
387 contactTypes: ['電話', '電郵'], 387 contactTypes: [{ name: '電話', value: 1 }, { name: '電郵', value: 2 }],
388 errorTips: { 388 errorTips: {
389 e1: "請填寫該項內容", 389 e1: "請填寫該項內容",
390 e2: "請填寫正確的聯繫方式" 390 e2: "請填寫正確的聯繫方式"
391 }, 391 },
392 success : "感謝您的寶貴意見"
392 }, 393 },
393 reservation: { 394 reservation: {
394 name: "姓名", 395 name: "姓名",
395 namePlaceholder: "姓名", 396 namePlaceholder: "姓名",
396 contactType: "聯絡方式", 397 contactType: "聯絡方式",
398 contactTypeCadidates: [{ name: "電話", value: 1 }],
397 contact: "聯絡電話", 399 contact: "聯絡電話",
398 contactPlaceholder: "香港號碼/內地號碼", 400 contactPlaceholder: "香港號碼/內地號碼",
399 reservationType: "預約類型", 401 reservationType: "預約類型",
402 reservationCandidates: [
403 { name: "投保諮詢", value: "投保諮詢" },
404 { name: "代辦保單變更", value: "代办保单变更" }
405 ],
400 reservationRemark: "預約說明", 406 reservationRemark: "預約說明",
401 reservationRemarkPlaceholder: "請簡單說明您想要咨詢的產品或業務", 407 reservationRemarkPlaceholder: "請簡單說明您想要咨詢的產品或業務",
402 hkClient: "是否平安香港客戶", 408 hkClient: "是否平安香港客戶",
...@@ -405,6 +411,12 @@ module.exports = { ...@@ -405,6 +411,12 @@ module.exports = {
405 contactTime: "期望聯絡時間", 411 contactTime: "期望聯絡時間",
406 notice1: "本表格所收集的個人資料根據「平安人壽香港個人資料收集聲明」處理及只會被用作於聯絡 閣下之用。然而所收集的個人資料未經您明確授權將不會轉移至「平安人壽香港個人資料收集聲明」列明以外之第三者機構。您可選擇不向我們提供所需的個人資料,惟這樣可能導致我們不能聯絡您。您亦可根據「平安人壽香港個人資料收集聲明」之權利查閱及更正個人資料。", 412 notice1: "本表格所收集的個人資料根據「平安人壽香港個人資料收集聲明」處理及只會被用作於聯絡 閣下之用。然而所收集的個人資料未經您明確授權將不會轉移至「平安人壽香港個人資料收集聲明」列明以外之第三者機構。您可選擇不向我們提供所需的個人資料,惟這樣可能導致我們不能聯絡您。您亦可根據「平安人壽香港個人資料收集聲明」之權利查閱及更正個人資料。",
407 notice2: "本人現確認明白並同意本人的個人資料根據中銀人壽個人資料收集聲明作以上述用途。", 413 notice2: "本人現確認明白並同意本人的個人資料根據中銀人壽個人資料收集聲明作以上述用途。",
414 success : "提交成功",
415 submitBtn: '确认',
416 errorTips: {
417 e1: "請填寫該項內容",
418 e2: "請填寫正確的聯繫方式"
419 }
408 }, 420 },
409 paymentType: { 421 paymentType: {
410 menu1: "親臨客服中心付款", 422 menu1: "親臨客服中心付款",
...@@ -738,15 +750,6 @@ module.exports = { ...@@ -738,15 +750,6 @@ module.exports = {
738 noPolicy: "您還未購買保單,如有疑問請", 750 noPolicy: "您還未購買保單,如有疑問請",
739 customService : "聯繫客服", 751 customService : "聯繫客服",
740 }, 752 },
741 reservation: {
742 submitBtn: '確認',
743 contactTypes: ['電話'],
744 reservationTypes: ['投保咨詢', '代辦保單變更'],
745 errorTips: {
746 e1: "請填寫該項內容",
747 e2: "請填寫正確的聯繫方式"
748 }
749 },
750 unauth: { 753 unauth: {
751 tips: "如您有平安一賬通賬戶,可幫助我們更好地為您提供服務", 754 tips: "如您有平安一賬通賬戶,可幫助我們更好地為您提供服務",
752 or: "或", 755 or: "或",
......
...@@ -384,19 +384,25 @@ module.exports = { ...@@ -384,19 +384,25 @@ module.exports = {
384 contactTime: "期望联络时间", 384 contactTime: "期望联络时间",
385 notice1: "本表格所收集的个人资料根据「平安人寿香港个人资料收集声明」处理及只会被用作于联络 阁下之用。然而所收集的个人资料未经您明确授权将不会转移至「平安人寿香港个人资料收集声明」列明以外之第三者机构。您可选择不向我们提供所需的个人资料,惟这样可能导致我们不能联络您。您亦可根据「平安人寿香港个人资料收集声明」之权利查阅及更正个人资料。", 385 notice1: "本表格所收集的个人资料根据「平安人寿香港个人资料收集声明」处理及只会被用作于联络 阁下之用。然而所收集的个人资料未经您明确授权将不会转移至「平安人寿香港个人资料收集声明」列明以外之第三者机构。您可选择不向我们提供所需的个人资料,惟这样可能导致我们不能联络您。您亦可根据「平安人寿香港个人资料收集声明」之权利查阅及更正个人资料。",
386 notice2: "本人现确认明白并同意本人的个人资料根据中银人寿个人资料收集声明作以上述用途。", 386 notice2: "本人现确认明白并同意本人的个人资料根据中银人寿个人资料收集声明作以上述用途。",
387 contactTypes: ['电话', '电邮'], 387 contactTypes: [{ name: '电话', value: 1 }, { name: '电邮', value: 2 }],
388 errorTips: { 388 errorTips: {
389 e1: "请填写该项内容", 389 e1: "请填写该项内容",
390 e2: "请填写正确的联系方式" 390 e2: "请填写正确的联系方式"
391 }, 391 },
392 success: "感谢您的宝贵意见"
392 }, 393 },
393 reservation: { 394 reservation: {
394 name: "姓名", 395 name: "姓名",
395 namePlaceholder: "姓名", 396 namePlaceholder: "姓名",
396 contactType: "联络方式", 397 contactType: "联络方式",
398 contactTypeCadidates: [{ name: "电话", value: 1 }],
397 contact: "联络电话", 399 contact: "联络电话",
398 contactPlaceholder: "香港号码/内地号码", 400 contactPlaceholder: "香港号码/内地号码",
399 reservationType: "预约类型", 401 reservationType: "预约类型",
402 reservationCandidates: [
403 { name: "投保咨询", value: "投保咨询" },
404 { name: "代办保单变更", value: "代办保单变更" }
405 ],
400 reservationRemark: "预约说明", 406 reservationRemark: "预约说明",
401 reservationRemarkPlaceholder: "请简单说明您想要咨询的产品或业务", 407 reservationRemarkPlaceholder: "请简单说明您想要咨询的产品或业务",
402 hkClient: "是否平安香港客户", 408 hkClient: "是否平安香港客户",
...@@ -405,6 +411,12 @@ module.exports = { ...@@ -405,6 +411,12 @@ module.exports = {
405 contactTime: "期望联络时间", 411 contactTime: "期望联络时间",
406 notice1: "本表格所收集的个人资料根据「平安人寿香港个人资料收集声明」处理及只会被用作于联络 阁下之用。然而所收集的个人资料未经您明确授权将不会转移至「平安人寿香港个人资料收集声明」列明以外之第三者机构。您可选择不向我们提供所需的个人资料,惟这样可能导致我们不能联络您。您亦可根据「平安人寿香港个人资料收集声明」之权利查阅及更正个人资料。", 412 notice1: "本表格所收集的个人资料根据「平安人寿香港个人资料收集声明」处理及只会被用作于联络 阁下之用。然而所收集的个人资料未经您明确授权将不会转移至「平安人寿香港个人资料收集声明」列明以外之第三者机构。您可选择不向我们提供所需的个人资料,惟这样可能导致我们不能联络您。您亦可根据「平安人寿香港个人资料收集声明」之权利查阅及更正个人资料。",
407 notice2: "本人现确认明白并同意本人的个人资料根据中银人寿个人资料收集声明作以上述用途。", 413 notice2: "本人现确认明白并同意本人的个人资料根据中银人寿个人资料收集声明作以上述用途。",
414 success: "提交成功",
415 submitBtn: '确认',
416 errorTips: {
417 e1: "请填写该项内容",
418 e2: "请填写正确的联系方式"
419 }
408 }, 420 },
409 paymentType: { 421 paymentType: {
410 menu1: "亲临客服中心付款", 422 menu1: "亲临客服中心付款",
...@@ -622,7 +634,7 @@ module.exports = { ...@@ -622,7 +634,7 @@ module.exports = {
622 e2: "請填寫聯繫地址", 634 e2: "請填寫聯繫地址",
623 e3: "請填寫正確的E-Mail地址" 635 e3: "請填寫正確的E-Mail地址"
624 }, 636 },
625 success : "更新成功", 637 success: "更新成功",
626 }, 638 },
627 policyChangeInformation: { 639 policyChangeInformation: {
628 title: "客户资料变更", 640 title: "客户资料变更",
...@@ -642,7 +654,7 @@ module.exports = { ...@@ -642,7 +654,7 @@ module.exports = {
642 upload: "附件上传", 654 upload: "附件上传",
643 modifyTips1: "如需修改请", 655 modifyTips1: "如需修改请",
644 modifyTips2: "联系客服", 656 modifyTips2: "联系客服",
645 success : "更新成功", 657 success: "更新成功",
646 }, 658 },
647 contactUs: { 659 contactUs: {
648 service: { 660 service: {
...@@ -733,26 +745,17 @@ module.exports = { ...@@ -733,26 +745,17 @@ module.exports = {
733 t6ClosingDate: "实收日期", 745 t6ClosingDate: "实收日期",
734 t6PaymentAmount: "缴费金额", 746 t6PaymentAmount: "缴费金额",
735 747
736 showMore : "显示所有保单", 748 showMore: "显示所有保单",
737 noPolicy: "您还未购买保单,如有疑问请", 749 noPolicy: "您还未购买保单,如有疑问请",
738 customService : "联系客服", 750 customService: "联系客服",
739 },
740 reservation: {
741 submitBtn: '确认',
742 contactTypes: ['電話'],
743 reservationTypes: ['投保咨询', '代办保单变更'],
744 errorTips: {
745 e1: "請填寫該項內容",
746 e2: "請填寫正確的聯繫方式"
747 }
748 }, 751 },
749 unauth: { 752 unauth: {
750 tips: "如您有平安一账通账户,可帮助我们更好地为您提供服务", 753 tips: "如您有平安一账通账户,可帮助我们更好地为您提供服务",
751 or: "或", 754 or: "或",
752 login: "登录", 755 login: "登录",
753 register: "注册", 756 register: "注册",
754 baseInfoTip : "您的完整信息可帮助我们为您提供完整服务", 757 baseInfoTip: "您的完整信息可帮助我们为您提供完整服务",
755 infoBtn : "前往完善" 758 infoBtn: "前往完善"
756 } 759 }
757 } 760 }
758 } 761 }
......
...@@ -4,13 +4,22 @@ import { ...@@ -4,13 +4,22 @@ import {
4 4
5 export default { 5 export default {
6 props: { 6 props: {
7 checkProfile: false, 7 // 模型;auth、suggest
8 model: {
9 type: String,
10 default: "auth"
11 },
12 checkProfile: {
13 type: Boolean,
14 default: false
15 },
8 }, 16 },
9 data() { 17 data() {
10 return { 18 return {
11 key: 'value', 19 key: 'value',
12 showProfileInfo: false, 20 showProfileInfo: false,
13 showUnAuth: false 21 showUnAuth: false,
22 showSuggest: true
14 } 23 }
15 }, 24 },
16 components: {}, 25 components: {},
...@@ -25,7 +34,9 @@ export default { ...@@ -25,7 +34,9 @@ export default {
25 return this.$i18n.messages && this.$i18n.locale ? this.$i18n.messages[this.$i18n.locale] : {}; 34 return this.$i18n.messages && this.$i18n.locale ? this.$i18n.messages[this.$i18n.locale] : {};
26 }, 35 },
27 showPanel() { 36 showPanel() {
28 return this.showProfileInfo || this.showUnAuth; 37 let b1 = this.model == "auth" && (this.showProfileInfo || this.showUnAuth);
38 let b2 = this.model == "suggest" && this.showSuggest;
39 return b1 || b2;
29 } 40 }
30 }, 41 },
31 methods: { 42 methods: {
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
9 <span class="pointer btn" @click="gotoRegisterPage">{{$t('customService.unauth.register')}}</span> 9 <span class="pointer btn" @click="gotoRegisterPage">{{$t('customService.unauth.register')}}</span>
10 </div> 10 </div>
11 11
12 <!-- <img class="pointer close" src="@/assets/images/common/icon-alert-close.png" alt=""> --> 12 <img v-if="model=='suggest'" class="pointer close" src="@/assets/images/common/icon-alert-close.png" alt="" @click="showSuggest = false">
13 </div> 13 </div>
14 </div> 14 </div>
15 15
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
24 <!-- <img class="pointer close" src="@/assets/images/common/icon-alert-close.png" alt=""> --> 24 <!-- <img class="pointer close" src="@/assets/images/common/icon-alert-close.png" alt=""> -->
25 </div> 25 </div>
26 </div> 26 </div>
27 <div class="empty-line"></div> 27 <div class="empty-line" v-if="model!='suggest'"></div>
28 </div> 28 </div>
29 </template> 29 </template>
30 30
......
...@@ -21,6 +21,13 @@ export default { ...@@ -21,6 +21,13 @@ export default {
21 name: name 21 name: name
22 }) 22 })
23 }, 23 },
24 toPath(path){
25 document.documentElement.scrollTop = 0;
26 document.body.scrollTop = 0;
27 this.$router.push({
28 path: path
29 })
30 },
24 initData() {} 31 initData() {}
25 }, 32 },
26 mounted() {}, 33 mounted() {},
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
24 <div @click="toPage('profile')" class="n-item">{{$t('footer.aboutUs')}}</div> 24 <div @click="toPage('profile')" class="n-item">{{$t('footer.aboutUs')}}</div>
25 <div @click="toPage('profile')" class="n-item">{{$t('footer.companyIntroduction')}}</div> 25 <div @click="toPage('profile')" class="n-item">{{$t('footer.companyIntroduction')}}</div>
26 <div @click="toPage('newsList')" class="n-item">{{$t('footer.news')}}</div> 26 <div @click="toPage('newsList')" class="n-item">{{$t('footer.news')}}</div>
27 <div 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 class="n-item">{{$t('footer.helpCenter')}}</div>
...@@ -33,10 +33,10 @@ ...@@ -33,10 +33,10 @@
33 <div @click="toPage('personalDataCollection')" class="n-item">{{$t('footer.protocol')}}</div> 33 <div @click="toPage('personalDataCollection')" class="n-item">{{$t('footer.protocol')}}</div>
34 </div> 34 </div>
35 <div class="nav-v"> 35 <div class="nav-v">
36 <div class="n-item">{{$t('footer.contactUs')}}</div> 36 <div @click="toPath('/custom/service?q=m1')" class="n-item">{{$t('footer.contactUs')}}</div>
37 <div class="n-item">{{$t('footer.contactInformation')}}</div> 37 <div @click="toPage('empty')" class="n-item">{{$t('footer.contactInformation')}}</div>
38 <div class="n-item">{{$t('footer.service')}}</div> 38 <div @click="toPage('empty')" class="n-item">{{$t('footer.service')}}</div>
39 <div class="n-item">{{$t('footer.map')}}</div> 39 <div @click="toPage('empty')" class="n-item">{{$t('footer.map')}}</div>
40 </div> 40 </div>
41 </div> 41 </div>
42 42
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
3 .content { 3 .content {
4 position: relative; 4 position: relative;
5 padding-bottom: 2.5rem; 5 padding-bottom: 2.5rem;
6 font-family: MicrosoftYaHei; 6 // font-family: MicrosoftYaHei;
7 } 7 }
8 8
9 .top-space { 9 .top-space {
......
...@@ -4,6 +4,10 @@ import { ...@@ -4,6 +4,10 @@ import {
4 httpPost 4 httpPost
5 } from '@/api/fetch-api.js' 5 } from '@/api/fetch-api.js'
6 6
7 import { contactMethodCheck } from '@utils/utils.js';
8
9 import Auth from '@components/auth/auth.vue';
10 import modalComp from '@/components/modal-comp/modal-comp.vue';
7 import DatePicker from '@/components/date-picker/date-picker.vue' 11 import DatePicker from '@/components/date-picker/date-picker.vue'
8 12
9 export default { 13 export default {
...@@ -12,6 +16,7 @@ export default { ...@@ -12,6 +16,7 @@ export default {
12 key: 'value', 16 key: 'value',
13 isHkCus: true, 17 isHkCus: true,
14 checked: false, 18 checked: false,
19 contactTypeShow: "",
15 data: { 20 data: {
16 name: "", 21 name: "",
17 contactType: "", 22 contactType: "",
...@@ -27,11 +32,19 @@ export default { ...@@ -27,11 +32,19 @@ export default {
27 complainErr: "", 32 complainErr: "",
28 policyNumberErr: "", 33 policyNumberErr: "",
29 contactDateErr: "" 34 contactDateErr: ""
30 } 35 },
36
37 modalSimpleVisiable: false,
38 modalVisiable: false,
39 targetPath: "",
40 modalIcon: "succ",
41 modalContent: "",
31 } 42 }
32 }, 43 },
33 components: { 44 components: {
34 DatePicker 45 DatePicker,
46 Auth,
47 modalComp
35 }, 48 },
36 computed: { 49 computed: {
37 locale() { 50 locale() {
...@@ -45,8 +58,18 @@ export default { ...@@ -45,8 +58,18 @@ export default {
45 } 58 }
46 }, 59 },
47 methods: { 60 methods: {
61 showModal(content, icon) {
62 icon = !icon || typeof icon === "undefined" ? "succ" : icon;
63 this.modalIcon = icon;
64 this.modalContent = content;
65 this.modalVisiable = true;
66 },
67 modalCallback() {
68 this.modalVisiable = false;
69 },
48 initData() { 70 initData() {
49 this.data.contactType = this.contactTypes[0]; 71 this.data.contactType = this.contactTypes[0].value;
72 this.contactTypeShow = this.contactTypes[0].name;
50 }, 73 },
51 submitHandler() { 74 submitHandler() {
52 if (!this.checked || this.isSubmit) { 75 if (!this.checked || this.isSubmit) {
...@@ -74,12 +97,13 @@ export default { ...@@ -74,12 +97,13 @@ export default {
74 } 97 }
75 }, 98 },
76 showSubmitSuccess() { 99 showSubmitSuccess() {
77 alert("提交成功"); 100 this.showModal(this.i18n.complaintAcceptance.success);
78 this.data.name = ""; 101 this.data.name = "";
79 this.data.contactMethod = ""; 102 this.data.contactMethod = "";
80 this.data.complain = ""; 103 this.data.complain = "";
81 this.data.policyNumber = ""; 104 this.data.policyNumber = "";
82 this.data.contactDate = ""; 105 this.data.contactDate = "";
106 this.checked = false;
83 }, 107 },
84 checkName() { 108 checkName() {
85 if (!this.data.name) { 109 if (!this.data.name) {
...@@ -100,6 +124,20 @@ export default { ...@@ -100,6 +124,20 @@ export default {
100 this.errorTips.contactMethodErr = this.i18n.complaintAcceptance.errorTips.e1; 124 this.errorTips.contactMethodErr = this.i18n.complaintAcceptance.errorTips.e1;
101 return false; 125 return false;
102 } 126 }
127 if (this.data.contactType == 1) {
128 let hkMobile = contactMethodCheck('hkmobile', this.data.contactMethod);
129 let zhMobile = contactMethodCheck('mobile', this.data.contactMethod);
130 if (!hkMobile && !zhMobile) {
131 this.errorTips.contactMethodErr = this.i18n.complaintAcceptance.errorTips.e2;
132 return false;
133 }
134 } else {
135 let emailCheck = contactMethodCheck('email', this.data.contactMethod);
136 if (!emailCheck) {
137 this.errorTips.contactMethodErr = this.i18n.complaintAcceptance.errorTips.e2;
138 return false;
139 }
140 }
103 return true; 141 return true;
104 }, 142 },
105 checkComplain() { 143 checkComplain() {
...@@ -110,11 +148,12 @@ export default { ...@@ -110,11 +148,12 @@ export default {
110 return true; 148 return true;
111 }, 149 },
112 checkPolicyNumber() { 150 checkPolicyNumber() {
113 if (!this.data.policyNumber) {
114 this.errorTips.policyNumberErr = this.i18n.complaintAcceptance.errorTips.e1;
115 return false;
116 }
117 return true; 151 return true;
152 // if (!this.data.policyNumber) {
153 // this.errorTips.policyNumberErr = this.i18n.complaintAcceptance.errorTips.e1;
154 // return false;
155 // }
156 // return true;
118 }, 157 },
119 checkContactDate() { 158 checkContactDate() {
120 if (!this.data.contactDate) { 159 if (!this.data.contactDate) {
...@@ -128,8 +167,9 @@ export default { ...@@ -128,8 +167,9 @@ export default {
128 'data.name': function () { 167 'data.name': function () {
129 this.errorTips.nameErr = ""; 168 this.errorTips.nameErr = "";
130 }, 169 },
131 'data.contactType': function () { 170 'data.contactType': function (val) {
132 this.errorTips.contactTypeErr = ""; 171 this.errorTips.contactTypeErr = "";
172 this.contactTypeShow = this.contactTypes[val - 1].name;
133 }, 173 },
134 'data.contactMethod': function () { 174 'data.contactMethod': function () {
135 this.errorTips.contactMethodErr = ""; 175 this.errorTips.contactMethodErr = "";
......
1 1
2 <template> 2 <template>
3 <div>
4 <auth :model="'suggest'" ref="auth"></auth>
5 <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp>
3 <div class="reservation-container"> 6 <div class="reservation-container">
4
5 <!-- 顶头iterm --> 7 <!-- 顶头iterm -->
6 <div class="form form2"> 8 <div class="form form2">
7 <div class="form-item"> 9 <div class="form-item">
...@@ -23,7 +25,7 @@ ...@@ -23,7 +25,7 @@
23 <div class="ipt-wrap"> 25 <div class="ipt-wrap">
24 <div class="down-arrow"></div> 26 <div class="down-arrow"></div>
25 <select class="ipt phone-ipt" v-model="data.contactType"> 27 <select class="ipt phone-ipt" v-model="data.contactType">
26 <option v-for="(item,index) in contactTypes" :key="index" :value="item">{{item}}</option> 28 <option v-for="(item,index) in contactTypes" :key="index" :value="item.value">{{item.name}}</option>
27 </select> 29 </select>
28 </div> 30 </div>
29 <div class="validator" v-if="errorTips.contactTypeErr.length > 0"> 31 <div class="validator" v-if="errorTips.contactTypeErr.length > 0">
...@@ -33,7 +35,7 @@ ...@@ -33,7 +35,7 @@
33 35
34 <div class="form-item flex1"> 36 <div class="form-item flex1">
35 <div class="label"> 37 <div class="label">
36 <div class="icon"><img src="@/assets/images/complaint-acceptance/icon-ca-mail.png"></div>{{data.contactType}} 38 <div class="icon"><img src="@/assets/images/complaint-acceptance/icon-ca-mail.png"></div>{{contactTypeShow}}
37 </div> 39 </div>
38 <div class="ipt-wrap"> 40 <div class="ipt-wrap">
39 <input class="ipt mail-ipt" type="text" :class="{err : errorTips.contactMethodErr.length > 0}" v-model="data.contactMethod"> 41 <input class="ipt mail-ipt" type="text" :class="{err : errorTips.contactMethodErr.length > 0}" v-model="data.contactMethod">
...@@ -54,8 +56,8 @@ ...@@ -54,8 +56,8 @@
54 <div class="ipt-wrap"> 56 <div class="ipt-wrap">
55 <textarea :placeholder="$t('complaintAcceptance.questionPlaceHolder')" class="ipt textarea" :class="{err:errorTips.complainErr.length >0}" v-model="data.complain"></textarea> 57 <textarea :placeholder="$t('complaintAcceptance.questionPlaceHolder')" class="ipt textarea" :class="{err:errorTips.complainErr.length >0}" v-model="data.complain"></textarea>
56 </div> 58 </div>
57 <div class="validator" v-if="errorTips.contactMethodErr.length > 0"> 59 <div class="validator" v-if="errorTips.complainErr.length > 0">
58 <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.contactMethodErr}} 60 <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.complainErr}}
59 </div> 61 </div>
60 </div> 62 </div>
61 63
...@@ -110,6 +112,7 @@ ...@@ -110,6 +112,7 @@
110 {{$t('customService.reservation.submitBtn')}} 112 {{$t('customService.reservation.submitBtn')}}
111 </div> 113 </div>
112 </div> 114 </div>
115 </div>
113 </template> 116 </template>
114 117
115 <script src="./complaint-acceptance.js"></script> 118 <script src="./complaint-acceptance.js"></script>
......
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
87 </div> 87 </div>
88 </template> 88 </template>
89 89
90 <template v-if="locale =='tc'"> 90 <template v-else-if="locale =='tc'">
91 <!-- 繁体--> 91 <!-- 繁体-->
92 <div v-if="curIndex == 0" class="payment-cont-item"> 92 <div v-if="curIndex == 0" class="payment-cont-item">
93 <ul> 93 <ul>
......
...@@ -4,6 +4,8 @@ import { ...@@ -4,6 +4,8 @@ import {
4 httpPost 4 httpPost
5 } from '@/api/fetch-api.js' 5 } from '@/api/fetch-api.js'
6 6
7 import { contactMethodCheck } from '@utils/utils.js';
8
7 import Auth from '@components/auth/auth.vue'; 9 import Auth from '@components/auth/auth.vue';
8 import modalComp from '@/components/modal-comp/modal-comp.vue'; 10 import modalComp from '@/components/modal-comp/modal-comp.vue';
9 import PolicyHeadList from "./policy-head-list.vue"; 11 import PolicyHeadList from "./policy-head-list.vue";
...@@ -113,8 +115,8 @@ export default { ...@@ -113,8 +115,8 @@ export default {
113 }, 115 },
114 checkMobile() { 116 checkMobile() {
115 if (this.data.mobile) { 117 if (this.data.mobile) {
116 let hkMobile = /^[5689]{1}\d{7}$/.test(this.data.mobile); 118 let hkMobile = contactMethodCheck('hkmobile', this.data.mobile);
117 let zhMobile = /^((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(this.data.mobile); 119 let zhMobile = contactMethodCheck('mobile', this.data.mobile);
118 if (!hkMobile && !zhMobile) { 120 if (!hkMobile && !zhMobile) {
119 this.errorTips.e1 = this.i18n.policyChangeContact.errorTips.e1; 121 this.errorTips.e1 = this.i18n.policyChangeContact.errorTips.e1;
120 return false; 122 return false;
...@@ -126,7 +128,7 @@ export default { ...@@ -126,7 +128,7 @@ export default {
126 return true; 128 return true;
127 }, 129 },
128 checkEmail() { 130 checkEmail() {
129 if (this.data.email && !/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/.test(this.data.email)) { 131 if (this.data.email && !contactMethodCheck('email', this.data.email)) {
130 this.errorTips.e3 = this.i18n.policyChangeContact.errorTips.e3; 132 this.errorTips.e3 = this.i18n.policyChangeContact.errorTips.e3;
131 return false; 133 return false;
132 } 134 }
......
...@@ -4,7 +4,11 @@ import { ...@@ -4,7 +4,11 @@ import {
4 httpPost 4 httpPost
5 } from '@/api/fetch-api.js' 5 } from '@/api/fetch-api.js'
6 6
7 import DatePicker from '@/components/date-picker/date-picker.vue' 7 import { contactMethodCheck } from '@utils/utils.js';
8
9 import DatePicker from '@/components/date-picker/date-picker.vue';
10 import Auth from '@components/auth/auth.vue';
11 import modalComp from '@/components/modal-comp/modal-comp.vue';
8 12
9 export default { 13 export default {
10 data() { 14 data() {
...@@ -30,11 +34,19 @@ export default { ...@@ -30,11 +34,19 @@ export default {
30 e5: "", 34 e5: "",
31 e6: "", 35 e6: "",
32 e7: "" 36 e7: ""
33 } 37 },
38
39 modalSimpleVisiable: false,
40 modalVisiable: false,
41 targetPath: "",
42 modalIcon: "succ",
43 modalContent: "",
34 } 44 }
35 }, 45 },
36 components: { 46 components: {
37 DatePicker 47 DatePicker,
48 Auth,
49 modalComp
38 }, 50 },
39 computed: { 51 computed: {
40 locale() { 52 locale() {
...@@ -44,16 +56,25 @@ export default { ...@@ -44,16 +56,25 @@ export default {
44 return this.$i18n.messages && this.$i18n.locale ? this.$i18n.messages[this.$i18n.locale] : {}; 56 return this.$i18n.messages && this.$i18n.locale ? this.$i18n.messages[this.$i18n.locale] : {};
45 }, 57 },
46 contactTypes() { 58 contactTypes() {
47 return this.i18n.customService.reservation.contactTypes; 59 return this.i18n.reservation.contactTypeCadidates;
48 }, 60 },
49 reservationTypes() { 61 reservationTypes() {
50 return this.i18n.customService.reservation.reservationTypes; 62 return this.i18n.reservation.reservationCandidates;
51 } 63 }
52 }, 64 },
53 methods: { 65 methods: {
66 showModal(content, icon) {
67 icon = !icon || typeof icon === "undefined" ? "succ" : icon;
68 this.modalIcon = icon;
69 this.modalContent = content;
70 this.modalVisiable = true;
71 },
72 modalCallback() {
73 this.modalVisiable = false;
74 },
54 initData() { 75 initData() {
55 this.data.contactType = this.contactTypes[0]; 76 this.data.contactType = this.contactTypes[0].value;
56 this.data.reservationType = this.reservationTypes[0]; 77 this.data.reservationType = this.reservationTypes[0].value;
57 }, 78 },
58 submitHandler() { 79 submitHandler() {
59 if (!this.checked || this.isSubmit) { 80 if (!this.checked || this.isSubmit) {
...@@ -80,14 +101,15 @@ export default { ...@@ -80,14 +101,15 @@ export default {
80 } 101 }
81 }, 102 },
82 showSubmitSuccess() { 103 showSubmitSuccess() {
83 alert("提交成功"); 104 this.showModal(this.i18n.reservation.success);
84 this.data.name = ""; 105 this.data.name = "";
85 this.data.contactMethod = ""; 106 this.data.contactMethod = "";
86 this.data.instruction = ""; 107 this.data.instruction = "";
108 this.checked = false;
87 }, 109 },
88 checkName() { 110 checkName() {
89 if (!this.data.name) { 111 if (!this.data.name) {
90 let message = this.i18n.customService.reservation.errorTips.e1; 112 let message = this.i18n.reservation.errorTips.e1;
91 this.errorTips.e1 = message; 113 this.errorTips.e1 = message;
92 return false; 114 return false;
93 } 115 }
...@@ -95,23 +117,23 @@ export default { ...@@ -95,23 +117,23 @@ export default {
95 }, 117 },
96 checkContactMethod() { 118 checkContactMethod() {
97 if (!this.data.contactMethod) { 119 if (!this.data.contactMethod) {
98 let message = this.i18n.customService.reservation.errorTips.e1; 120 let message = this.i18n.reservation.errorTips.e1;
99 this.errorTips.e3 = message; 121 this.errorTips.e3 = message;
100 return false; 122 return false;
101 } 123 }
102 return true; 124 return true;
103 }, 125 },
104 checkInstruction() { 126 checkInstruction() {
105 if (!this.data.instruction) { 127 // if (!this.data.instruction) {
106 let message = this.i18n.customService.reservation.errorTips.e1; 128 // let message = this.i18n.reservation.errorTips.e1;
107 this.errorTips.e5 = message; 129 // this.errorTips.e5 = message;
108 return false; 130 // return false;
109 } 131 // }
110 return true; 132 return true;
111 }, 133 },
112 checkContactDate() { 134 checkContactDate() {
113 if (!this.data.contactDate) { 135 if (!this.data.contactDate) {
114 let message = this.i18n.customService.reservation.errorTips.e1; 136 let message = this.i18n.reservation.errorTips.e1;
115 this.errorTips.e7 = message; 137 this.errorTips.e7 = message;
116 return false; 138 return false;
117 } 139 }
......
1 1
2 <template> 2 <template>
3 <div> 3 <div>
4 <auth :model="'suggest'" ref="auth"></auth>
5 <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp>
4 6
5 <div class="reservation-container"> 7 <div class="reservation-container">
6 <div class="gird-g form"> 8 <div class="gird-g form">
...@@ -23,7 +25,7 @@ ...@@ -23,7 +25,7 @@
23 <div class="ipt-wrap"> 25 <div class="ipt-wrap">
24 <div class="down-arrow"></div> 26 <div class="down-arrow"></div>
25 <select class="ipt" v-model="data.contactType"> 27 <select class="ipt" v-model="data.contactType">
26 <option v-for="(item,index) in contactTypes" :key="index" :value="item">{{item}}</option> 28 <option v-for="(item,index) in contactTypes" :key="index" :value="item.value">{{item.name}}</option>
27 </select> 29 </select>
28 </div> 30 </div>
29 </div> 31 </div>
...@@ -47,7 +49,7 @@ ...@@ -47,7 +49,7 @@
47 <div class="ipt-wrap"> 49 <div class="ipt-wrap">
48 <div class="down-arrow"></div> 50 <div class="down-arrow"></div>
49 <select class="ipt" v-model="data.reservationType"> 51 <select class="ipt" v-model="data.reservationType">
50 <option v-for="(item,index) in reservationTypes" :key="index" :value="item">{{item}}</option> 52 <option v-for="(item,index) in reservationTypes" :key="index" :value="item.value">{{item.name}}</option>
51 </select> 53 </select>
52 </div> 54 </div>
53 </div> 55 </div>
...@@ -110,7 +112,7 @@ ...@@ -110,7 +112,7 @@
110 </div> 112 </div>
111 113
112 <div class="submit-btn" :class="{disabled : !checked}" @click="submitHandler"> 114 <div class="submit-btn" :class="{disabled : !checked}" @click="submitHandler">
113 {{$t('customService.reservation.submitBtn')}} 115 {{$t('reservation.submitBtn')}}
114 </div> 116 </div>
115 </div> 117 </div>
116 </div> 118 </div>
......
...@@ -137,6 +137,7 @@ ...@@ -137,6 +137,7 @@
137 position: relative; 137 position: relative;
138 @extend .fcc; 138 @extend .fcc;
139 @extend .bb; 139 @extend .bb;
140 @include ellipsis(14);
140 padding-left: 2.166667rem; 141 padding-left: 2.166667rem;
141 flex: 1; 142 flex: 1;
142 line-height: 2.3; 143 line-height: 2.3;
......
...@@ -58,9 +58,12 @@ ...@@ -58,9 +58,12 @@
58 <div v-if="$i18n.locale == 'zh'" class="txt"> 58 <div v-if="$i18n.locale == 'zh'" class="txt">
59 中国平安人寿保险股份有限公司成立于2002年,是中国平安保险(集团)股份有限公司旗下的重要成员。截至2017年12月31日,平安人寿注册资本为338亿元,在全国拥有42家分公司(含7家电话销售中心)及超过3,300个营业网点,寿险代理人达138.6万名。公司个险、银保、电销、互联网多渠道齐头并进,实现协同发展,运营管理水平及客户体验领先市场,并依托集团“金融+科技”双驱动战略,在合规经营、防范风险的前提下,开启平台经营新时代,持续提升产品、科技两大核心竞争力,推动内含价值及规模持续、健康、稳定增长。 59 中国平安人寿保险股份有限公司成立于2002年,是中国平安保险(集团)股份有限公司旗下的重要成员。截至2017年12月31日,平安人寿注册资本为338亿元,在全国拥有42家分公司(含7家电话销售中心)及超过3,300个营业网点,寿险代理人达138.6万名。公司个险、银保、电销、互联网多渠道齐头并进,实现协同发展,运营管理水平及客户体验领先市场,并依托集团“金融+科技”双驱动战略,在合规经营、防范风险的前提下,开启平台经营新时代,持续提升产品、科技两大核心竞争力,推动内含价值及规模持续、健康、稳定增长。
60 </div> 60 </div>
61 <div v-else class="txt"> 61 <div v-else-if="$i18n.locale == 'tc'" class="txt">
62 中國平安人壽保險股份有限公司成立於2002年,是中國平安保險(集團)股份有限公司旗下的重要成員。截至2017年12月31日,平安人壽註冊資本為338億元,在全國擁有42家分公司(含7家電話銷售中心)及超過3,300個營業網點,壽險代理人達138.6萬名。公司個險、銀保、電銷、互聯網多渠道齊頭並進,實現協同發展,運營管理水平及客戶體驗領先市場,並依托集團“金融+科技”雙驅動戰略,在合規經營、防範風險的前提下,開啟平臺經營新時代,持續提升產品、科技兩大核心競爭力,推動內含價值及規模持續、健康、穩定增長。 62 中國平安人壽保險股份有限公司成立於2002年,是中國平安保險(集團)股份有限公司旗下的重要成員。截至2017年12月31日,平安人壽註冊資本為338億元,在全國擁有42家分公司(含7家電話銷售中心)及超過3,300個營業網點,壽險代理人達138.6萬名。公司個險、銀保、電銷、互聯網多渠道齊頭並進,實現協同發展,運營管理水平及客戶體驗領先市場,並依托集團“金融+科技”雙驅動戰略,在合規經營、防範風險的前提下,開啟平臺經營新時代,持續提升產品、科技兩大核心競爭力,推動內含價值及規模持續、健康、穩定增長。
63 </div> 63 </div>
64 <div v-else class="txt">
65 Ping An Life Insurance Co., Ltd. of China was founded in 2002. It is an important member of Ping An insurance (Group) Co., Ltd. As of December 31, 2017, Ping An life had a registered capital of 33.8 billion yuan. It has 42 branches (including 7 telemarketing centers) and more than 3300 business outlets nationwide, with 1.386 million life insurance agents. The company's personal insurance, bancassurance, telemarketing and Internet multi-channel go hand in hand to achieve coordinated development, leading the market in operation and management level and customer experience, and relying on the group's "Finance + technology" dual drive strategy, under the premise of compliant operation and risk prevention, to open a new era of platform operation, continuously improve the two core competitiveness of products and technology, and promote the sustainability of embedded value and scale Healthy and stable growth.
66 </div>
64 </div> 67 </div>
65 </div> 68 </div>
66 </div> 69 </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 import { contactMethodCheck } from '@utils/utils.js';
13 14
14 import modalComp from '@/components/modal-comp/modal-comp.vue'; 15 import modalComp from '@/components/modal-comp/modal-comp.vue';
15 import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; 16 import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue';
...@@ -216,7 +217,7 @@ export default { ...@@ -216,7 +217,7 @@ export default {
216 }).then(response => { 217 }).then(response => {
217 this.loading = false; 218 this.loading = false;
218 this._handlerLoginResponse(response); 219 this._handlerLoginResponse(response);
219 }).catch(err=>{ 220 }).catch(err => {
220 this.loading = false; 221 this.loading = false;
221 }); 222 });
222 }); 223 });
...@@ -293,7 +294,7 @@ export default { ...@@ -293,7 +294,7 @@ export default {
293 }).then(response => { 294 }).then(response => {
294 this.loading = false; 295 this.loading = false;
295 this._handlerLoginResponse(response); 296 this._handlerLoginResponse(response);
296 }).catch(err=>{ 297 }).catch(err => {
297 this.loading = false; 298 this.loading = false;
298 }); 299 });
299 }); 300 });
...@@ -375,8 +376,8 @@ export default { ...@@ -375,8 +376,8 @@ export default {
375 // 检测手机号是否正确 376 // 检测手机号是否正确
376 return new Promise((resolve, reject) => { 377 return new Promise((resolve, reject) => {
377 let mobile = this.loginForm.mobileNo; 378 let mobile = this.loginForm.mobileNo;
378 let hkMobile = mobile.length == 8 && /^[5689]{1}\d{7}$/.test(mobile); 379 let hkMobile = mobile.length == 8 && contactMethodCheck('hkmobile', mobile);
379 let zhMobile = mobile.length == 11 && /^((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(mobile); 380 let zhMobile = mobile.length == 11 && contactMethodCheck('mobile', mobile);
380 if (!hkMobile && !zhMobile) { 381 if (!hkMobile && !zhMobile) {
381 this._showMobileNoIllegalTip() 382 this._showMobileNoIllegalTip()
382 return; 383 return;
......
...@@ -6,7 +6,8 @@ ...@@ -6,7 +6,8 @@
6 6
7 .box { 7 .box {
8 position: relative; 8 position: relative;
9 max-width: 64rem; 9 max-width: $articleWidth;
10 // max-width: 64rem;
10 } 11 }
11 12
12 .top-space { 13 .top-space {
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
32 </div> 32 </div>
33 </div> 33 </div>
34 34
35 <div v-if="$i18n.locale == 'tc'"> 35 <div v-else-if="$i18n.locale == 'tc'">
36 <div class="top-space"></div> 36 <div class="top-space"></div>
37 <h2 class="tit">中國平安,與時代同行!</h2> 37 <h2 class="tit">中國平安,與時代同行!</h2>
38 <div @click="toNewsList" class="box back">返回列表頁 ></div> 38 <div @click="toNewsList" class="box back">返回列表頁 ></div>
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
13 </div> 13 </div>
14 </div> 14 </div>
15 15
16 <div v-if="$i18n.locale == 'tc'"> 16 <div v-else-if="$i18n.locale == 'tc'">
17 <div class="top-space"></div> 17 <div class="top-space"></div>
18 <h2 class="tit">公司簡介</h2> 18 <h2 class="tit">公司簡介</h2>
19 <div class="box desc"> 19 <div class="box desc">
......
...@@ -4,6 +4,8 @@ import { ...@@ -4,6 +4,8 @@ import {
4 httpPost 4 httpPost
5 } from '@/api/fetch-api.js' 5 } from '@/api/fetch-api.js'
6 6
7 import { contactMethodCheck } from '@utils/utils.js';
8
7 import modalComp from '@/components/modal-comp/modal-comp.vue'; 9 import modalComp from '@/components/modal-comp/modal-comp.vue';
8 import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; 10 import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue';
9 import { passwordEncrypt } from '@/utils/encrypt.js'; 11 import { passwordEncrypt } from '@/utils/encrypt.js';
...@@ -120,13 +122,12 @@ export default { ...@@ -120,13 +122,12 @@ export default {
120 return new Promise((resolve, reject) => { 122 return new Promise((resolve, reject) => {
121 let mobile = this.registerForm.mobileNo; 123 let mobile = this.registerForm.mobileNo;
122 if (this.mobileNoType == "hk") { 124 if (this.mobileNoType == "hk") {
123 if (mobile.length != 8 && !/^[5689]{1}\d{7}$/.test(mobile)) { 125 if (mobile.length != 8 && !contactMethodCheck('hkmobile', mobile)) {
124 this._showMobileNoIllegalTip() 126 this._showMobileNoIllegalTip()
125 return; 127 return;
126 } 128 }
127 } else { 129 } else {
128 if (mobile.length != 11 && 130 if (mobile.length != 11 && !contactMethodCheck('mobile', mobile)) {
129 !/^((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(mobile)) {
130 this._showMobileNoIllegalTip() 131 this._showMobileNoIllegalTip()
131 return; 132 return;
132 } 133 }
......
...@@ -248,3 +248,23 @@ export function throttle(func, wait, type) { ...@@ -248,3 +248,23 @@ export function throttle(func, wait, type) {
248 } 248 }
249 } 249 }
250 } 250 }
251
252 /**
253 * 几种常用的校验方式
254 * @param {string} type
255 * @param {string} value
256 */
257 export function contactMethodCheck(type, value) {
258 if (type == 'hkmobile') {
259 return /^[5689]{1}\d{7}$/.test(value);
260 }
261
262 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 }
265
266 if (type == 'email') {
267 return /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/.test(value);
268 }
269 return true;
270 }
...\ No newline at end of file ...\ No newline at end of file
......