8a698e31 by simon

更改联络方式交互样式,含三语和mock数据结构

1 parent ae2b9504

269 Bytes | W: | H:

477 Bytes | W: | H:

  • 2-up
  • Swipe
  • Onion skin

194 Bytes | W: | H:

264 Bytes | W: | H:

  • 2-up
  • Swipe
  • Onion skin

283 Bytes | W: | H:

500 Bytes | W: | H:

  • 2-up
  • Swipe
  • Onion skin
1 module.exports = { 1 module.exports = {
2 common: { 2 common: {
3 Confirm:"Confirm", 3 Confirm: "Confirm",
4 Cancel:"Cancel", 4 Cancel: "Cancel",
5 Male: "Male",
6 Female: "Female",
7 Sex: "Sex",
8 Age: "Age",
5 }, 9 },
6 message: { 10 message: {
7 login: 'Login', 11 login: 'Login',
...@@ -373,53 +377,35 @@ module.exports = { ...@@ -373,53 +377,35 @@ module.exports = {
373 customService: "contact customer service hotline", 377 customService: "contact customer service hotline",
374 }, 378 },
375 index: { 379 index: {
376 // news: "新聞資訊", 380 recommend: {
377 // newMore: "查看更多", 381 title: "Why choose us?",
378 // recommend: { 382 contact: "Contact us",
379 // t1: "Online Quotation", 383 item1: {
380 // t2: "Customer Service", 384 desc: "E-service at Finger Tips",
381 // t3: "Products",
382 // t4: "Latest News",
383 // item1: {
384 // btn: "了解更多產品",
385 // t1: "為自己和家人尋找壹份保障",
386 // },
387 // item2: {
388 // btn: "立即預約",
389 // t1: "在線預約 專業服務",
390 // },
391 // item3: {
392 // btn: "客户服务",
393 // t1: "專業客服為妳服務",
394 // t2: "想了解更多,可致電",
395 // t3: "95511",
396 // t4: "聯絡我們,或進入",
397 // }
398 // },
399 recommend:{
400 title:"為何選擇平安人壽?",
401 contact:"Contact us",
402 item1:{
403 desc:"E-service at Finger Tips",
404 }, 385 },
405 item2:{ 386 item2: {
406 desc:"Serving more than 200 million customers", 387 desc: "Serving more than 200 million customers",
407 }, 388 },
408 item3:{ 389 item3: {
409 desc:"International risk management standard", 390 desc: "International risk management standard",
410 }, 391 },
411 }, 392 },
412 contact:{ 393 quote: {
413 t1:"Contact us for more product information.", 394 quote: "Quote now",
414 t2:"Leave your contact or call us at 2983 8866.", 395 want: "",
415 form:{ 396 service: "Contact customer service",
416 Title:"Title", 397 },
417 Name:"Name", 398 contact: {
418 PhoneNumber:"Phone number", 399 t1: "Contact us for more product information.",
419 Email:"Email", 400 t2: "Leave your contact or call us at 2983 8866.",
420 Time:"Preferred contact time slot", 401 form: {
421 Inquiry:"Inquiry", 402 Title: "Title",
422 Submit:"Submit", 403 Name: "Name",
404 PhoneNumber: "Phone number",
405 Email: "Email",
406 Time: "Preferred contact time slot",
407 Inquiry: "Inquiry",
408 Submit: "Submit",
423 } 409 }
424 } 410 }
425 411
...@@ -717,6 +703,14 @@ module.exports = { ...@@ -717,6 +703,14 @@ module.exports = {
717 e2: "請填寫聯繫地址", 703 e2: "請填寫聯繫地址",
718 e3: "Please enter the collect E-mail" 704 e3: "Please enter the collect E-mail"
719 }, 705 },
706 form:{
707 InternationalArea:"International area",
708 Mobile:"Mobile",
709 Nation:"Nation(Region)",
710 District:"District",
711 Address:"Address",
712 Mail:"Please enter",
713 },
720 success: "Success", 714 success: "Success",
721 }, 715 },
722 policyChangeInformation: { 716 policyChangeInformation: {
...@@ -775,10 +769,10 @@ module.exports = { ...@@ -775,10 +769,10 @@ module.exports = {
775 SentOutDate: "Sent Out Date", 769 SentOutDate: "Sent Out Date",
776 DownloadLink: "Download link", 770 DownloadLink: "Download link",
777 Status: "Status", 771 Status: "Status",
778 letterName : "Notice of Policy Issuance and Cooling-off Period", 772 letterName: "Notice of Policy Issuance and Cooling-off Period",
779 DownloadDoc : "Download document", 773 DownloadDoc: "Download document",
780 Read : "Read", 774 Read: "Read",
781 UnRead : "Unread" 775 UnRead: "Unread"
782 }, 776 },
783 customService: { 777 customService: {
784 name: "Customer service", 778 name: "Customer service",
...@@ -1149,7 +1143,7 @@ module.exports = { ...@@ -1149,7 +1143,7 @@ module.exports = {
1149 num1: "(i)", 1143 num1: "(i)",
1150 num2: "(ii)", 1144 num2: "(ii)",
1151 title: "Plan At-a-glance", 1145 title: "Plan At-a-glance",
1152 titleLt:"Basic Information", 1146 titleLt: "Basic Information",
1153 titleT1: "", 1147 titleT1: "",
1154 titleT2: "", 1148 titleT2: "",
1155 titleNum: "", 1149 titleNum: "",
...@@ -1168,20 +1162,20 @@ module.exports = { ...@@ -1168,20 +1162,20 @@ module.exports = {
1168 v5: "The higher of the following, less any indebtedness:", 1162 v5: "The higher of the following, less any indebtedness:",
1169 v51: "110% of the sum of the Total Basic Premiums Paid;", 1163 v51: "110% of the sum of the Total Basic Premiums Paid;",
1170 v52: "Guaranteed Cash Value plus the face value of accumulated Reversionary Bonus and face value of Terminal Bonus (if any).", 1164 v52: "Guaranteed Cash Value plus the face value of accumulated Reversionary Bonus and face value of Terminal Bonus (if any).",
1171 k6:"Additional accidental death benefit for the Insured Person", 1165 k6: "Additional accidental death benefit for the Insured Person",
1172 v6:"Equivalent to the Basic Total Premiums Paid", 1166 v6: "Equivalent to the Basic Total Premiums Paid",
1173 v61:"Maximum USD 125,000 for all Ping An GenRich Insurance Plans", 1167 v61: "Maximum USD 125,000 for all Ping An GenRich Insurance Plans",
1174 k7:"Accidental death benefit for the Policy Owner", 1168 k7: "Accidental death benefit for the Policy Owner",
1175 v7:"Equivalent to the future premiums payable for the remainder of the Premium Payment Term.", 1169 v7: "Equivalent to the future premiums payable for the remainder of the Premium Payment Term.",
1176 v71:"Maximum USD 125,000 for all Ping An GenRich Insurance Plans", 1170 v71: "Maximum USD 125,000 for all Ping An GenRich Insurance Plans",
1177 v72:"Not applicable if the Policy Owner is also the Insured Person", 1171 v72: "Not applicable if the Policy Owner is also the Insured Person",
1178 v73:"Not applicable if the Insured Person and the Policy Holder both died in the same accident.", 1172 v73: "Not applicable if the Insured Person and the Policy Holder both died in the same accident.",
1179 k8:"Surrender benefit", 1173 k8: "Surrender benefit",
1180 v8:"The sum of guaranteed surrender value, accumulated cash value of reversionary bonus and cash value of terminal bonus (if any) less any indebtedness.", 1174 v8: "The sum of guaranteed surrender value, accumulated cash value of reversionary bonus and cash value of terminal bonus (if any) less any indebtedness.",
1181 k9:"Bonus withdrawal", 1175 k9: "Bonus withdrawal",
1182 v9:"While this Policy is in effect, the Policy Holder may withdraw some or all of the cash value of accumulated Reversionary Bonus at any time, subject to our prevailing administrative rules regarding the minimum and maximum amount of each withdrawals. The cash value of the corresponding Terminal Bonus (on the withdrawn Reversionary Bonus), if any, will also be withdrawn.", 1176 v9: "While this Policy is in effect, the Policy Holder may withdraw some or all of the cash value of accumulated Reversionary Bonus at any time, subject to our prevailing administrative rules regarding the minimum and maximum amount of each withdrawals. The cash value of the corresponding Terminal Bonus (on the withdrawn Reversionary Bonus), if any, will also be withdrawn.",
1183 k10:"Policy loan", 1177 k10: "Policy loan",
1184 v10:"The Policy Holder can apply for a policy loan for an amount not exceeding 80% of the sum of guaranteed surrender value and cash value of accumulated reversionary bonus of the policy. The policy may also be subject to an automatic policy loan if premium remains unpaid at the end of the Grace Period to cover the outstanding premium and levy payable (if any). Any policy loan and automatic policy loan will be charged with loan interest, where the loan interest rate is solely determined by the Company.", 1178 v10: "The Policy Holder can apply for a policy loan for an amount not exceeding 80% of the sum of guaranteed surrender value and cash value of accumulated reversionary bonus of the policy. The policy may also be subject to an automatic policy loan if premium remains unpaid at the end of the Grace Period to cover the outstanding premium and levy payable (if any). Any policy loan and automatic policy loan will be charged with loan interest, where the loan interest rate is solely determined by the Company.",
1185 }, 1179 },
1186 download: { 1180 download: {
1187 t1: "Download Product Brochure", 1181 t1: "Download Product Brochure",
......
1 module.exports = { 1 module.exports = {
2 common: { 2 common: {
3 Confirm:"確認", 3 Confirm: "確認",
4 Cancel:"取消", 4 Cancel: "取消",
5 Male: "男性",
6 Female: "女性",
7 Sex: "性別",
8 Age: "年齡",
5 }, 9 },
6 message: { 10 message: {
7 login: "Login", 11 login: "Login",
...@@ -33,8 +37,7 @@ module.exports = { ...@@ -33,8 +37,7 @@ module.exports = {
33 loginData: { 37 loginData: {
34 name: "登入", 38 name: "登入",
35 path: "/login", 39 path: "/login",
36 list: [ 40 list: [{
37 {
38 name: "註冊", 41 name: "註冊",
39 path: "/register", 42 path: "/register",
40 type: "noAuth", 43 type: "noAuth",
...@@ -66,12 +69,10 @@ module.exports = { ...@@ -66,12 +69,10 @@ module.exports = {
66 } 69 }
67 ] 70 ]
68 }, 71 },
69 navList: [ 72 navList: [{
70 {
71 name: "產品介紹", 73 name: "產品介紹",
72 path: "/product/introduction", 74 path: "/product/introduction",
73 list: [ 75 list: [{
74 {
75 name: "自願醫保計劃", 76 name: "自願醫保計劃",
76 path: "/vhis/detail" 77 path: "/vhis/detail"
77 }, 78 },
...@@ -134,8 +135,7 @@ module.exports = { ...@@ -134,8 +135,7 @@ module.exports = {
134 { 135 {
135 name: "關於我們", 136 name: "關於我們",
136 path: "/profile", 137 path: "/profile",
137 list: [ 138 list: [{
138 {
139 name: "有關平安人壽香港", 139 name: "有關平安人壽香港",
140 path: "/profile" 140 path: "/profile"
141 }, 141 },
...@@ -160,8 +160,7 @@ module.exports = { ...@@ -160,8 +160,7 @@ module.exports = {
160 { 160 {
161 name: "加入我們", 161 name: "加入我們",
162 path: "/join/us", 162 path: "/join/us",
163 list: [ 163 list: [{
164 {
165 name: "企業文化", 164 name: "企業文化",
166 path: "/corporate/culture" 165 path: "/corporate/culture"
167 }, 166 },
...@@ -227,8 +226,7 @@ module.exports = { ...@@ -227,8 +226,7 @@ module.exports = {
227 } 226 }
228 }, 227 },
229 register: { 228 register: {
230 mobileOptions: [ 229 mobileOptions: [{
231 {
232 type: "hk", 230 type: "hk",
233 name: "香港手機號", 231 name: "香港手機號",
234 placeHolder: "請輸入8位手機號碼", 232 placeHolder: "請輸入8位手機號碼",
...@@ -334,8 +332,7 @@ module.exports = { ...@@ -334,8 +332,7 @@ module.exports = {
334 submit: "確認", 332 submit: "確認",
335 cancel: "跳過", 333 cancel: "跳過",
336 candidates: { 334 candidates: {
337 sex: [ 335 sex: [{
338 {
339 name: "男", 336 name: "男",
340 value: "M" 337 value: "M"
341 }, 338 },
...@@ -344,8 +341,7 @@ module.exports = { ...@@ -344,8 +341,7 @@ module.exports = {
344 value: "F" 341 value: "F"
345 } 342 }
346 ], 343 ],
347 idType: [ 344 idType: [{
348 {
349 name: "身份證", 345 name: "身份證",
350 value: "1" 346 value: "1"
351 }, 347 },
...@@ -393,29 +389,6 @@ module.exports = { ...@@ -393,29 +389,6 @@ module.exports = {
393 customService: "聯繫客服" 389 customService: "聯繫客服"
394 }, 390 },
395 index: { 391 index: {
396 // news: "新聞資訊",
397 // newMore: "查看更多",
398 // recommend: {
399 // t1: "在線報價",
400 // t2: "客戶服務",
401 // t3: "產品介紹",
402 // t4: "最新消息",
403 // item1: {
404 // btn: "了解更多產品",
405 // t1: "為自己和家人尋找壹份保障",
406 // },
407 // item2: {
408 // btn: "立即預約",
409 // t1: "在線預約 專業服務",
410 // },
411 // item3: {
412 // btn: "客戶服務",
413 // t1: "專業客服為妳服務",
414 // t2: "想了解更多,可致電",
415 // t3: "95511",
416 // t4: "聯絡我們,或進入",
417 // }
418 // },
419 recommend: { 392 recommend: {
420 title: "為何選擇平安人壽?", 393 title: "為何選擇平安人壽?",
421 contact: "聯絡我們", 394 contact: "聯絡我們",
...@@ -429,6 +402,12 @@ module.exports = { ...@@ -429,6 +402,12 @@ module.exports = {
429 desc: "國際級<br>風險管理" 402 desc: "國際級<br>風險管理"
430 } 403 }
431 }, 404 },
405 quote: {
406
407 quote: "立即報價",
408 want: "我想",
409 service: "聯絡客服",
410 },
432 contact: { 411 contact: {
433 t1: "如欲了解我們的產品,歡迎聯絡我們。", 412 t1: "如欲了解我們的產品,歡迎聯絡我們。",
434 t2: "想了解更多?致電2983 8866 聯絡我們。", 413 t2: "想了解更多?致電2983 8866 聯絡我們。",
...@@ -453,12 +432,9 @@ module.exports = { ...@@ -453,12 +432,9 @@ module.exports = {
453 orderNo: "保單編號", 432 orderNo: "保單編號",
454 orderNoPlaceHolder: "如您為平安客戶,請提供保單編號", 433 orderNoPlaceHolder: "如您為平安客戶,請提供保單編號",
455 contactTime: "期望聯絡時間", 434 contactTime: "期望聯絡時間",
456 notice1: 435 notice1: "本表格所收集的個人資料根據「平安人壽香港個人資料收集聲明」處理及只會被用作於聯絡 閣下之用。然而所收集的個人資料未經您明確授權將不會轉移至「平安人壽香港個人資料收集聲明」列明以外之第三者機構。您可選擇不向我們提供所需的個人資料,惟這樣可能導致我們不能聯絡您。您亦可根據「平安人壽香港個人資料收集聲明」之權利查閱及更正個人資料。",
457 "本表格所收集的個人資料根據「平安人壽香港個人資料收集聲明」處理及只會被用作於聯絡 閣下之用。然而所收集的個人資料未經您明確授權將不會轉移至「平安人壽香港個人資料收集聲明」列明以外之第三者機構。您可選擇不向我們提供所需的個人資料,惟這樣可能導致我們不能聯絡您。您亦可根據「平安人壽香港個人資料收集聲明」之權利查閱及更正個人資料。", 436 notice2: "本人現確認明白並同意本人的個人資料根據中銀人壽個人資料收集聲明作以上述用途。",
458 notice2: 437 contactTypes: [{
459 "本人現確認明白並同意本人的個人資料根據中銀人壽個人資料收集聲明作以上述用途。",
460 contactTypes: [
461 {
462 name: "電話", 438 name: "電話",
463 value: 1, 439 value: 1,
464 show: "聯絡電話", 440 show: "聯絡電話",
...@@ -486,17 +462,14 @@ module.exports = { ...@@ -486,17 +462,14 @@ module.exports = {
486 name: "姓名", 462 name: "姓名",
487 namePlaceholder: "姓名", 463 namePlaceholder: "姓名",
488 contactType: "聯絡方式", 464 contactType: "聯絡方式",
489 contactTypeCadidates: [ 465 contactTypeCadidates: [{
490 {
491 name: "電話", 466 name: "電話",
492 value: 1 467 value: 1
493 } 468 }],
494 ],
495 contact: "聯絡電話", 469 contact: "聯絡電話",
496 contactPlaceholder: "香港號碼/內地號碼", 470 contactPlaceholder: "香港號碼/內地號碼",
497 reservationType: "預約類型", 471 reservationType: "預約類型",
498 reservationCandidates: [ 472 reservationCandidates: [{
499 {
500 name: "投保諮詢", 473 name: "投保諮詢",
501 value: "投保諮詢" 474 value: "投保諮詢"
502 }, 475 },
...@@ -511,10 +484,8 @@ module.exports = { ...@@ -511,10 +484,8 @@ module.exports = {
511 yes: "是", 484 yes: "是",
512 no: "否", 485 no: "否",
513 contactTime: "期望聯絡時間", 486 contactTime: "期望聯絡時間",
514 notice1: 487 notice1: "本表格所收集的個人資料根據「平安人壽香港個人資料收集聲明」處理及只會被用作於聯絡 閣下之用。然而所收集的個人資料未經您明確授權將不會轉移至「平安人壽香港個人資料收集聲明」列明以外之第三者機構。您可選擇不向我們提供所需的個人資料,惟這樣可能導致我們不能聯絡您。您亦可根據「平安人壽香港個人資料收集聲明」之權利查閱及更正個人資料。",
515 "本表格所收集的個人資料根據「平安人壽香港個人資料收集聲明」處理及只會被用作於聯絡 閣下之用。然而所收集的個人資料未經您明確授權將不會轉移至「平安人壽香港個人資料收集聲明」列明以外之第三者機構。您可選擇不向我們提供所需的個人資料,惟這樣可能導致我們不能聯絡您。您亦可根據「平安人壽香港個人資料收集聲明」之權利查閱及更正個人資料。", 488 notice2: "本人現確認明白並同意本人的個人資料根據中銀人壽個人資料收集聲明作以上述用途。",
516 notice2:
517 "本人現確認明白並同意本人的個人資料根據中銀人壽個人資料收集聲明作以上述用途。",
518 success: "提交成功", 489 success: "提交成功",
519 submitBtn: "确认", 490 submitBtn: "确认",
520 errorTips: { 491 errorTips: {
...@@ -556,14 +527,11 @@ module.exports = { ...@@ -556,14 +527,11 @@ module.exports = {
556 head3: "使用說明", 527 head3: "使用說明",
557 head4: "附件", 528 head4: "附件",
558 download: "下載文檔", 529 download: "下載文檔",
559 form: [ 530 form: [{
560 {
561 type: "繳費類", 531 type: "繳費類",
562 list: [ 532 list: [{
563 {
564 name: "「電子入賬服務」及銀行戶口<br>直接付款授權申請", 533 name: "「電子入賬服務」及銀行戶口<br>直接付款授權申請",
565 desc: 534 desc: "申請設立「 電子入賬服務」 及銀行戶口<br>直接付款授權時須提供",
566 "申請設立「 電子入賬服務」 及銀行戶口<br>直接付款授權時須提供",
567 download: "./doc/「電子入賬服務」及銀行戶口直接付款授權申請.pdf" 535 download: "./doc/「電子入賬服務」及銀行戶口直接付款授權申請.pdf"
568 }, 536 },
569 { 537 {
...@@ -575,8 +543,7 @@ module.exports = { ...@@ -575,8 +543,7 @@ module.exports = {
575 }, 543 },
576 { 544 {
577 type: "保單變更類", 545 type: "保單變更類",
578 list: [ 546 list: [{
579 {
580 name: "保險合同解除申請書", 547 name: "保險合同解除申請書",
581 desc: "退保、冷靜期退保業務適用", 548 desc: "退保、冷靜期退保業務適用",
582 download: "./doc/保險合同解除申請書.pdf" 549 download: "./doc/保險合同解除申請書.pdf"
...@@ -620,13 +587,11 @@ module.exports = { ...@@ -620,13 +587,11 @@ module.exports = {
620 }, 587 },
621 { 588 {
622 type: "理賠類", 589 type: "理賠類",
623 list: [ 590 list: [{
624 {
625 name: "理賠申請書", 591 name: "理賠申請書",
626 desc: "紙質申請的應備文件", 592 desc: "紙質申請的應備文件",
627 download: "./doc/理賠申請書.pdf" 593 download: "./doc/理賠申請書.pdf"
628 } 594 }]
629 ]
630 } 595 }
631 ] 596 ]
632 }, 597 },
...@@ -640,15 +605,12 @@ module.exports = { ...@@ -640,15 +605,12 @@ module.exports = {
640 head4: "受理時間", 605 head4: "受理時間",
641 head5: "應備材料", 606 head5: "應備材料",
642 download: "下載文檔", 607 download: "下載文檔",
643 form: [ 608 form: [{
644 {
645 project: "退保", 609 project: "退保",
646 content: 610 content: "在冷靜期後解除合同,公司將退還保單現金價值或未滿期凈保費。(待產品精算確認)",
647 "在冷靜期後解除合同,公司將退還保單現金價值或未滿期凈保費。(待產品精算確認)",
648 applicant: "投保人", 611 applicant: "投保人",
649 receptionTime: "保單效力終止前", 612 receptionTime: "保單效力終止前",
650 materialList: [ 613 materialList: [{
651 {
652 name: "保險單" 614 name: "保險單"
653 }, 615 },
654 { 616 {
...@@ -668,8 +630,7 @@ module.exports = { ...@@ -668,8 +630,7 @@ module.exports = {
668 content: "在冷靜期內提出解除合同,公司會無息退還全部保費", 630 content: "在冷靜期內提出解除合同,公司會無息退還全部保費",
669 applicant: "投保人", 631 applicant: "投保人",
670 receptionTime: "冷靜期結束前", 632 receptionTime: "冷靜期結束前",
671 materialList: [ 633 materialList: [{
672 {
673 name: "保險單" 634 name: "保險單"
674 }, 635 },
675 { 636 {
...@@ -697,8 +658,7 @@ module.exports = { ...@@ -697,8 +658,7 @@ module.exports = {
697 content: "投保人、受保人、受益人的個人信息變更", 658 content: "投保人、受保人、受益人的個人信息變更",
698 applicant: "投保人", 659 applicant: "投保人",
699 receptionTime: "不限", 660 receptionTime: "不限",
700 materialList: [ 661 materialList: [{
701 {
702 name: "申請書", 662 name: "申請書",
703 type: 1 663 type: 1
704 }, 664 },
...@@ -717,8 +677,7 @@ module.exports = { ...@@ -717,8 +677,7 @@ module.exports = {
717 content: "地址、電話等信息的變更", 677 content: "地址、電話等信息的變更",
718 applicant: "投保人", 678 applicant: "投保人",
719 receptionTime: "不限", 679 receptionTime: "不限",
720 materialList: [ 680 materialList: [{
721 {
722 name: "申請書", 681 name: "申請書",
723 type: 1 682 type: 1
724 }, 683 },
...@@ -732,8 +691,7 @@ module.exports = { ...@@ -732,8 +691,7 @@ module.exports = {
732 content: "更改保單的續期交費方式或交費賬號", 691 content: "更改保單的續期交費方式或交費賬號",
733 applicant: "投保人", 692 applicant: "投保人",
734 receptionTime: "保單交費期滿前", 693 receptionTime: "保單交費期滿前",
735 materialList: [ 694 materialList: [{
736 {
737 name: "申請書", 695 name: "申請書",
738 type: 1 696 type: 1
739 }, 697 },
...@@ -745,8 +703,8 @@ module.exports = { ...@@ -745,8 +703,8 @@ module.exports = {
745 ] 703 ]
746 }, 704 },
747 policyChangeContact: { 705 policyChangeContact: {
748 phone: "聯繫電話", 706 phone: "聯絡電話",
749 address: "聯繫地址", 707 address: "聯絡地址",
750 email: "電郵地址", 708 email: "電郵地址",
751 checkTips: "本人不同意接收宣傳信息", 709 checkTips: "本人不同意接收宣傳信息",
752 submit: "確認修改", 710 submit: "確認修改",
...@@ -755,6 +713,14 @@ module.exports = { ...@@ -755,6 +713,14 @@ module.exports = {
755 e2: "請填寫聯繫地址", 713 e2: "請填寫聯繫地址",
756 e3: "請填寫正確的電郵地址" 714 e3: "請填寫正確的電郵地址"
757 }, 715 },
716 form:{
717 InternationalArea:"國際號碼區號",
718 Mobile:"電話號碼",
719 Nation:"國家(地區)",
720 District:"市行政區",
721 Address:"詳細地址",
722 Mail:"請輸入",
723 },
758 success: "更新成功" 724 success: "更新成功"
759 }, 725 },
760 policyChangeInformation: { 726 policyChangeInformation: {
...@@ -797,10 +763,8 @@ module.exports = { ...@@ -797,10 +763,8 @@ module.exports = {
797 }, 763 },
798 pulbic: { 764 pulbic: {
799 title: "微信公眾號", 765 title: "微信公眾號",
800 m1: 766 m1: "方法一:登入「微信」APP,按右上角的「+」按鈕並選擇「添加朋友」,選擇「公眾號」輸入並蒐索「平安人壽香港」",
801 "方法一:登入「微信」APP,按右上角的「+」按鈕並選擇「添加朋友」,選擇「公眾號」輸入並蒐索「平安人壽香港」", 767 m2: "方法二:登入「微信」APP,按右上角的「+」按鈕並選擇「掃一掃」掃描下方二維碼(放置二維碼)"
802 m2:
803 "方法二:登入「微信」APP,按右上角的「+」按鈕並選擇「掃一掃」掃描下方二維碼(放置二維碼)"
804 }, 768 },
805 qrcode: { 769 qrcode: {
806 title: "官方公眾號" 770 title: "官方公眾號"
...@@ -968,8 +932,7 @@ module.exports = { ...@@ -968,8 +932,7 @@ module.exports = {
968 tip5: "聯絡客服", 932 tip5: "聯絡客服",
969 tip6: "保單已簽收,如需查詢保單資訊或下載電子保單可點擊", 933 tip6: "保單已簽收,如需查詢保單資訊或下載電子保單可點擊",
970 tip7: "保單查詢", 934 tip7: "保單查詢",
971 notice: 935 notice: "謹此確認本人/我們已收到中國平安人壽保險(香港)有限公司的保單,並已細閱保單細節內容(包括但不限於保單冷静期權益)。",
972 "謹此確認本人/我們已收到中國平安人壽保險(香港)有限公司的保單,並已細閱保單細節內容(包括但不限於保單冷静期權益)。",
973 agreeTips: "請下載並细閱“保單繕發及冷靜期通知書”及“電子保單”" 936 agreeTips: "請下載並细閱“保單繕發及冷靜期通知書”及“電子保單”"
974 }, 937 },
975 clarms: { 938 clarms: {
...@@ -985,8 +948,7 @@ module.exports = { ...@@ -985,8 +948,7 @@ module.exports = {
985 label4: "證件號碼", 948 label4: "證件號碼",
986 label5: "出生日期", 949 label5: "出生日期",
987 btn: "立即申請", 950 btn: "立即申請",
988 noPolicy: 951 noPolicy: "對不起,您輸入的資料與本公司的紀錄不符,請重新輸入。如需幫助可",
989 "對不起,您輸入的資料與本公司的紀錄不符,請重新輸入。如需幫助可",
990 customService: "聯繫客服" 952 customService: "聯繫客服"
991 }, 953 },
992 step2: { 954 step2: {
...@@ -1018,18 +980,13 @@ module.exports = { ...@@ -1018,18 +980,13 @@ module.exports = {
1018 uploadFile: "已上傳文件:", 980 uploadFile: "已上傳文件:",
1019 contact: "聯絡客服", 981 contact: "聯絡客服",
1020 contact2: "我想", 982 contact2: "我想",
1021 tip1: 983 tip1: "本人/我們謹此授權(1)任何雇主、注册西醫、醫院、診所、保險公司、銀行、政府機構、或其他機構、組織或人士、凡知道或持有任何有關保單持有人/受保人之紀錄者,均可將該等資料提供、發放及轉交給中國平安人壽保險(香港)有限公司;(2)貴公司或任何其指定之醫生或化驗所,可就此賠償申請替保單持有人/受保人進行所需之醫療評估及測試,作為稽核保單持有人/受保人之健康狀況。此授權對保單持有人/受保人之繼承人及授讓人具有約束力;即使保單持有人/受保人死亡或無行為能力時,此授權書仍具效力。",
1022 "本人/我們謹此授權(1)任何雇主、注册西醫、醫院、診所、保險公司、銀行、政府機構、或其他機構、組織或人士、凡知道或持有任何有關保單持有人/受保人之紀錄者,均可將該等資料提供、發放及轉交給中國平安人壽保險(香港)有限公司;(2)貴公司或任何其指定之醫生或化驗所,可就此賠償申請替保單持有人/受保人進行所需之醫療評估及測試,作為稽核保單持有人/受保人之健康狀況。此授權對保單持有人/受保人之繼承人及授讓人具有約束力;即使保單持有人/受保人死亡或無行為能力時,此授權書仍具效力。", 984 tip2: "本人/我們確認已閱讀及明白「中國平安人壽保險(香港)有限公司」的收集個人資料聲明(本聲明)。",
1023 tip2: 985 tip3: "本人/我們特此確認並同意貴公司根據本聲明使用和移轉本人/我們的個人資料,包括為直接促銷之目的使用和提供本人/我們的個人資料。本人/我們確認並同意為本聲明中所述之目的將本人/我們的個人資料移轉至香港境外給本聲明所述的承轉人的類別。",
1024 "本人/我們確認已閱讀及明白「中國平安人壽保險(香港)有限公司」的收集個人資料聲明(本聲明)。", 986 tip4: "本人/我們謹此聲明上述一切陳述及資料,就本人/我們所知所信,均為事實之全部並確實無訛。",
1025 tip3:
1026 "本人/我們特此確認並同意貴公司根據本聲明使用和移轉本人/我們的個人資料,包括為直接促銷之目的使用和提供本人/我們的個人資料。本人/我們確認並同意為本聲明中所述之目的將本人/我們的個人資料移轉至香港境外給本聲明所述的承轉人的類別。",
1027 tip4:
1028 "本人/我們謹此聲明上述一切陳述及資料,就本人/我們所知所信,均為事實之全部並確實無訛。",
1029 tip5: "您選擇的申請類型不在保險責任範圍內,請核實確認,如有疑問可", 987 tip5: "您選擇的申請類型不在保險責任範圍內,請核實確認,如有疑問可",
1030 tip6: "聯繫客服", 988 tip6: "聯繫客服",
1031 tip7: 989 tip7: "您的理賠申請已經受理,我們會儘快處理本次申請。我們會短信通知理賠進度,因審核需要,可能會通知您補充相關資料或者郵寄實物。如審批通過,理賠款將默認轉入投保繳費帳戶,如需變更,請上傳",
1032 "您的理賠申請已經受理,我們會儘快處理本次申請。我們會短信通知理賠進度,因審核需要,可能會通知您補充相關資料或者郵寄實物。如審批通過,理賠款將默認轉入投保繳費帳戶,如需變更,請上傳",
1033 tip8: "索償人帳戶資料。", 990 tip8: "索償人帳戶資料。",
1034 tip9: "您選擇的事故時間不在保單有效期範圍內,請核實確認,如有疑問可", 991 tip9: "您選擇的事故時間不在保單有效期範圍內,請核實確認,如有疑問可",
1035 toast1: "醫療收據正本及帳單明細表", 992 toast1: "醫療收據正本及帳單明細表",
...@@ -1052,8 +1009,7 @@ module.exports = { ...@@ -1052,8 +1009,7 @@ module.exports = {
1052 }, 1009 },
1053 title: { 1010 title: {
1054 t1: "平安“好e時”自願醫保標準計劃 ", 1011 t1: "平安“好e時”自願醫保標準計劃 ",
1055 t2: 1012 t2: "平安「好e時」自願醫保標準計劃為政府自願醫保認可的標準計劃,涵蓋重點醫療保障,投保流程簡易,全程線上進行。",
1056 "平安「好e時」自願醫保標準計劃為政府自願醫保認可的標準計劃,涵蓋重點醫療保障,投保流程簡易,全程線上進行。",
1057 t3: "", 1013 t3: "",
1058 t4: "" 1014 t4: ""
1059 }, 1015 },
...@@ -1139,8 +1095,7 @@ module.exports = { ...@@ -1139,8 +1095,7 @@ module.exports = {
1139 k1: "身故恩恤賠償", 1095 k1: "身故恩恤賠償",
1140 v1: "$10,000", 1096 v1: "$10,000",
1141 k2: "無索償折扣", 1097 k2: "無索償折扣",
1142 v2: 1098 v2: "在連續3個保單年度或以上不曾作出賠償,無索償折扣將適用於緊隨的保單年度之應繳保費。無索償折扣將相當於前一個保單年度所有到期及應繳保費(不包括任何折扣)的百分之十(10%)。"
1143 "在連續3個保單年度或以上不曾作出賠償,無索償折扣將適用於緊隨的保單年度之應繳保費。無索償折扣將相當於前一個保單年度所有到期及應繳保費(不包括任何折扣)的百分之十(10%)。"
1144 }, 1099 },
1145 download: { 1100 download: {
1146 t1: "下載產品簡介", 1101 t1: "下載產品簡介",
...@@ -1148,43 +1103,34 @@ module.exports = { ...@@ -1148,43 +1103,34 @@ module.exports = {
1148 t3: "下載保單契約" 1103 t3: "下載保單契約"
1149 }, 1104 },
1150 submitBtn: "立即投保", 1105 submitBtn: "立即投保",
1151 productList: [ 1106 productList: [{
1152 {
1153 title: "政府認可 安心保障", 1107 title: "政府認可 安心保障",
1154 desc: 1108 desc: "本計劃為政府自願醫保認可的標準計劃,讓您在需要時候可透過住院保險而使用私營醫療服務,並可同時申請享有稅務扣減優惠。此計劃獲食物及衞生局認可,讓您倍感安心。如欲了解更多自願醫保詳情,可瀏覽www.vhis.gov.hk。",
1155 "本計劃為政府自願醫保認可的標準計劃,讓您在需要時候可透過住院保險而使用私營醫療服務,並可同時申請享有稅務扣減優惠。此計劃獲食物及衞生局認可,讓您倍感安心。如欲了解更多自願醫保詳情,可瀏覽www.vhis.gov.hk。",
1156 tips: "" 1109 tips: ""
1157 }, 1110 },
1158 { 1111 {
1159 title: "不設終身保障限額", 1112 title: "不設終身保障限額",
1160 desc: 1113 desc: "本計劃不設終身保障限額,每年保障限額高達420,000 港元,並將每年重新設置至原先限額,讓您享有重點的醫療保障,減輕因醫療需求而造成的財務負擔。",
1161 "本計劃不設終身保障限額,每年保障限額高達420,000 港元,並將每年重新設置至原先限額,讓您享有重點的醫療保障,減輕因醫療需求而造成的財務負擔。",
1162 tips: "" 1114 tips: ""
1163 }, 1115 },
1164 { 1116 {
1165 title: "一家投保 盡享稅務扣減", 1117 title: "一家投保 盡享稅務扣減",
1166 desc: 1118 desc: "本計劃的保費可用作申請稅務扣除,若保單持有人為納稅人,便可為自己及任何指明親屬*,即每一名合資格受保人,申請每名受保人每年8,000 港元的扣稅額,可申請稅務扣減的指明親屬 數目更不設上限。",
1167 "本計劃的保費可用作申請稅務扣除,若保單持有人為納稅人,便可為自己及任何指明親屬*,即每一名合資格受保人,申請每名受保人每年8,000 港元的扣稅額,可申請稅務扣減的指明親屬 數目更不設上限。", 1119 tips: "*指明親屬包括納稅人配偶及子女、納稅人或其配偶的祖父母、外祖父母、父母和兄弟姐妹。"
1168 tips:
1169 "*指明親屬包括納稅人配偶及子女、納稅人或其配偶的祖父母、外祖父母、父母和兄弟姐妹。"
1170 }, 1120 },
1171 { 1121 {
1172 title: "承保投保前未知的已有疾病", 1122 title: "承保投保前未知的已有疾病",
1173 desc: 1123 desc: "現時一般醫療保險均不承保投保前的已有疾病,本計劃為您帶來多一份安心,承保您在投保時不察覺,及理應不察覺的已有病症。對上述有關病症,此計劃會在保單生效首3年的等候期間提供部份保障*,並由第4個保單年度起提供全面保障。",
1174 "現時一般醫療保險均不承保投保前的已有疾病,本計劃為您帶來多一份安心,承保您在投保時不察覺,及理應不察覺的已有病症。對上述有關病症,此計劃會在保單生效首3年的等候期間提供部份保障*,並由第4個保單年度起提供全面保障。", 1124 tips: "*保單生效日後提供部分賠償(第二年25%、第三年50%),其後提供全面賠償(100%) "
1175 tips:
1176 "*保單生效日後提供部分賠償(第二年25%、第三年50%),其後提供全面賠償(100%) "
1177 }, 1125 },
1178 { 1126 {
1179 title: "保證續保至100歲", 1127 title: "保證續保至100歲",
1180 desc: 1128 desc: "本計劃接受任何介乎出生後15天至80歲人士投保,您可以一直續保至100歲。計劃保證不會因您的索償記錄或身體狀況改變而調高續保保費,而您的續保保費將根據當時保單週年日之保費表釐定。",
1181 "本計劃接受任何介乎出生後15天至80歲人士投保,您可以一直續保至100歲。計劃保證不會因您的索償記錄或身體狀況改變而調高續保保費,而您的續保保費將根據當時保單週年日之保費表釐定。",
1182 tips: "" 1129 tips: ""
1183 }, 1130 },
1184 { 1131 {
1185 title: "無索償保費折扣", 1132 title: "無索償保費折扣",
1186 desc: 1133 desc: "為鼓勵您保持健康生活,如您於本計劃的連續3個保單年度內,沒有任何索償記錄,我們會於下一保單年度退還上一個保單年度保費的百分之十(10%)作為無索償折扣。",
1187 "為鼓勵您保持健康生活,如您於本計劃的連續3個保單年度內,沒有任何索償記錄,我們會於下一保單年度退還上一個保單年度保費的百分之十(10%)作為無索償折扣。",
1188 tips: "" 1134 tips: ""
1189 } 1135 }
1190 ] 1136 ]
...@@ -1199,8 +1145,7 @@ module.exports = { ...@@ -1199,8 +1145,7 @@ module.exports = {
1199 }, 1145 },
1200 title: { 1146 title: {
1201 t1: "「平安·傳家福」分紅終身壽險計劃", 1147 t1: "「平安·傳家福」分紅終身壽險計劃",
1202 t2: 1148 t2: "美好重要的事物總是值得更好的守護,「平安·傳家福」分紅終身壽險計劃,提供長期儲蓄回報和終身人壽保障,幫助您持續滾存財富,保護您的收入和財富。「平安·傳家福」設計具有獨特的功能,並保證最低回報,為您及摯愛家庭的未來做好準備。",
1203 "美好重要的事物總是值得更好的守護,「平安·傳家福」分紅終身壽險計劃,提供長期儲蓄回報和終身人壽保障,幫助您持續滾存財富,保護您的收入和財富。「平安·傳家福」設計具有獨特的功能,並保證最低回報,為您及摯愛家庭的未來做好準備。",
1204 t3: "", 1149 t3: "",
1205 t4: "" 1150 t4: ""
1206 }, 1151 },
...@@ -1232,46 +1177,37 @@ module.exports = { ...@@ -1232,46 +1177,37 @@ module.exports = {
1232 v52: "保證現金價值加上累計復歸紅利的面值和終期分紅的面值(如有)。", 1177 v52: "保證現金價值加上累計復歸紅利的面值和終期分紅的面值(如有)。",
1233 k6: "額外意外身故賠償", 1178 k6: "額外意外身故賠償",
1234 v6: "相等於已支付基本保費總額", 1179 v6: "相等於已支付基本保費總額",
1235 v61: 1180 v61: "於本保單及所有其他「平安·傳家福」保險計劃(無論以任何貨幣計價),最高限額為125,000美元。",
1236 "於本保單及所有其他「平安·傳家福」保險計劃(無論以任何貨幣計價),最高限額為125,000美元。",
1237 k7: "保單持有人意外身故賠償", 1181 k7: "保單持有人意外身故賠償",
1238 v7: "相等於保單餘下基本未繳保費之總額", 1182 v7: "相等於保單餘下基本未繳保費之總額",
1239 v71: 1183 v71: "於本保單及所有其他「平安·傳家福」保險計劃(無論以任何貨幣計價),最高限額為125,000美元。",
1240 "於本保單及所有其他「平安·傳家福」保險計劃(無論以任何貨幣計價),最高限額為125,000美元。",
1241 v72: "不適用於保單持有人同時受保人", 1184 v72: "不適用於保單持有人同時受保人",
1242 v73: "", 1185 v73: "",
1243 k8: "退保金額", 1186 k8: "退保金額",
1244 v8: 1187 v8: "若您將本保單退保,我們將支付退保金額。退保金額等於退保日的保證退保價值,加上復歸紅利的現金價值及終期紅利的現金價值(如有);減去所有保單欠款(如有)。",
1245 "若您將本保單退保,我們將支付退保金額。退保金額等於退保日的保證退保價值,加上復歸紅利的現金價值及終期紅利的現金價值(如有);減去所有保單欠款(如有)。",
1246 k9: "紅利提取安排", 1188 k9: "紅利提取安排",
1247 v9: 1189 v9: "在保單有效期內,保單持有人可以隨時提取部分或全部累積復歸紅利的現金價值,但需符合我們有關每次提取的最小和最大金額的管理規定。每次提取時,如有任何相應終期分紅的現金價值(根據提取的復歸紅利)也將一併被提取。",
1248 "在保單有效期內,保單持有人可以隨時提取部分或全部累積復歸紅利的現金價值,但需符合我們有關每次提取的最小和最大金額的管理規定。每次提取時,如有任何相應終期分紅的現金價值(根據提取的復歸紅利)也將一併被提取。",
1249 k10: "保單貸款 / 自動保費貸款", 1190 k10: "保單貸款 / 自動保費貸款",
1250 v10: 1191 v10: "您可於保單有效期間,向我們申請保單貸款,但金額不得超過保證退保價值加上保單累計復歸紅利的現金價值的總額之80%。如有任何在寬限期結束時尚未繳付之保費,我們將可能為您的保單執行自動保單貸款,並自動以貸款方式繳付您應繳之保費及保單徵費(如有)。我們對任何保單貸款及自動保單貸款均須收取利息,利率由我們全權釐定。"
1251 "您可於保單有效期間,向我們申請保單貸款,但金額不得超過保證退保價值加上保單累計復歸紅利的現金價值的總額之80%。如有任何在寬限期結束時尚未繳付之保費,我們將可能為您的保單執行自動保單貸款,並自動以貸款方式繳付您應繳之保費及保單徵費(如有)。我們對任何保單貸款及自動保單貸款均須收取利息,利率由我們全權釐定。"
1252 }, 1192 },
1253 download: { 1193 download: {
1254 t1: "下載產品簡介", 1194 t1: "下載產品簡介",
1255 t2: "下載產品優惠宣傳單張" 1195 t2: "下載產品優惠宣傳單張"
1256 }, 1196 },
1257 submitBtn: "立即聯絡理財顧問", 1197 submitBtn: "立即聯絡理財顧問",
1258 productList: [ 1198 productList: [{
1259 {
1260 title: "持續儲蓄增長 潛在長線資本增值", 1199 title: "持續儲蓄增長 潛在長線資本增值",
1261 desc: 1200 desc: "「平安.傳家福」是一份分紅保險計劃,計劃的保單價值由保證現金價值,復歸紅利及終期紅利(如有) 三個部份組成提供潛在的長線資本增值機會*。",
1262 "「平安.傳家福」是一份分紅保險計劃,計劃的保單價值由保證現金價值,復歸紅利及終期紅利(如有) 三個部份組成提供潛在的長線資本增值機會*。",
1263 tips: "*分紅詳情請參閱產品簡介及保單條款" 1201 tips: "*分紅詳情請參閱產品簡介及保單條款"
1264 }, 1202 },
1265 { 1203 {
1266 title: "靈活運用保單價值 滿足您的財務需求", 1204 title: "靈活運用保單價值 滿足您的財務需求",
1267 desc: 1205 desc: "保單中的復歸紅利和相應的終期分紅價值之現金價值可隨時靈活提取,您也可以作部分退保來提取部分保證現金價值,以滿足您的不同現金需求。",
1268 "保單中的復歸紅利和相應的終期分紅價值之現金價值可隨時靈活提取,您也可以作部分退保來提取部分保證現金價值,以滿足您的不同現金需求。",
1269 tips: "" 1206 tips: ""
1270 }, 1207 },
1271 { 1208 {
1272 title: "創建家族財富 福祉代代相傳", 1209 title: "創建家族財富 福祉代代相傳",
1273 desc: 1210 desc: "「平安.傳家福」通過提供“受保人變更”選項來幫助您建立世代相傳的財富。在第一個保單週年日結束後,您可以更改此計劃的受保人(上限為四次),而不會影響計劃價值*。",
1274 "「平安.傳家福」通過提供“受保人變更”選項來幫助您建立世代相傳的財富。在第一個保單週年日結束後,您可以更改此計劃的受保人(上限為四次),而不會影響計劃價值*。",
1275 tips: "*須乎合管理規則和公司最終批准的前提下" 1211 tips: "*須乎合管理規則和公司最終批准的前提下"
1276 }, 1212 },
1277 { 1213 {
...@@ -1281,26 +1217,22 @@ module.exports = { ...@@ -1281,26 +1217,22 @@ module.exports = {
1281 }, 1217 },
1282 { 1218 {
1283 title: "保單持有人意外身故賠償", 1219 title: "保單持有人意外身故賠償",
1284 desc: 1220 desc: "倘若保單持有人於保費供款年期結束前不幸因意外身故,我們將支付一筆賠償,金額相等於「平安.傳家福」保單餘下未繳保費之總額。您的家人可考慮以此繳付未來保費,以維持保單生效。",
1285 "倘若保單持有人於保費供款年期結束前不幸因意外身故,我們將支付一筆賠償,金額相等於「平安.傳家福」保單餘下未繳保費之總額。您的家人可考慮以此繳付未來保費,以維持保單生效。",
1286 tips: "*詳情請參閱產品簡介及保單條款" 1221 tips: "*詳情請參閱產品簡介及保單條款"
1287 }, 1222 },
1288 { 1223 {
1289 title: "自選保費繳付期切合您的理財需要", 1224 title: "自選保費繳付期切合您的理財需要",
1290 desc: 1225 desc: "您可以根據自己的財務狀況靈活選擇3年,5年,8年或10年的付款期限。保費金額在整個付款期限內都保證是固定的。",
1291 "您可以根據自己的財務狀況靈活選擇3年,5年,8年或10年的付款期限。保費金額在整個付款期限內都保證是固定的。",
1292 tips: "" 1226 tips: ""
1293 }, 1227 },
1294 { 1228 {
1295 title: "彈性賠償支付方式供您選擇", 1229 title: "彈性賠償支付方式供您選擇",
1296 desc: 1230 desc: "在符合我們現行的規則及規例的情況下,您可以選擇一筆過支付,分期支付或混合形式向受益人支付身故賠償和意外身故賠償。",
1297 "在符合我們現行的規則及規例的情況下,您可以選擇一筆過支付,分期支付或混合形式向受益人支付身故賠償和意外身故賠償。",
1298 tips: "" 1231 tips: ""
1299 }, 1232 },
1300 { 1233 {
1301 title: "豁免醫療核保 投保快捷方便", 1234 title: "豁免醫療核保 投保快捷方便",
1302 desc: 1235 desc: "您「平安.傳家福」投保基本計劃的手續簡便,毋須驗身,讓您輕鬆累積財富。只要您於過去24個月內投保指定的保險產品而其年度總保費不超過4,000,000美元,即可免驗身輕鬆投保。",
1303 "您「平安.傳家福」投保基本計劃的手續簡便,毋須驗身,讓您輕鬆累積財富。只要您於過去24個月內投保指定的保險產品而其年度總保費不超過4,000,000美元,即可免驗身輕鬆投保。",
1304 tips: "" 1236 tips: ""
1305 } 1237 }
1306 ] 1238 ]
......
1 module.exports = { 1 module.exports = {
2 common: { 2 common: {
3 Confirm: "确认", 3 Confirm: "确认",
4 Cancel: "取消" 4 Cancel: "取消",
5 Sex: "性别",
6 Age: "年龄",
7 Male: "男性",
8 Female: "女性",
5 }, 9 },
6 message: { 10 message: {
7 login: "登入", 11 login: "登入",
...@@ -33,8 +37,7 @@ module.exports = { ...@@ -33,8 +37,7 @@ module.exports = {
33 loginData: { 37 loginData: {
34 name: "登入", 38 name: "登入",
35 path: "/login", 39 path: "/login",
36 list: [ 40 list: [{
37 {
38 name: "注册", 41 name: "注册",
39 path: "/register", 42 path: "/register",
40 type: "noAuth", 43 type: "noAuth",
...@@ -66,12 +69,10 @@ module.exports = { ...@@ -66,12 +69,10 @@ module.exports = {
66 } 69 }
67 ] 70 ]
68 }, 71 },
69 navList: [ 72 navList: [{
70 {
71 name: "产品介绍", 73 name: "产品介绍",
72 path: "/product/introduction", 74 path: "/product/introduction",
73 list: [ 75 list: [{
74 {
75 name: "自愿医保计划", 76 name: "自愿医保计划",
76 path: "/vhis/detail" 77 path: "/vhis/detail"
77 }, 78 },
...@@ -134,8 +135,7 @@ module.exports = { ...@@ -134,8 +135,7 @@ module.exports = {
134 { 135 {
135 name: "关于我们", 136 name: "关于我们",
136 path: "/profile", 137 path: "/profile",
137 list: [ 138 list: [{
138 {
139 name: "有关平安香港", 139 name: "有关平安香港",
140 path: "/profile" 140 path: "/profile"
141 }, 141 },
...@@ -160,8 +160,7 @@ module.exports = { ...@@ -160,8 +160,7 @@ module.exports = {
160 { 160 {
161 name: "加入我们", 161 name: "加入我们",
162 path: "/join/us", 162 path: "/join/us",
163 list: [ 163 list: [{
164 {
165 name: "企业文化", 164 name: "企业文化",
166 path: "/corporate/culture" 165 path: "/corporate/culture"
167 }, 166 },
...@@ -230,8 +229,7 @@ module.exports = { ...@@ -230,8 +229,7 @@ module.exports = {
230 sidExpire: "长时间未操作,为了您的账户安全,请登入后再操作" 229 sidExpire: "长时间未操作,为了您的账户安全,请登入后再操作"
231 }, 230 },
232 register: { 231 register: {
233 mobileOptions: [ 232 mobileOptions: [{
234 {
235 type: "hk", 233 type: "hk",
236 name: "香港手机号", 234 name: "香港手机号",
237 placeHolder: "请输入8位手机号码", 235 placeHolder: "请输入8位手机号码",
...@@ -334,8 +332,7 @@ module.exports = { ...@@ -334,8 +332,7 @@ module.exports = {
334 submit: "确认", 332 submit: "确认",
335 cancel: "跳过", 333 cancel: "跳过",
336 candidates: { 334 candidates: {
337 sex: [ 335 sex: [{
338 {
339 name: "男", 336 name: "男",
340 value: "M" 337 value: "M"
341 }, 338 },
...@@ -344,8 +341,7 @@ module.exports = { ...@@ -344,8 +341,7 @@ module.exports = {
344 value: "F" 341 value: "F"
345 } 342 }
346 ], 343 ],
347 idType: [ 344 idType: [{
348 {
349 name: "身份证", 345 name: "身份证",
350 value: "1" 346 value: "1"
351 }, 347 },
...@@ -393,31 +389,8 @@ module.exports = { ...@@ -393,31 +389,8 @@ module.exports = {
393 customService: "联系客服" 389 customService: "联系客服"
394 }, 390 },
395 index: { 391 index: {
396 // news: "新闻资讯",
397 // newMore: "查看更多",
398 // recommend: {
399 // t1: "在线报价",
400 // t2: "客户服务",
401 // t3: "产品介绍",
402 // t4: "最新消息",
403 // item1: {
404 // btn: "了解更多产品",
405 // t1: "为自己和家人寻找一份保障",
406 // },
407 // item2: {
408 // btn: "立即预约",
409 // t1: "在线预约 专业服务",
410 // },
411 // item3: {
412 // btn: "客户服务",
413 // t1: "专业客服为你服务",
414 // t2: "想了解更多,可致电",
415 // t3: "95511",
416 // t4: "联系我们,或进入",
417 // }
418 // },
419 recommend: { 392 recommend: {
420 title: "為何選擇平安人壽?", 393 title: "为何选择平安人寿?",
421 contact: "联络我们", 394 contact: "联络我们",
422 item1: { 395 item1: {
423 desc: "简单方便<br>线上客户服务系统" 396 desc: "简单方便<br>线上客户服务系统"
...@@ -429,6 +402,12 @@ module.exports = { ...@@ -429,6 +402,12 @@ module.exports = {
429 desc: "国际级<br>风险管理" 402 desc: "国际级<br>风险管理"
430 } 403 }
431 }, 404 },
405 quote: {
406
407 quote: "立即报价",
408 want: "我想",
409 service: "联络客服",
410 },
432 contact: { 411 contact: {
433 t1: "如欲了解我们的产品,欢迎联络我们。", 412 t1: "如欲了解我们的产品,欢迎联络我们。",
434 t2: "想了解更多?致电2983 8866 联络我们。", 413 t2: "想了解更多?致电2983 8866 联络我们。",
...@@ -453,12 +432,9 @@ module.exports = { ...@@ -453,12 +432,9 @@ module.exports = {
453 orderNo: "保单编号", 432 orderNo: "保单编号",
454 orderNoPlaceHolder: "如您为平安客户,请提供保单编号", 433 orderNoPlaceHolder: "如您为平安客户,请提供保单编号",
455 contactTime: "期望联络时间", 434 contactTime: "期望联络时间",
456 notice1: 435 notice1: "本表格所收集的个人资料根据「平安人寿香港个人资料收集声明」处理及只会被用作于联络 阁下之用。然而所收集的个人资料未经您明确授权将不会转移至「平安人寿香港个人资料收集声明」列明以外之第三者机构。您可选择不向我们提供所需的个人资料,惟这样可能导致我们不能联络您。您亦可根据「平安人寿香港个人资料收集声明」之权利查阅及更正个人资料。",
457 "本表格所收集的个人资料根据「平安人寿香港个人资料收集声明」处理及只会被用作于联络 阁下之用。然而所收集的个人资料未经您明确授权将不会转移至「平安人寿香港个人资料收集声明」列明以外之第三者机构。您可选择不向我们提供所需的个人资料,惟这样可能导致我们不能联络您。您亦可根据「平安人寿香港个人资料收集声明」之权利查阅及更正个人资料。", 436 notice2: "本人现确认明白并同意本人的个人资料根据中银人寿个人资料收集声明作以上述用途。",
458 notice2: 437 contactTypes: [{
459 "本人现确认明白并同意本人的个人资料根据中银人寿个人资料收集声明作以上述用途。",
460 contactTypes: [
461 {
462 name: "电话", 438 name: "电话",
463 value: 1, 439 value: 1,
464 show: "联络电话", 440 show: "联络电话",
...@@ -486,17 +462,14 @@ module.exports = { ...@@ -486,17 +462,14 @@ module.exports = {
486 name: "姓名", 462 name: "姓名",
487 namePlaceholder: "姓名", 463 namePlaceholder: "姓名",
488 contactType: "联络方式", 464 contactType: "联络方式",
489 contactTypeCadidates: [ 465 contactTypeCadidates: [{
490 {
491 name: "电话", 466 name: "电话",
492 value: 1 467 value: 1
493 } 468 }],
494 ],
495 contact: "联络电话", 469 contact: "联络电话",
496 contactPlaceholder: "香港号码/内地号码", 470 contactPlaceholder: "香港号码/内地号码",
497 reservationType: "预约类型", 471 reservationType: "预约类型",
498 reservationCandidates: [ 472 reservationCandidates: [{
499 {
500 name: "投保咨询", 473 name: "投保咨询",
501 value: "投保咨询" 474 value: "投保咨询"
502 }, 475 },
...@@ -511,10 +484,8 @@ module.exports = { ...@@ -511,10 +484,8 @@ module.exports = {
511 yes: "是", 484 yes: "是",
512 no: "否", 485 no: "否",
513 contactTime: "期望联络时间", 486 contactTime: "期望联络时间",
514 notice1: 487 notice1: "本表格所收集的个人资料根据「平安人寿香港个人资料收集声明」处理及只会被用作于联络 阁下之用。然而所收集的个人资料未经您明确授权将不会转移至「平安人寿香港个人资料收集声明」列明以外之第三者机构。您可选择不向我们提供所需的个人资料,惟这样可能导致我们不能联络您。您亦可根据「平安人寿香港个人资料收集声明」之权利查阅及更正个人资料。",
515 "本表格所收集的个人资料根据「平安人寿香港个人资料收集声明」处理及只会被用作于联络 阁下之用。然而所收集的个人资料未经您明确授权将不会转移至「平安人寿香港个人资料收集声明」列明以外之第三者机构。您可选择不向我们提供所需的个人资料,惟这样可能导致我们不能联络您。您亦可根据「平安人寿香港个人资料收集声明」之权利查阅及更正个人资料。", 488 notice2: "本人现确认明白并同意本人的个人资料根据中银人寿个人资料收集声明作以上述用途。",
516 notice2:
517 "本人现确认明白并同意本人的个人资料根据中银人寿个人资料收集声明作以上述用途。",
518 success: "提交成功", 489 success: "提交成功",
519 submitBtn: "确认", 490 submitBtn: "确认",
520 errorTips: { 491 errorTips: {
...@@ -556,11 +527,9 @@ module.exports = { ...@@ -556,11 +527,9 @@ module.exports = {
556 head3: "使用说明", 527 head3: "使用说明",
557 head4: "附件", 528 head4: "附件",
558 download: "下载文档", 529 download: "下载文档",
559 form: [ 530 form: [{
560 {
561 type: "缴费类", 531 type: "缴费类",
562 list: [ 532 list: [{
563 {
564 name: "「电子入账服务」及银行户口<br>直接付款授权申请", 533 name: "「电子入账服务」及银行户口<br>直接付款授权申请",
565 desc: "申请设立「电子入账服务」及银行户口<br>直接付款授权时须提供", 534 desc: "申请设立「电子入账服务」及银行户口<br>直接付款授权时须提供",
566 download: "./doc/「電子入賬服務」及銀行戶口直接付款授權申請.pdf" 535 download: "./doc/「電子入賬服務」及銀行戶口直接付款授權申請.pdf"
...@@ -574,8 +543,7 @@ module.exports = { ...@@ -574,8 +543,7 @@ module.exports = {
574 }, 543 },
575 { 544 {
576 type: "保单变更类", 545 type: "保单变更类",
577 list: [ 546 list: [{
578 {
579 name: "保险合同解除申请书", 547 name: "保险合同解除申请书",
580 desc: "退保、冷静期退保业务适用", 548 desc: "退保、冷静期退保业务适用",
581 download: "./doc/保險合同解除申請書.pdf" 549 download: "./doc/保險合同解除申請書.pdf"
...@@ -619,13 +587,11 @@ module.exports = { ...@@ -619,13 +587,11 @@ module.exports = {
619 }, 587 },
620 { 588 {
621 type: "理赔类", 589 type: "理赔类",
622 list: [ 590 list: [{
623 {
624 name: "理赔申请书", 591 name: "理赔申请书",
625 desc: "纸质申请的应备文件", 592 desc: "纸质申请的应备文件",
626 download: "./doc/理賠申請書.pdf" 593 download: "./doc/理賠申請書.pdf"
627 } 594 }]
628 ]
629 } 595 }
630 ] 596 ]
631 }, 597 },
...@@ -639,15 +605,12 @@ module.exports = { ...@@ -639,15 +605,12 @@ module.exports = {
639 head4: "受理时间", 605 head4: "受理时间",
640 head5: "应备材料", 606 head5: "应备材料",
641 download: "下载文档", 607 download: "下载文档",
642 form: [ 608 form: [{
643 {
644 project: "退保", 609 project: "退保",
645 content: 610 content: "在冷静期后解除合同,公司将退还保单现金价值或未满期净保费。(待产品精算确认)",
646 "在冷静期后解除合同,公司将退还保单现金价值或未满期净保费。(待产品精算确认)",
647 applicant: "投保人", 611 applicant: "投保人",
648 receptionTime: "保单效力终止前", 612 receptionTime: "保单效力终止前",
649 materialList: [ 613 materialList: [{
650 {
651 name: "保险单" 614 name: "保险单"
652 }, 615 },
653 { 616 {
...@@ -667,8 +630,7 @@ module.exports = { ...@@ -667,8 +630,7 @@ module.exports = {
667 content: "在冷静期内提出解除合同,公司会无息退还全部保费", 630 content: "在冷静期内提出解除合同,公司会无息退还全部保费",
668 applicant: "投保人", 631 applicant: "投保人",
669 receptionTime: "冷静期结束前", 632 receptionTime: "冷静期结束前",
670 materialList: [ 633 materialList: [{
671 {
672 name: "保险单" 634 name: "保险单"
673 }, 635 },
674 { 636 {
...@@ -696,8 +658,7 @@ module.exports = { ...@@ -696,8 +658,7 @@ module.exports = {
696 content: "投保人、受保人、受益人的个人信息变更", 658 content: "投保人、受保人、受益人的个人信息变更",
697 applicant: "投保人", 659 applicant: "投保人",
698 receptionTime: "不限", 660 receptionTime: "不限",
699 materialList: [ 661 materialList: [{
700 {
701 name: "申请书", 662 name: "申请书",
702 type: 1 663 type: 1
703 }, 664 },
...@@ -716,8 +677,7 @@ module.exports = { ...@@ -716,8 +677,7 @@ module.exports = {
716 content: "地址、电话等信息的变更", 677 content: "地址、电话等信息的变更",
717 applicant: "投保人", 678 applicant: "投保人",
718 receptionTime: "不限", 679 receptionTime: "不限",
719 materialList: [ 680 materialList: [{
720 {
721 name: "申请书", 681 name: "申请书",
722 type: 1 682 type: 1
723 }, 683 },
...@@ -731,8 +691,7 @@ module.exports = { ...@@ -731,8 +691,7 @@ module.exports = {
731 content: "更改保单的续期交费方式或交费账号", 691 content: "更改保单的续期交费方式或交费账号",
732 applicant: "投保人", 692 applicant: "投保人",
733 receptionTime: "保单交费期满前", 693 receptionTime: "保单交费期满前",
734 materialList: [ 694 materialList: [{
735 {
736 name: "申请书", 695 name: "申请书",
737 type: 1 696 type: 1
738 }, 697 },
...@@ -744,8 +703,8 @@ module.exports = { ...@@ -744,8 +703,8 @@ module.exports = {
744 ] 703 ]
745 }, 704 },
746 policyChangeContact: { 705 policyChangeContact: {
747 phone: "联系电话", 706 phone: "联络电话",
748 address: "联系地址", 707 address: "联络地址",
749 email: "电邮地址", 708 email: "电邮地址",
750 checkTips: "本人不同意接收宣传信息", 709 checkTips: "本人不同意接收宣传信息",
751 submit: "确认修改", 710 submit: "确认修改",
...@@ -754,6 +713,14 @@ module.exports = { ...@@ -754,6 +713,14 @@ module.exports = {
754 e2: "請填寫聯繫地址", 713 e2: "請填寫聯繫地址",
755 e3: "请填写正确的电邮地址" 714 e3: "请填写正确的电邮地址"
756 }, 715 },
716 form:{
717 InternationalArea:"国际号码区号",
718 Mobile:"电话号码",
719 Nation:"国家(地区)",
720 District:"市行政区",
721 Address:"详细地址",
722 Mail:"请输入",
723 },
757 success: "更新成功" 724 success: "更新成功"
758 }, 725 },
759 policyChangeInformation: { 726 policyChangeInformation: {
...@@ -796,10 +763,8 @@ module.exports = { ...@@ -796,10 +763,8 @@ module.exports = {
796 }, 763 },
797 pulbic: { 764 pulbic: {
798 title: "微信公众号", 765 title: "微信公众号",
799 m1: 766 m1: "方法一:登陆「微信」APP, 按右上角的「+」按钮并选择「添加朋友」,选择「公众号」 输入并搜索「平安人寿香港」",
800 "方法一:登陆「微信」APP, 按右上角的「+」按钮并选择「添加朋友」,选择「公众号」 输入并搜索「平安人寿香港」", 767 m2: "方法二:登陆「微信」APP, 按右上角的「+」按钮并选择「扫一扫」扫描下方二维码(放置二维码)"
801 m2:
802 "方法二:登陆「微信」APP, 按右上角的「+」按钮并选择「扫一扫」扫描下方二维码(放置二维码)"
803 }, 768 },
804 qrcode: { 769 qrcode: {
805 title: "官方公众号" 770 title: "官方公众号"
...@@ -968,8 +933,7 @@ module.exports = { ...@@ -968,8 +933,7 @@ module.exports = {
968 tip5: "联络客服", 933 tip5: "联络客服",
969 tip6: "保单已签收,如需查询保单信息或下载电子保单可点击", 934 tip6: "保单已签收,如需查询保单信息或下载电子保单可点击",
970 tip7: "保单查询", 935 tip7: "保单查询",
971 notice: 936 notice: "谨此确认本人已收到中国平安人寿保险(香港)有限公司的保单,并已细阅保单细节内容(包括但不限于保单冷静期权益)",
972 "谨此确认本人已收到中国平安人寿保险(香港)有限公司的保单,并已细阅保单细节内容(包括但不限于保单冷静期权益)",
973 agreeTips: "请下载并细阅“保单缮发及冷静期通知书”及“电子保单”" 937 agreeTips: "请下载并细阅“保单缮发及冷静期通知书”及“电子保单”"
974 }, 938 },
975 clarms: { 939 clarms: {
...@@ -985,8 +949,7 @@ module.exports = { ...@@ -985,8 +949,7 @@ module.exports = {
985 label4: "证件号码", 949 label4: "证件号码",
986 label5: "出生日期", 950 label5: "出生日期",
987 btn: "立即申请", 951 btn: "立即申请",
988 noPolicy: 952 noPolicy: "对不起,您输入的数据与本公司的纪录不符,请重新输入。如需帮助可",
989 "对不起,您输入的数据与本公司的纪录不符,请重新输入。如需帮助可",
990 customService: "联系客服" 953 customService: "联系客服"
991 }, 954 },
992 step2: { 955 step2: {
...@@ -1018,18 +981,13 @@ module.exports = { ...@@ -1018,18 +981,13 @@ module.exports = {
1018 uploadFile: "已上传文件:", 981 uploadFile: "已上传文件:",
1019 contact: "联络客服", 982 contact: "联络客服",
1020 contact2: "我想", 983 contact2: "我想",
1021 tip1: 984 tip1: "本人/我们谨此授权(1)任何雇主、注册西医、医院、诊所、保险公司、银行、政府机构、或其他机构、组织或人士、凡知道或持有任何有关保单持有人/受保人之纪录者,均可将该等数据提供、发放及转交给中国平安人寿保险(香港)有限公司;(2)贵公司或任何其指定之医生或化验所,可就此赔偿申请替保单持有人/受保人进行所需之医疗评价及测试,作为审核保单持有人/受保人之健康状况。此授权对保单持有人/受保人之继承人及授让人具有约束力;即使保单持有人/受保人死亡或无行为能力时,此授权书仍具效力。",
1022 "本人/我们谨此授权(1)任何雇主、注册西医、医院、诊所、保险公司、银行、政府机构、或其他机构、组织或人士、凡知道或持有任何有关保单持有人/受保人之纪录者,均可将该等数据提供、发放及转交给中国平安人寿保险(香港)有限公司;(2)贵公司或任何其指定之医生或化验所,可就此赔偿申请替保单持有人/受保人进行所需之医疗评价及测试,作为审核保单持有人/受保人之健康状况。此授权对保单持有人/受保人之继承人及授让人具有约束力;即使保单持有人/受保人死亡或无行为能力时,此授权书仍具效力。", 985 tip2: "本人/我们确认已阅读及明白「中国平安人寿保险(香港)有限公司」的收集个人资料声明(本声明)。",
1023 tip2: 986 tip3: "本人/我们特此确认并同意贵公司根据本声明使用和移转本人/我们的个人资料,包括为直接促销之目的使用和提供本人/我们的个人资料。本人/我们确认并同意为本声明中所述之目的将本人/我们的个人资料移转至香港境外给本声明所述的承转人的类别。",
1024 "本人/我们确认已阅读及明白「中国平安人寿保险(香港)有限公司」的收集个人资料声明(本声明)。", 987 tip4: "本人/我们谨此声明上述一切陈述及数据,就本人/我们所知所信,均为事实之全部并确实无讹。",
1025 tip3:
1026 "本人/我们特此确认并同意贵公司根据本声明使用和移转本人/我们的个人资料,包括为直接促销之目的使用和提供本人/我们的个人资料。本人/我们确认并同意为本声明中所述之目的将本人/我们的个人资料移转至香港境外给本声明所述的承转人的类别。",
1027 tip4:
1028 "本人/我们谨此声明上述一切陈述及数据,就本人/我们所知所信,均为事实之全部并确实无讹。",
1029 tip5: "您选择的申请类型不在保险责任范围内,请核实确认,如有疑问可", 988 tip5: "您选择的申请类型不在保险责任范围内,请核实确认,如有疑问可",
1030 tip6: "联系客服", 989 tip6: "联系客服",
1031 tip7: 990 tip7: "您的理赔申请已经受理,我们会尽快处理本次申请。我们会短信通知理赔进度,因审核需要,可能会通知您补充相关资料或者邮寄实物。如审批通过,理赔款将默认转入投保缴费账户,如需变更,请上传",
1032 "您的理赔申请已经受理,我们会尽快处理本次申请。我们会短信通知理赔进度,因审核需要,可能会通知您补充相关资料或者邮寄实物。如审批通过,理赔款将默认转入投保缴费账户,如需变更,请上传",
1033 tip8: "索偿人账户资料。", 991 tip8: "索偿人账户资料。",
1034 tip9: "您选择的事故时间不在保单有效期范围内,请核实确认,如有疑问可", 992 tip9: "您选择的事故时间不在保单有效期范围内,请核实确认,如有疑问可",
1035 toast1: "医疗收据正本及账单明细表", 993 toast1: "医疗收据正本及账单明细表",
...@@ -1052,8 +1010,7 @@ module.exports = { ...@@ -1052,8 +1010,7 @@ module.exports = {
1052 }, 1010 },
1053 title: { 1011 title: {
1054 t1: "平安 “好e时”自愿医保标准计划", 1012 t1: "平安 “好e时”自愿医保标准计划",
1055 t2: 1013 t2: "平安「好e时」自愿医保标准计划为政府自愿医保认可的标准计划,涵盖重点医疗保障,投保流程简易,全程线上进行。",
1056 "平安「好e时」自愿医保标准计划为政府自愿医保认可的标准计划,涵盖重点医疗保障,投保流程简易,全程线上进行。",
1057 t3: "", 1014 t3: "",
1058 t4: "" 1015 t4: ""
1059 }, 1016 },
...@@ -1139,8 +1096,7 @@ module.exports = { ...@@ -1139,8 +1096,7 @@ module.exports = {
1139 k1: "身故恩恤赔偿", 1096 k1: "身故恩恤赔偿",
1140 v1: "$10,000", 1097 v1: "$10,000",
1141 k2: "无索偿折扣", 1098 k2: "无索偿折扣",
1142 v2: 1099 v2: "在连续3个保单年度或以上不曾作出赔偿,无索偿折扣将适用于紧随的保单年度之应缴保费。无索偿折扣将相当于前一个保单年度所有到期及应缴保费(不包括任何折扣)的百分之十(10%)。"
1143 "在连续3个保单年度或以上不曾作出赔偿,无索偿折扣将适用于紧随的保单年度之应缴保费。无索偿折扣将相当于前一个保单年度所有到期及应缴保费(不包括任何折扣)的百分之十(10%)。"
1144 }, 1100 },
1145 1101
1146 download: { 1102 download: {
...@@ -1149,43 +1105,34 @@ module.exports = { ...@@ -1149,43 +1105,34 @@ module.exports = {
1149 t3: "下载保单契约" 1105 t3: "下载保单契约"
1150 }, 1106 },
1151 submitBtn: "立即投保", 1107 submitBtn: "立即投保",
1152 productList: [ 1108 productList: [{
1153 {
1154 title: "政府认可 安心保障", 1109 title: "政府认可 安心保障",
1155 desc: 1110 desc: "本计划为政府自愿医保认可的标准计划,让您在需要时候可透过住院保险而使用私营医疗服务,并可同时申请享有税务扣减优惠。此计划获食物及卫生局认可,让您倍感安心。如欲了解更多自愿医保详情,可浏览www.vhis.gov.hk。",
1156 "本计划为政府自愿医保认可的标准计划,让您在需要时候可透过住院保险而使用私营医疗服务,并可同时申请享有税务扣减优惠。此计划获食物及卫生局认可,让您倍感安心。如欲了解更多自愿医保详情,可浏览www.vhis.gov.hk。",
1157 tips: "" 1111 tips: ""
1158 }, 1112 },
1159 { 1113 {
1160 title: "不设终身保障限额", 1114 title: "不设终身保障限额",
1161 desc: 1115 desc: "本计划不设终身保障限额,每年保障限额高达420,000 港元,并将每年重新设置至原先限额,让您享有重点的医疗保障,减轻因医疗需求而造成的财务负担。",
1162 "本计划不设终身保障限额,每年保障限额高达420,000 港元,并将每年重新设置至原先限额,让您享有重点的医疗保障,减轻因医疗需求而造成的财务负担。",
1163 tips: "" 1116 tips: ""
1164 }, 1117 },
1165 { 1118 {
1166 title: "一家投保 尽享税务扣减", 1119 title: "一家投保 尽享税务扣减",
1167 desc: 1120 desc: "本计划的保费可用作申请税务扣除,若保单持有人为纳税人,便可为自己及任何指明亲属*,即每一名合资格受保人,申请每名受保人每年8,000 港元的扣税额,可申请税务扣减的指明亲属 数目更不设上限。",
1168 "本计划的保费可用作申请税务扣除,若保单持有人为纳税人,便可为自己及任何指明亲属*,即每一名合资格受保人,申请每名受保人每年8,000 港元的扣税额,可申请税务扣减的指明亲属 数目更不设上限。", 1121 tips: "*指明亲属包括纳税人配偶及子女、纳税人或其配偶的祖父母、外祖父母、父母和兄弟姐妹。"
1169 tips:
1170 "*指明亲属包括纳税人配偶及子女、纳税人或其配偶的祖父母、外祖父母、父母和兄弟姐妹。"
1171 }, 1122 },
1172 { 1123 {
1173 title: "承保投保前未知的已有疾病", 1124 title: "承保投保前未知的已有疾病",
1174 desc: 1125 desc: "现时一般医疗保险均不承保投保前的已有疾病,本计划为您带来多一份安心,承保您在投保时不察觉,及理应不察觉的已有病症。对上述有关病症,此计划会在保单生效首3年的等候期间提供部份保障*,并由第4个保单年度起提供全面保障。",
1175 "现时一般医疗保险均不承保投保前的已有疾病,本计划为您带来多一份安心,承保您在投保时不察觉,及理应不察觉的已有病症。对上述有关病症,此计划会在保单生效首3年的等候期间提供部份保障*,并由第4个保单年度起提供全面保障。", 1126 tips: "*保单生效日后提供部分赔偿(第二年25%、第三年50%),其后提供全面赔偿(100%) "
1176 tips:
1177 "*保单生效日后提供部分赔偿(第二年25%、第三年50%),其后提供全面赔偿(100%) "
1178 }, 1127 },
1179 { 1128 {
1180 title: "保证续保至100岁", 1129 title: "保证续保至100岁",
1181 desc: 1130 desc: "本计划接受任何介乎出生后15天至80岁人士投保,您可以一直续保至100岁。计划保证不会因您的索偿记录或身体状况改变而调高续保保费,而您的续保保费将根据当时保单周年日之保费表厘定。",
1182 "本计划接受任何介乎出生后15天至80岁人士投保,您可以一直续保至100岁。计划保证不会因您的索偿记录或身体状况改变而调高续保保费,而您的续保保费将根据当时保单周年日之保费表厘定。",
1183 tips: "" 1131 tips: ""
1184 }, 1132 },
1185 { 1133 {
1186 title: "无索偿保费折扣", 1134 title: "无索偿保费折扣",
1187 desc: 1135 desc: "为鼓励您保持健康生活,如您于本计划的连续3个保单年度内,没有任何索偿记录,我们会于下一保单年度退还上一个保单年度保费的百分之十(10%)作为无索偿折扣。",
1188 "为鼓励您保持健康生活,如您于本计划的连续3个保单年度内,没有任何索偿记录,我们会于下一保单年度退还上一个保单年度保费的百分之十(10%)作为无索偿折扣。",
1189 tips: "" 1136 tips: ""
1190 } 1137 }
1191 ] 1138 ]
...@@ -1201,8 +1148,7 @@ module.exports = { ...@@ -1201,8 +1148,7 @@ module.exports = {
1201 }, 1148 },
1202 title: { 1149 title: {
1203 t1: "「平安·传家福」分红终身寿险计划", 1150 t1: "「平安·传家福」分红终身寿险计划",
1204 t2: 1151 t2: "美好重要的事物总是值得更好的守护,「平安·传家福」分红终身寿险计划,提供长期储蓄回报和终身人寿保障,帮助您持续滚存财富,保护您的收入和财富。「平安·传家福」设计具有独特的功能,并保证最低回报,为您及挚爱家庭的未来做好准备。",
1205 "美好重要的事物总是值得更好的守护,「平安·传家福」分红终身寿险计划,提供长期储蓄回报和终身人寿保障,帮助您持续滚存财富,保护您的收入和财富。「平安·传家福」设计具有独特的功能,并保证最低回报,为您及挚爱家庭的未来做好准备。",
1206 t3: "", 1152 t3: "",
1207 t4: "" 1153 t4: ""
1208 }, 1154 },
...@@ -1234,46 +1180,37 @@ module.exports = { ...@@ -1234,46 +1180,37 @@ module.exports = {
1234 v52: "保证现金价值加上累计复归红利的面值和终期分红的面值(如有)。", 1180 v52: "保证现金价值加上累计复归红利的面值和终期分红的面值(如有)。",
1235 k6: "额外意外身故赔偿", 1181 k6: "额外意外身故赔偿",
1236 v6: "相等于已支付基本保费总额", 1182 v6: "相等于已支付基本保费总额",
1237 v61: 1183 v61: "于本保单及所有其他「平安·传家福」保险计划(无论以任何货币计价),最高限额为125,000美元。",
1238 "于本保单及所有其他「平安·传家福」保险计划(无论以任何货币计价),最高限额为125,000美元。",
1239 k7: "保单持有人意外身故赔偿", 1184 k7: "保单持有人意外身故赔偿",
1240 v7: "相等于保单余下基本未缴保费之总额", 1185 v7: "相等于保单余下基本未缴保费之总额",
1241 v71: 1186 v71: "于本保单及所有其他「平安·传家福」保险计划(无论以任何货币计价),最高限额为125,000美元。",
1242 "于本保单及所有其他「平安·传家福」保险计划(无论以任何货币计价),最高限额为125,000美元。",
1243 v72: "不适用于保单持有人同时受保人", 1187 v72: "不适用于保单持有人同时受保人",
1244 v73: "", 1188 v73: "",
1245 k8: "退保金额", 1189 k8: "退保金额",
1246 v8: 1190 v8: "若您将本保单退保,我们将支付退保金额。退保金额等于退保日的保证退保价值,加上复归红利的现金价值及终期红利的现金价值(如有);减去所有保单欠款(如有)。",
1247 "若您将本保单退保,我们将支付退保金额。退保金额等于退保日的保证退保价值,加上复归红利的现金价值及终期红利的现金价值(如有);减去所有保单欠款(如有)。",
1248 k9: "红利提取安排", 1191 k9: "红利提取安排",
1249 v9: 1192 v9: "在保单有效期内,保单持有人可以随时提取部分或全部累积复归红利的现金价值,但需符合我们有关每次提取的最小和最大金额的管理规定。每次提取时,如有任何相应终期分红的现金价值(根据提取的复归红利)也将一并被提取。",
1250 "在保单有效期内,保单持有人可以随时提取部分或全部累积复归红利的现金价值,但需符合我们有关每次提取的最小和最大金额的管理规定。每次提取时,如有任何相应终期分红的现金价值(根据提取的复归红利)也将一并被提取。",
1251 k10: "保单贷款 / 自动保费贷款", 1193 k10: "保单贷款 / 自动保费贷款",
1252 v10: 1194 v10: "您可于保单有效期间,向我们申请保单贷款,但金额不得超过保证退保价值加上保单累计复归红利的现金价值的总额之80%。如有任何在宽限期结束时尚未缴付之保费,我们将可能为您的保单执行自动保单贷款,并自动以贷款方式缴付您应缴之保费及保单征费(如有)。我们对任何保单贷款及自动保单贷款均须收取利息,利率由我们全权厘定。"
1253 "您可于保单有效期间,向我们申请保单贷款,但金额不得超过保证退保价值加上保单累计复归红利的现金价值的总额之80%。如有任何在宽限期结束时尚未缴付之保费,我们将可能为您的保单执行自动保单贷款,并自动以贷款方式缴付您应缴之保费及保单征费(如有)。我们对任何保单贷款及自动保单贷款均须收取利息,利率由我们全权厘定。"
1254 }, 1195 },
1255 download: { 1196 download: {
1256 t1: "下载产品简介", 1197 t1: "下载产品简介",
1257 t2: "下载产品优惠宣传单张" 1198 t2: "下载产品优惠宣传单张"
1258 }, 1199 },
1259 submitBtn: "立即联络理财顾问", 1200 submitBtn: "立即联络理财顾问",
1260 productList: [ 1201 productList: [{
1261 {
1262 title: "持续储蓄增长 潜在长线资本增值", 1202 title: "持续储蓄增长 潜在长线资本增值",
1263 desc: 1203 desc: "「平安.传家福」是一份分红保险计划,计划的保单价值由保证现金价值,复归红利及终期红利(如有) 三个部份组成提供潜在的长线资本增值机会*。",
1264 "「平安.传家福」是一份分红保险计划,计划的保单价值由保证现金价值,复归红利及终期红利(如有) 三个部份组成提供潜在的长线资本增值机会*。",
1265 tips: "*分红详情请参阅产品简介及保单条款" 1204 tips: "*分红详情请参阅产品简介及保单条款"
1266 }, 1205 },
1267 { 1206 {
1268 title: "灵活运用保单价值 满足您的财务需求", 1207 title: "灵活运用保单价值 满足您的财务需求",
1269 desc: 1208 desc: "保单中的复归红利和相应的终期分红价值之现金价值可随时灵活提取,您也可以作部分退保来提取部分保证现金价值,以满足您的不同现金需求。",
1270 "保单中的复归红利和相应的终期分红价值之现金价值可随时灵活提取,您也可以作部分退保来提取部分保证现金价值,以满足您的不同现金需求。",
1271 tips: "" 1209 tips: ""
1272 }, 1210 },
1273 { 1211 {
1274 title: "创建家族财富 福祉代代相传", 1212 title: "创建家族财富 福祉代代相传",
1275 desc: 1213 desc: "「平安.传家福」通过提供“受保人变更”选项来帮助您建立世代相传的财富。在第一个保单周年日结束后,您可以更改此计划的受保人(上限为四次),而不会影响计划价值*。",
1276 "「平安.传家福」通过提供“受保人变更”选项来帮助您建立世代相传的财富。在第一个保单周年日结束后,您可以更改此计划的受保人(上限为四次),而不会影响计划价值*。",
1277 tips: "*须乎合管理规则和公司最终批准的前提下" 1214 tips: "*须乎合管理规则和公司最终批准的前提下"
1278 }, 1215 },
1279 { 1216 {
...@@ -1283,26 +1220,22 @@ module.exports = { ...@@ -1283,26 +1220,22 @@ module.exports = {
1283 }, 1220 },
1284 { 1221 {
1285 title: "保单持有人意外身故赔偿", 1222 title: "保单持有人意外身故赔偿",
1286 desc: 1223 desc: "倘若保单持有人于保费供款年期结束前不幸因意外身故,我们将支付一笔赔偿,金额相等于「平安.传家福」保单余下未缴保费之总额。您的家人可考虑以此缴付未来保费,以维持保单生效。",
1287 "倘若保单持有人于保费供款年期结束前不幸因意外身故,我们将支付一笔赔偿,金额相等于「平安.传家福」保单余下未缴保费之总额。您的家人可考虑以此缴付未来保费,以维持保单生效。",
1288 tips: "*详情请参阅产品简介及保单条款" 1224 tips: "*详情请参阅产品简介及保单条款"
1289 }, 1225 },
1290 { 1226 {
1291 title: "自选保费缴付期切合您的理财需要", 1227 title: "自选保费缴付期切合您的理财需要",
1292 desc: 1228 desc: "您可以根据自己的财务状况灵活选择3年,5年,8年或10年的付款期限。保费金额在整个付款期限内都保证是固定的。",
1293 "您可以根据自己的财务状况灵活选择3年,5年,8年或10年的付款期限。保费金额在整个付款期限内都保证是固定的。",
1294 tips: "" 1229 tips: ""
1295 }, 1230 },
1296 { 1231 {
1297 title: "弹性赔偿支付方式供您选择", 1232 title: "弹性赔偿支付方式供您选择",
1298 desc: 1233 desc: "在符合我们现行的规则及规例的情况下,您可以选择一笔过支付,分期支付或混合形式向受益人支付身故赔偿和意外身故赔偿。",
1299 "在符合我们现行的规则及规例的情况下,您可以选择一笔过支付,分期支付或混合形式向受益人支付身故赔偿和意外身故赔偿。",
1300 tips: "" 1234 tips: ""
1301 }, 1235 },
1302 { 1236 {
1303 title: "豁免医疗核保 投保快捷方便", 1237 title: "豁免医疗核保 投保快捷方便",
1304 desc: 1238 desc: "「平安.传家福」投保基本计划的手续简便,毋须验身,让您轻松累积财富。只要您于过去24个月内投保指定的保险产品而其年度总保费不超过4,000,000美元,即可免验身轻松投保。",
1305 "「平安.传家福」投保基本计划的手续简便,毋须验身,让您轻松累积财富。只要您于过去24个月内投保指定的保险产品而其年度总保费不超过4,000,000美元,即可免验身轻松投保。",
1306 tips: "" 1239 tips: ""
1307 } 1240 }
1308 ] 1241 ]
......
1 @import "@/styles/_support.scss"; 1 @import "@/styles/_support.scss";
2
3 .list-container { 2 .list-container {
4 overflow-x: auto; 3 overflow-x: auto;
5 margin-bottom: 24px; 4 margin-bottom: 24px;
...@@ -19,7 +18,6 @@ ...@@ -19,7 +18,6 @@
19 position: relative; 18 position: relative;
20 display: flex; 19 display: flex;
21 align-items: center; 20 align-items: center;
22
23 &-tips { 21 &-tips {
24 display: none; 22 display: none;
25 position: absolute; 23 position: absolute;
...@@ -31,11 +29,10 @@ ...@@ -31,11 +29,10 @@
31 min-width: 88px; 29 min-width: 88px;
32 padding: 4px; 30 padding: 4px;
33 } 31 }
34
35 .icon-download { 32 .icon-download {
36 margin-right: 4px; 33 margin-right: 4px;
37 } 34 }
38 .desc{ 35 .desc {
39 padding: 0; 36 padding: 0;
40 } 37 }
41 } 38 }
...@@ -46,8 +43,7 @@ ...@@ -46,8 +43,7 @@
46 cursor: pointer; 43 cursor: pointer;
47 width: 12px; 44 width: 12px;
48 height: 8px; 45 height: 8px;
49 background: url("~@/assets/images/insurance-query/triangle-down2.png") 46 background: url("~@/assets/images/insurance-query/triangle-down2.png") no-repeat center center;
50 no-repeat center center;
51 background-size: 100% 100%; 47 background-size: 100% 100%;
52 top: 16px; 48 top: 16px;
53 right: 26px; 49 right: 26px;
...@@ -60,29 +56,23 @@ ...@@ -60,29 +56,23 @@
60 56
61 .cell-group { 57 .cell-group {
62 margin-bottom: 12px; 58 margin-bottom: 12px;
63
64 &:last-child { 59 &:last-child {
65 margin-bottom: 0; 60 margin-bottom: 0;
66 } 61 }
67
68 div { 62 div {
69 color: #4c4948; 63 color: #4c4948;
70 } 64 }
71
72 .td { 65 .td {
73 position: relative; 66 position: relative;
74 @extend .fcc; 67 @extend .fcc;
75 text-align: center; 68 text-align: center;
76 } 69 }
77
78 .w1 { 70 .w1 {
79 width: 180px; 71 width: 180px;
80 } 72 }
81
82 .w2 { 73 .w2 {
83 width: 240px; 74 width: 240px;
84 } 75 }
85
86 .w3 { 76 .w3 {
87 width: 140px; 77 width: 140px;
88 } 78 }
...@@ -92,7 +82,6 @@ ...@@ -92,7 +82,6 @@
92 .w5 { 82 .w5 {
93 width: 100px; 83 width: 100px;
94 } 84 }
95
96 .table-header { 85 .table-header {
97 height: 50px; 86 height: 50px;
98 border-top-left-radius: 8px; 87 border-top-left-radius: 8px;
...@@ -100,7 +89,6 @@ ...@@ -100,7 +89,6 @@
100 background-color: #f2f2f2; 89 background-color: #f2f2f2;
101 display: flex; 90 display: flex;
102 align-items: center; 91 align-items: center;
103
104 .normal-header { 92 .normal-header {
105 // width: 706px; 93 // width: 706px;
106 @extend .bb; 94 @extend .bb;
...@@ -110,32 +98,26 @@ ...@@ -110,32 +98,26 @@
110 display: flex; 98 display: flex;
111 justify-content: space-between; 99 justify-content: space-between;
112 align-items: center; 100 align-items: center;
113
114 .title { 101 .title {
115 font-weight: bold; 102 font-weight: bold;
116 color: #575453; 103 color: #575453;
117 } 104 }
118
119 .guide { 105 .guide {
120 transition: all 0.5s; 106 transition: all 0.5s;
121 cursor: pointer; 107 cursor: pointer;
122 width: 12px; 108 width: 12px;
123 height: 8px; 109 height: 8px;
124 background: url("~@/assets/images/insurance-query/triangle-down.png") 110 background: url("~@/assets/images/insurance-query/triangle-down.png") no-repeat center center;
125 no-repeat center center;
126 background-size: 100% 100%; 111 background-size: 100% 100%;
127 } 112 }
128
129 .rotate180 { 113 .rotate180 {
130 transform: rotate(180deg); 114 transform: rotate(180deg);
131 transition: all 0.5s; 115 transition: all 0.5s;
132 } 116 }
133 } 117 }
134 } 118 }
135
136 .table-content { 119 .table-content {
137 // width: 770px; 120 // width: 770px;
138
139 height: auto; 121 height: auto;
140 max-height: 600px; 122 max-height: 600px;
141 // display: inline-block; 123 // display: inline-block;
...@@ -147,29 +129,25 @@ ...@@ -147,29 +129,25 @@
147 padding: 0 32px; 129 padding: 0 32px;
148 transition: max-height ease-out 0.3s !important; 130 transition: max-height ease-out 0.3s !important;
149 overflow: auto; 131 overflow: auto;
150
151 .data-line { 132 .data-line {
152 // padding: 0 32px; 133 // padding: 0 32px;
153 height: 50px; 134 height: 58px;
154 margin: auto; 135 margin: auto;
155 display: flex; 136 display: flex;
156 justify-content: space-between; 137 justify-content: space-between;
157 align-items: center; 138 align-items: center;
158
159 .td { 139 .td {
160 position: relative; 140 position: relative;
161 display: flex; 141 display: flex;
162 justify-content: center; 142 justify-content: center;
163 align-items: center; 143 align-items: center;
164 } 144 }
165
166 .cell1 { 145 .cell1 {
167 width: 98%; 146 width: 98%;
168 display: flex; 147 display: flex;
169 justify-content: space-between; 148 justify-content: space-between;
170 margin: auto; 149 margin: auto;
171 } 150 }
172
173 .separator-v { 151 .separator-v {
174 height: 30px; 152 height: 30px;
175 width: 2px; 153 width: 2px;
...@@ -177,43 +155,35 @@ ...@@ -177,43 +155,35 @@
177 margin: 0 11px; 155 margin: 0 11px;
178 } 156 }
179 } 157 }
180
181 .label span { 158 .label span {
182 color: $cOrange; 159 color: $cOrange;
183 margin-left: 7px; 160 margin-left: 7px;
184 cursor: pointer; 161 cursor: pointer;
185 text-decoration: underline; 162 text-decoration: underline;
186 } 163 }
187
188 .separator-h { 164 .separator-h {
189 width: 100%; 165 width: 100%;
190 height: 1px; 166 height: 2px;
191 background-color: #f2f2f2; 167 background-color: #f2f2f2;
192 } 168 }
193 } 169 }
194
195 .orange { 170 .orange {
196 background-color: $cOrange; 171 background-color: $cOrange;
197
198 div { 172 div {
199 color: #ffffff; 173 color: #ffffff;
200 } 174 }
201 } 175 }
202
203 .new { 176 .new {
204 @include linear-bg; 177 @include linear-bg;
205 } 178 }
206
207 .hide { 179 .hide {
208 max-height: 0; 180 max-height: 0;
209 border-bottom: none; 181 border-bottom: none;
210 } 182 }
211
212 .sp { 183 .sp {
213 text-decoration: underline; 184 text-decoration: underline;
214 padding: 0 4.8px; 185 padding: 0 4.8px;
215 } 186 }
216
217 .ac { 187 .ac {
218 color: $cOrange !important; 188 color: $cOrange !important;
219 } 189 }
...@@ -234,7 +204,6 @@ ...@@ -234,7 +204,6 @@
234 .activity { 204 .activity {
235 background-color: $cOrange !important; 205 background-color: $cOrange !important;
236 opacity: 0.5; 206 opacity: 0.5;
237
238 div { 207 div {
239 color: #ffffff !important; 208 color: #ffffff !important;
240 } 209 }
...@@ -245,16 +214,13 @@ ...@@ -245,16 +214,13 @@
245 display: flex; 214 display: flex;
246 align-items: center; 215 align-items: center;
247 justify-content: center; 216 justify-content: center;
248
249 .tips { 217 .tips {
250 align-items: center; 218 align-items: center;
251 display: flex; 219 display: flex;
252
253 .icon { 220 .icon {
254 margin-right: 5px; 221 margin-right: 5px;
255 display: inline-block; 222 display: inline-block;
256 } 223 }
257
258 .btn { 224 .btn {
259 color: $cOrange; 225 color: $cOrange;
260 } 226 }
......
1 import api from '@/api/api' 1 import api from "@/api/api";
2 import { 2 import { httpGet, httpPost } from "@/api/fetch-api.js";
3 httpGet,
4 httpPost
5 } from '@/api/fetch-api.js'
6 3
7 import { contactMethodCheck } from '@utils/utils.js'; 4 import { contactMethodCheck } from "@utils/utils.js";
8 import { setTitle } from '@/utils/utils.js'; 5 import { setTitle } from "@/utils/utils.js";
9 6
10 import Auth from '@components/auth/auth.vue'; 7 import Auth from "@components/auth/auth.vue";
11 import modalComp from '@/components/modal-comp/modal-comp.vue'; 8 import modalComp from "@/components/modal-comp/modal-comp.vue";
12 import PolicyHeadList from "./policy-head-list.vue"; 9 import PolicyHeadList from "./policy-head-list.vue";
13 import Vue from 'vue'; 10 import Vue from "vue";
14 import { Loading } from 'vant'; 11 import { Loading } from "vant";
15 Vue.use(Loading); 12 Vue.use(Loading);
16 13
17 export default { 14 export default {
...@@ -19,7 +16,7 @@ export default { ...@@ -19,7 +16,7 @@ export default {
19 return { 16 return {
20 loading: false, 17 loading: false,
21 showForm: false, 18 showForm: false,
22 key: 'value', 19 key: "value",
23 checked1: false, 20 checked1: false,
24 checked2: false, 21 checked2: false,
25 checked3: false, 22 checked3: false,
...@@ -30,6 +27,8 @@ export default { ...@@ -30,6 +27,8 @@ export default {
30 mobile: "", 27 mobile: "",
31 email: "", 28 email: "",
32 address: "", 29 address: "",
30
31 areaCode: ""
33 }, 32 },
34 errorTips: { 33 errorTips: {
35 e1: "", 34 e1: "",
...@@ -42,7 +41,30 @@ export default { ...@@ -42,7 +41,30 @@ export default {
42 targetPath: "", 41 targetPath: "",
43 modalIcon: "succ", 42 modalIcon: "succ",
44 modalContent: "", 43 modalContent: "",
45 } 44
45 // 新增
46 // 国际号码区号列表
47 areaCodeList: [
48 {
49 v: "abc",
50 n: "abc"
51 },
52 {
53 v: "efg",
54 n: "efg"
55 }
56 ],
57 countryList:[
58 {
59 v: "cn",
60 n: "中国"
61 },
62 {
63 v: "en",
64 n: "美国"
65 }
66 ]
67 };
46 }, 68 },
47 components: { 69 components: {
48 Auth, 70 Auth,
...@@ -51,10 +73,12 @@ export default { ...@@ -51,10 +73,12 @@ export default {
51 }, 73 },
52 computed: { 74 computed: {
53 locale() { 75 locale() {
54 return this.$i18n.locale || 'tc'; 76 return this.$i18n.locale || "tc";
55 }, 77 },
56 i18n() { 78 i18n() {
57 return this.$i18n.messages && this.$i18n.locale ? this.$i18n.messages[this.$i18n.locale] : {}; 79 return this.$i18n.messages && this.$i18n.locale
80 ? this.$i18n.messages[this.$i18n.locale]
81 : {};
58 }, 82 },
59 submitBtnDisabled() { 83 submitBtnDisabled() {
60 let b1 = !this.selectedPolicies || this.selectedPolicies.length == 0; 84 let b1 = !this.selectedPolicies || this.selectedPolicies.length == 0;
...@@ -100,27 +124,29 @@ export default { ...@@ -100,27 +124,29 @@ export default {
100 addressAcceptMsg: this.checked2 ? 1 : 0, 124 addressAcceptMsg: this.checked2 ? 1 : 0,
101 emailAcceptMsg: this.checked3 ? 1 : 0, 125 emailAcceptMsg: this.checked3 ? 1 : 0,
102 policies: policies 126 policies: policies
103 } 127 };
104 this.loading = true; 128 this.loading = true;
105 httpPost({ 129 httpPost({
106 url: api.updatePolicyContanct, 130 url: api.updatePolicyContanct,
107 data: data, 131 data: data,
108 sid: true 132 sid: true
109 }).then(() => { 133 })
134 .then(() => {
110 this.loading = false; 135 this.loading = false;
111 this.showSuccess(); 136 this.showSuccess();
112 }).catch(err => { 137 })
138 .catch(err => {
113 this.loading = false; 139 this.loading = false;
114 if (err.code == 404) { 140 if (err.code == 404) {
115 this.$refs.auth.noAuth(); 141 this.$refs.auth.noAuth();
116 } 142 }
117 }) 143 });
118 } 144 }
119 }, 145 },
120 checkMobile() { 146 checkMobile() {
121 if (this.data.mobile) { 147 if (this.data.mobile) {
122 let hkMobile = contactMethodCheck('hkmobile', this.data.mobile); 148 let hkMobile = contactMethodCheck("hkmobile", this.data.mobile);
123 let zhMobile = contactMethodCheck('mobile', this.data.mobile); 149 let zhMobile = contactMethodCheck("mobile", this.data.mobile);
124 if (!hkMobile && !zhMobile) { 150 if (!hkMobile && !zhMobile) {
125 this.errorTips.e1 = this.i18n.policyChangeContact.errorTips.e1; 151 this.errorTips.e1 = this.i18n.policyChangeContact.errorTips.e1;
126 return false; 152 return false;
...@@ -132,7 +158,7 @@ export default { ...@@ -132,7 +158,7 @@ export default {
132 return true; 158 return true;
133 }, 159 },
134 checkEmail() { 160 checkEmail() {
135 if (this.data.email && !contactMethodCheck('email', this.data.email)) { 161 if (this.data.email && !contactMethodCheck("email", this.data.email)) {
136 this.errorTips.e3 = this.i18n.policyChangeContact.errorTips.e3; 162 this.errorTips.e3 = this.i18n.policyChangeContact.errorTips.e3;
137 return false; 163 return false;
138 } 164 }
...@@ -155,7 +181,8 @@ export default { ...@@ -155,7 +181,8 @@ export default {
155 url: api.policyDetail, 181 url: api.policyDetail,
156 data: param, 182 data: param,
157 sid: true 183 sid: true
158 }).then(response => { 184 })
185 .then(response => {
159 this.data = {}; 186 this.data = {};
160 if (response) { 187 if (response) {
161 this.loading = false; 188 this.loading = false;
...@@ -167,7 +194,8 @@ export default { ...@@ -167,7 +194,8 @@ export default {
167 this.data.email = response.clientEmail; 194 this.data.email = response.clientEmail;
168 this.checked3 = "1" == response.clientEmailAcceptMessage; 195 this.checked3 = "1" == response.clientEmailAcceptMessage;
169 } 196 }
170 }).catch(res => { 197 })
198 .catch(res => {
171 if (res.code == "404") { 199 if (res.code == "404") {
172 this.$refs.auth.noAuth(); 200 this.$refs.auth.noAuth();
173 } 201 }
...@@ -193,17 +221,17 @@ export default { ...@@ -193,17 +221,17 @@ export default {
193 } 221 }
194 }, 222 },
195 watch: { 223 watch: {
196 'data.mobile': function () { 224 "data.mobile": function() {
197 this.errorTips.e1 = ""; 225 this.errorTips.e1 = "";
198 }, 226 },
199 'data.address': function () { 227 "data.address": function() {
200 this.errorTips.e2 = ""; 228 this.errorTips.e2 = "";
201 }, 229 },
202 'data.email': function () { 230 "data.email": function() {
203 this.errorTips.e3 = ""; 231 this.errorTips.e3 = "";
204 } 232 }
205 }, 233 },
206 mounted() { 234 mounted() {
207 this.initTitle(); 235 this.initTitle();
208 } 236 }
209 } 237 };
......
1 @import '@/styles/_support.scss'; 1 @import "@/styles/_support.scss";
2 .comp {
3 font-size: $fontSize-M2;
4 }
2 5
3 .container { 6 .container {
4 @extend .bb; 7 @extend .bb;
5 padding: 22px 36px 30px 26px; 8 padding: 24px 32px;
6
7 } 9 }
8 10
9 .border { 11 .border {
...@@ -15,29 +17,47 @@ ...@@ -15,29 +17,47 @@
15 .form { 17 .form {
16 display: flex; 18 display: flex;
17 flex-wrap: wrap; 19 flex-wrap: wrap;
18
19 &-item { 20 &-item {
20 position: relative; 21 position: relative;
21 margin-bottom: 28px;
22 width: 100%; 22 width: 100%;
23
24 &:last-child { 23 &:last-child {
25 margin-bottom: 0; 24 margin-bottom: 0;
26 } 25 }
27
28 .label { 26 .label {
29 color: #f05a23;
30 display: flex; 27 display: flex;
31 align-items: center; 28 align-items: center;
32 margin-bottom: 8.4px; 29 margin-bottom: 8.4px;
33
34 .icon { 30 .icon {
35 width: 26px; 31 margin-right: 14px;
36 display: flex;
37 } 32 }
38
39 img { 33 img {
40 height: 12px; 34 }
35 }
36
37 .ipt-gird {
38 &-item {
39 margin: 0 auto 48px;
40 padding-left: 18px;
41 padding-right: 18px;
42
43 &:first-child {
44 margin-right: 0;
45 padding-left: 0;
46 }
47 &:last-child {
48 margin-right: 0;
49 padding-right: 0;
50 }
51 }
52
53 .w1 {
54 width: 210px;
55 }
56 .w2 {
57 width: 300px;
58 }
59 .w3 {
60 width: 360px;
41 } 61 }
42 } 62 }
43 63
...@@ -46,26 +66,18 @@ ...@@ -46,26 +66,18 @@
46 justify-content: space-between; 66 justify-content: space-between;
47 align-items: center; 67 align-items: center;
48 position: relative; 68 position: relative;
49
50 // input和下拉 69 // input和下拉
51 .ipt { 70 .ipt {
52 flex: 1; 71 flex: 1;
53 } 72 }
54
55 .agree {
56 cursor: pointer;
57 }
58
59 .name-ipt { 73 .name-ipt {
60 width: 164px; 74 width: 164px;
61 } 75 }
62
63 .phone-ipt { 76 .phone-ipt {
64 width: 164px; 77 width: 164px;
65 } 78 }
66 79 .mail-ipt {
67 .mail-ipt {} 80 }
68
69 // 长文本 81 // 长文本
70 .textarea { 82 .textarea {
71 min-height: 105px; 83 min-height: 105px;
...@@ -73,62 +85,58 @@ ...@@ -73,62 +85,58 @@
73 @extend .bb; 85 @extend .bb;
74 padding: 9px; 86 padding: 9px;
75 } 87 }
76
77 .down-arrow { 88 .down-arrow {
78 position: absolute; 89 position: absolute;
79 top: 26.4px; 90 top: 26.4px;
80 right: 24px; 91 right: 24px;
81 background-image: url('~@/assets/images/reservation/re-down-arrow.png'); 92 background-image: url("~@/assets/images/reservation/re-down-arrow.png");
82 width: 12px; 93 width: 12px;
83 height: 8px; 94 height: 8px;
84 pointer-events: none; 95 pointer-events: none;
85 cursor: default; 96 cursor: default;
86 } 97 }
87
88 .check-icon { 98 .check-icon {
89 display: inline-block; 99 display: inline-block;
90 margin-left: 26px; 100 margin-left: 26px;
91 margin-right: 8px; 101 margin-right: 8px;
92 } 102 }
93 } 103 }
94
95 .validator { 104 .validator {
96 color: $cOrange; 105 color: $cOrange2;
97 margin-top: 6px; 106 margin-top: 6px;
98 position: absolute; 107 position: absolute;
99 right: 192px; 108 // right: 0;
109 left: 0;
100 display: flex; 110 display: flex;
101 align-items: center; 111 align-items: center;
102 // bottom: 0; 112 // bottom: 0;
103
104 img { 113 img {
105 display: inline-block; 114 display: inline-block;
106 margin-right: 4.8px; 115 margin-right: 4.8px;
107 } 116 }
108 } 117 }
109 } 118 }
119 }
110 120
121 .agree {
122 width: 100%;
123 display: flex;
124 align-items: center;
125 // margin-top: 48px;
126 font-size: $fontSizeSmall-M2;
127 .check-icon {
128 margin-right: 8px;
129 width: 18px;
130 height: 18px;
131 }
111 } 132 }
112 133
113 .submit-btn { 134 .submit-btn {
114 width: 163px; 135 @include btc4(300px, 50px, 18px);
115 height: 49px; 136 width: 300px;
116 margin: 0 auto 0; 137 height: 50px;
117 line-height: 49px; 138 border-radius: 25px;
118 box-shadow: 0px 10px 13px 0 rgba(236, 100, 41, 0.2); 139 margin: 40px auto 0;
119 background-blend-mode: soft-light, ;
120 background-image: linear-gradient(to top, #000000, #ffffff), linear-gradient(to bottom, #ec6429, #ec6429);
121 text-align: center;
122 font-size: 15.5px;
123 color: #ffffff;
124 border-radius: 42px;
125 cursor: pointer;
126 border: none;
127 color: #ffffff;
128 background-color: #f05a23;
129 box-shadow: 0px 10px 13px 0 rgba(236, 100, 41, 0.2);
130 background-blend-mode: soft-light, ;
131 background-image: linear-gradient(to top, #000000, #ffffff), linear-gradient(to bottom, #ec6429, #ec6429);
132 } 140 }
133 141
134 .submit-btn:lang(zh) { 142 .submit-btn:lang(zh) {
...@@ -141,27 +149,23 @@ ...@@ -141,27 +149,23 @@
141 overflow-x: auto; 149 overflow-x: auto;
142 -webkit-overflow-scrolling: touch; 150 -webkit-overflow-scrolling: touch;
143 width: 92vw; 151 width: 92vw;
144
145 } 152 }
146 } 153 }
147 154
148
149 @media (max-width: 768px) { 155 @media (max-width: 768px) {
156 .container {
157 padding: 24px 16px;
158 }
150 .form { 159 .form {
151 &-item { 160 &-item {
152 .ipt-wrap { 161 .ipt-wrap {
153 display: block; 162 display: block;
154 } 163 }
155 164 .ipt-gird {
156 .agree { 165 &-item {
157 margin-top: $marginSmall-M; 166 padding: 0;
158
159 .check-icon {
160 margin-left: 0;
161 } 167 }
162 } 168 }
163
164
165 } 169 }
166 } 170 }
167 } 171 }
......
1 1
2 <template> 2 <template>
3 <div> 3 <div class="policy-change-contact">
4 <!-- 该input用于防止chrome自动填充 -->
5 <input type="password" style="display: none;" />
4 <auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true" ref="auth" :tipModel="'m2'"></auth> 6 <auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true" ref="auth" :tipModel="'m2'"></auth>
5 <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp> 7 <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp>
6 <template v-if="showForm"> 8 <template v-if="showForm">
7 <policy-head-list :multiSelectable="true" @onSelect="handlePolicySelect"></policy-head-list> 9 <policy-head-list :multiSelectable="true" @onSelect="handlePolicySelect"></policy-head-list>
10
8 <div class="container border" v-if="selectedPolicies.length > 0 && data"> 11 <div class="container border" v-if="selectedPolicies.length > 0 && data">
12 <!-- 表单 -->
9 <div class="form"> 13 <div class="form">
14 <!-- 1 -->
10 <div class="form-item"> 15 <div class="form-item">
11 <div class="label"> 16 <div class="label">
12 <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-phone.png"></div>{{$t('policyChangeContact.phone')}} 17 <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-phone.png"></div>{{$t('policyChangeContact.phone')}}
13 </div> 18 </div>
14 <div class="ipt-wrap"> 19
15 <input class="ipt mail-ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="data.mobile"> 20 <div class="gird-g ipt-gird">
16 <div class="agree" @click="checked1 = !checked1"> 21 <div class="pure-u-1 pure-u-md-6-24 ipt-gird-item">
17 <img v-if="!checked1" class="check-icon pointer" src="@/assets/images/reservation/un-check.png"> 22 <div class="ipt-wrap-linear">
18 <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png"> 23 <div class="down-arrow"></div>
19 <span>{{$t("policyChangeContact.checkTips")}}</span> 24 <div class="cont">
25 <el-select class="ipt" v-model="data.areaCode" :placeholder="$t('policyChangeContact.form.InternationalArea')">
26 <el-option v-for="(item, index) in areaCodeList" :key="index" :label="item.n" :value="item.v"></el-option>
27 </el-select>
28 </div>
29 </div>
30 <div class="validator" v-if="errorTips.e1.length > 0">
31 <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e1}}
32 </div>
20 </div> 33 </div>
21 34
35 <div class="pure-u-1 pure-u-md-8-24 ipt-gird-item">
36 <div class="ipt-wrap-linear">
37 <input class="ipt mail-ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="data.mobile" autocomplete="new-password" :placeholder="$t('policyChangeContact.form.Mobile')">
22 </div> 38 </div>
23 <div class="validator" v-if="errorTips.e1.length > 0"> 39 <div class="validator" v-if="errorTips.e1.length > 0">
24 <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e1}} 40 <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e1}}
25 </div> 41 </div>
26 </div> 42 </div>
43 </div>
44 </div>
45
46 <!-- 2 -->
27 <div class="form-item"> 47 <div class="form-item">
28 <div class="label"> 48 <div class="label">
29 <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-location.png"></div>{{$t('policyChangeContact.address')}} 49 <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-location.png"></div>{{$t('policyChangeContact.address')}}
30 </div> 50 </div>
31 <div class="ipt-wrap"> 51 <div class="gird-g ipt-gird">
32 <input class="ipt mail-ipt" type="text" :class="{err : errorTips.e2.length > 0}" v-model="data.address"> 52 <div class="pure-u-1 pure-u-md-6-24 ipt-gird-item">
33 <div class="agree" @click="checked2 = !checked2"> 53 <div class="ipt-wrap-linear">
34 <img v-if="!checked2" class="check-icon pointer" src="@/assets/images/reservation/un-check.png"> 54 <div class="down-arrow"></div>
35 <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png"> 55 <div class="cont">
36 <span>{{$t("policyChangeContact.checkTips")}}</span> 56 <el-select class="ipt" v-model="data.countryCode" :placeholder="$t('policyChangeContact.form.Nation')">
57 <el-option v-for="(item, index) in countryList" :key="index" :label="item.n" :value="item.v"></el-option>
58 </el-select>
37 </div> 59 </div>
38 </div> 60 </div>
39 <div class="validator" v-if="errorTips.e2.length > 0"> 61 <div class="validator" v-if="errorTips.e2.length > 0">
40 <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}} 62 <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}}
41 </div> 63 </div>
42 </div> 64 </div>
65
66 <div class="pure-u-1 pure-u-md-6-24 ipt-gird-item">
67 <div class="ipt-wrap-linear">
68 <input class="ipt" type="text" :class="{err : errorTips.e2.length > 0}" v-model="data.address" autocomplete="new-password" :placeholder="$t('policyChangeContact.form.District')">
69 </div>
70 <div class="validator" v-if="errorTips.e2.length > 0">
71 <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}}
72 </div>
73 </div>
74
75 <div class="pure-u-1 pure-u-md-12-24 ipt-gird-item">
76 <div class="ipt-wrap-linear">
77 <input class="ipt" type="text" :class="{err : errorTips.e2.length > 0}" v-model="data.address" autocomplete="new-password" :placeholder="$t('policyChangeContact.form.Address')">
78 </div>
79 <div class="validator" v-if="errorTips.e2.length > 0">
80 <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}}
81 </div>
82 </div>
83
84 </div>
85 </div>
86
87 <!-- 3 -->
43 <div class="form-item"> 88 <div class="form-item">
44 <div class="label"> 89 <div class="label">
45 <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-mail.png"></div>{{$t('policyChangeContact.email')}} 90 <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-mail.png"></div>{{$t('policyChangeContact.email')}}
46 </div> 91 </div>
47 <div class="ipt-wrap"> 92 <div class="gird-g ipt-gird">
48 <input class="ipt mail-ipt" type="text" :class="{err : errorTips.e3.length > 0}" v-model="data.email"> 93 <div class="pure-u-1 ipt-gird-item">
49 <div class="agree" @click="checked3 = !checked3"> 94 <div class="pure-u-1 pure-u-md-12-24 ipt-wrap-linear">
50 <img v-if="!checked3" class="check-icon pointer" src="@/assets/images/reservation/un-check.png"> 95 <input class="ipt" type="text" :class="{err : errorTips.e3.length > 0}" v-model="data.email" autocomplete="new-password" :placeholder="$t('policyChangeContact.form.Mail')">
51 <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png">
52 <span>{{$t("policyChangeContact.checkTips")}}</span>
53 </div>
54 </div> 96 </div>
55
56 <div class="validator" v-if="errorTips.e3.length > 0"> 97 <div class="validator" v-if="errorTips.e3.length > 0">
57 <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e3}} 98 <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e3}}
58 </div> 99 </div>
59 </div> 100 </div>
60 <div class="submit-btn flex-center" @click="updateContactsHandler" :class="{disabled: submitBtnDisabled}"> 101 </div>
102
103 </div>
104 <div class="agree" @click="checked1 = !checked1">
105 <img v-if="!checked1" class="check-icon pointer" src="@/assets/images/reservation/un-check.png">
106 <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png">
107 <span>{{$t("policyChangeContact.checkTips")}}</span>
108 </div>
109
110 <div class="submit-btn" @click="updateContactsHandler" :class="{disabled: submitBtnDisabled}">
61 <van-loading v-if="loading" /> 111 <van-loading v-if="loading" />
62 <span>{{$t('policyChangeContact.submit')}}</span> 112 <span>{{$t('policyChangeContact.submit')}}</span>
63 </div> 113 </div>
64 </div> 114 </div>
65 115
66 </div> 116 </div>
67 <!-- <div v-else style="height:400px"></div> -->
68 </template> 117 </template>
69 </div> 118 </div>
70 </template> 119 </template>
......
1 /**
2 * 组件描述:保单查询列表
3 */
4
5 import api from '@/api/api';
6 import {
7 httpPost,
8 requestDomain
9 } from '@/api/fetch-api.js';
10
11 import {
12 mapState
13 } from 'vuex';
14 import {
15 formatMoney,
16 getInsuredPeriod,
17 getInsuredState,
18 getPolicyName
19 } from "@/utils/biz.js";
20 import Modal2Comp from '@/components/modal2-comp/modal2-comp.vue';
21
22 export default {
23 props: {
24 multiSelectable: {
25 type: Boolean,
26 default: false
27 },
28 model: {
29 type: String,
30 default: "download"
31 },
32 },
33 name: "PolicyHeadList",
34 data() {
35 return {
36 myPolicyList: [],
37 maxShow: 2,
38 selectPolicyCode: "",
39 selectPolicyCodes: {},
40 hide: false,
41 showDownloadError: false
42 }
43 },
44 computed: {
45 ...mapState({
46 policyList: state => state.policyList
47 }),
48 lan() {
49 return this.$i18n.locale;
50 },
51 i18n() {
52 return this.$i18n.messages && this.$i18n.locale ? this.$i18n.messages[this.$i18n.locale] : {};
53 },
54 },
55 methods: {
56 onShowTipsOverHandler(event, item, index) {
57 let child = event.currentTarget.childNodes[0];
58 child.style.display = "block";
59 },
60 onShowTipsOutHandler(event, item, index) {
61 let child = event.currentTarget.childNodes[0];
62 child.style.display = "none";
63 },
64 toContactUs() {
65 this.$router.push({
66 path: "/custom/service",
67 query: {
68 q: "m1"
69 }
70 });
71 },
72 queryList() {
73 if (this.policyList && this.policyList.length > 0) {
74 this.myPolicyList = this.policyList;
75 this.myPolicyList.forEach(element => {
76 element.activity = false;
77 })
78 this.initSelected();
79 } else {
80 this.checkCustomer().then(() => {
81 httpPost({
82 url: api.policyList,
83 sid: true
84 }).then(res => {
85 if (!res || res.length == 0) {
86 this.myPolicyList = null;
87 } else {
88 res.forEach(element => {
89 element.activity = false;
90 // let len = element.policyCode.length;
91 // element.policyCodeStr = element.policyCode && len > 5 ?
92 // element.policyCode.substring(0, 2) + "**********"
93 // + element.policyCode.substring(len - 4, len) : element.policyCode;
94 });
95 this.$store.commit("CACHE_POLICY_LIST", res);
96 this.myPolicyList = res;
97 }
98 this.initSelected();
99 }).catch(e => {
100 this.myPolicyList = null;
101 switch (e.code) {
102 case "2002":
103 // 不是客户,没有购买保单
104 break;
105 }
106 });
107 });
108
109 }
110 },
111 initSelected() {
112 let selectPolicy = null;
113 try {
114 let data = sessionStorage.getItem("_hklife_policy");
115 if (data) {
116 sessionStorage.removeItem("_hklife_policy");
117 selectPolicy = JSON.parse(decodeURIComponent(data));
118 if (selectPolicy) {
119 if (this.multiSelectable) {
120 this.selectPolicyCodes[selectPolicy.code] = selectPolicy;
121 } else {
122 this.selectPolicyCode = selectPolicy.code;
123 }
124 this.$emit("onSelect", [selectPolicy]);
125
126 // 判断最大显示
127 let index = -1;
128 for (let i = 0; i < this.myPolicyList.length; i++) {
129 if (selectPolicy.code == this.myPolicyList[i].policyCode) {
130 this.myPolicyList[i].activity = true;
131 index = i;
132 }
133 }
134 this.$set(this, "myPolicyList", this.myPolicyList);
135 if (index > 2) {
136 this.maxShow = this.myPolicyList.length;
137 }
138 }
139 }
140 } catch (e) {
141
142 }
143 if (!selectPolicy) {
144 let firstPolicy = this.myPolicyList[0];
145 this.myPolicyList[0].activity = true;
146 selectPolicy = {
147 id: firstPolicy.policyId,
148 code: firstPolicy.policyCode
149 };
150 if (this.multiSelectable) {
151 this.selectPolicyCodes[selectPolicy.code] = selectPolicy;
152 } else {
153 this.selectPolicyCode = selectPolicy.code;
154 }
155 this.$emit("onSelect", [selectPolicy]);
156 }
157 },
158 handlePolicySelect(item, index) {
159 let code = item.policyCode;
160 if (this.multiSelectable) {
161 let c = this.selectPolicyCodes[code];
162 if (!c || typeof c == "undefined") {
163 item.activity = true;
164 this.selectPolicyCodes[code] = {
165 code: code,
166 id: item.policyId
167 };
168 } else {
169 item.activity = false;
170 delete this.selectPolicyCodes[code];
171 }
172 // this.$set(this, 'myPolicyList', this.myPolicyList);
173 let data = [];
174 for (let key in this.selectPolicyCodes) {
175 data.push(this.selectPolicyCodes[key]);
176 }
177 this.$emit("onSelect", data);
178 } else {
179 if (code != this.selectPolicyCode) {
180 this.selectPolicyCode = code;
181 this.$emit("onSelect", [{
182 code: code,
183 id: item.policyId
184 }]);
185 }
186 }
187 },
188 isPolicySelect(item, index) {
189 let code = item.policyCode;
190 if (this.multiSelectable) {
191 let c = this.selectPolicyCodes[code];
192 if (!c || typeof c == "undefined") {
193 return false;
194 } else {
195 return true;
196 }
197 }
198 return false;
199 },
200 checkCustomer() {
201 return new Promise(resolve => {
202 resolve();
203 // httpPost({ url: api.profile, sid: true }).then(res => {
204 // if (res.isCustomer == 1) {
205 // resolve();
206 // } else {
207 // this.gotoCustomerAuthPage();
208 // }
209 // }).catch(res => {
210
211 // });
212 });
213 },
214 gotoCustomerAuthPage() {
215 let c = this.$route.fullPath;
216 this.$router.push({
217 name: "customerAuth",
218 query: {
219 c: c
220 }
221 });
222 },
223 formatMoney(s, t) {
224 if (typeof t == "undefined") {
225 t = 1;
226 }
227 return formatMoney(s, t);
228 },
229 // 保障年限,保n年
230 formatInsuredPeriod(t, v) {
231 return getInsuredPeriod(this.$i18n.locale, t, v);
232 },
233 formatInsuredState(c) {
234 return getInsuredState(this.$i18n.locale, c);
235 },
236 formatPolicyName(c, n) {
237 return getPolicyName(this.$i18n.locale, c, n);
238 },
239 downloadPolicy(policy) {
240 if (policy) {
241 httpPost({
242 url: api.getDownloadPath,
243 sid: true,
244 data: {
245 policyCode: policy.policyCode
246 }
247 }).then(res => {
248 if (res) {
249 let url = requestDomain() + api.downloadPolicy + "/" + res;
250 window.open(url);
251 } else {
252 this.showDownloadError = true;
253 }
254 });
255 }
256 }
257 },
258 components: {
259 Modal2Comp
260 },
261 mounted() {
262 this.queryList();
263 },
264 }
1 @import '@/styles/_support.scss';
2
3 .list-container {
4 overflow-x: auto;
5 margin-bottom: 24px;
6 }
7
8 .hide {
9 max-height: 0;
10 border-bottom: none;
11 }
12
13 .table-contaner {
14 position: relative;
15 }
16
17 .download {
18 position: relative;
19
20 &-tips {
21 display: none;
22 position: absolute;
23 top: -3px;
24 left: 20px;
25 z-index: 11;
26 padding: 2px;
27 @include border-tans();
28 min-width: 80px;
29 }
30 }
31
32 .guide {
33 position: absolute;
34 transition: all 0.5s;
35 cursor: pointer;
36 width: 12px;
37 height: 8px;
38 background: url("~@/assets/images/insurance-query/triangle-down2.png") no-repeat center center;
39 background-size: 100% 100%;
40 top: 16px;
41 right: 26px;
42 }
43
44 .rotate180 {
45 transform: rotate(180deg);
46 transition: all 0.5s;
47 }
48
49 .cell-group {
50 margin-bottom: 12px;
51
52 &:last-child {
53 margin-bottom: 0;
54 }
55
56 div {
57 color: #4c4948;
58 }
59
60 .w1 {
61 // width: 120px;
62 width: 240px;
63 text-align: center;
64 }
65
66 .w2 {
67 // width: 75px;
68 width: 150px;
69 text-align: center;
70 }
71
72 .table-header {
73 // width: 770px;
74 height: 39px;
75 border-top-left-radius: 8px;
76 border-top-right-radius: 8px;
77 background-color: #f2f2f2;
78 display: flex;
79 align-items: center;
80
81 .normal-header {
82 // width: 706px;
83 @extend .bb;
84 padding: 0 32px;
85 width: 100%;
86 margin: auto;
87 display: flex;
88 justify-content: space-between;
89 align-items: center;
90
91 .title {
92 font-weight: bold;
93 color: #575453;
94 }
95
96 .guide {
97 transition: all 0.5s;
98 cursor: pointer;
99 width: 12px;
100 height: 8px;
101 background: url("~@/assets/images/insurance-query/triangle-down.png") no-repeat center center;
102 background-size: 100% 100%;
103 }
104
105 .rotate180 {
106 transform: rotate(180deg);
107 transition: all 0.5s;
108 }
109 }
110 }
111
112 .table-content {
113 // width: 770px;
114
115 height: auto;
116 max-height: 600px;
117 // display: inline-block;
118 border-bottom-left-radius: 8px;
119 border-bottom-right-radius: 8px;
120 border-left: solid 1px #f2f2f2;
121 border-right: solid 1px #f2f2f2;
122 border-bottom: solid 1px #f2f2f2;
123 padding: 0 32px;
124 transition: max-height ease-out 0.3s !important;
125 overflow: auto;
126
127 .data-line {
128 // padding: 0 32px;
129 height: 50px;
130 margin: auto;
131 display: flex;
132 justify-content: space-between;
133 align-items: center;
134
135 .td {
136 display: flex;
137 justify-content: center;
138 align-items: center;
139
140
141 }
142
143 .cell1 {
144 width: 98%;
145 display: flex;
146 justify-content: space-between;
147 margin: auto;
148 }
149
150 .separator-v {
151 height: 30px;
152 width: 2px;
153 background-color: #f2f2f2;
154 margin: 0 11px;
155 }
156 }
157
158 .label span {
159 color: $cOrange;
160 margin-left: 7px;
161 cursor: pointer;
162 text-decoration: underline;
163 }
164
165 .separator-h {
166 width: 100%;
167 height: 1px;
168 background-color: #f2f2f2;
169 }
170 }
171
172 .orange {
173 background-color: $cOrange;
174
175 div {
176 color: #ffffff;
177 }
178 }
179
180 .hide {
181 max-height: 0;
182 border-bottom: none;
183 }
184
185 .sp {
186 text-decoration: underline;
187 padding: 0 4.8px;
188 }
189
190 .ac {
191 color: $cOrange !important;
192 }
193 }
194
195 .show-more-btn {
196 width: 100%;
197 color: $cOrange !important;
198 text-decoration: underline;
199 cursor: pointer;
200 justify-content: center !important;
201 }
202
203 .pointer {
204 cursor: pointer;
205 }
206
207 .activity {
208 background-color: $cOrange !important;
209 opacity: .5;
210
211 div {
212 color: #FFFFFF !important;
213 }
214 }
215
216 .empty {
217 height: 500px;
218 display: flex;
219 align-items: center;
220 justify-content: center;
221
222 .tips {
223 align-items: center;
224 display: flex;
225
226 .icon {
227 margin-right: 5px;
228 display: inline-block;
229 }
230
231 .btn {
232 color: $cOrange;
233 }
234 }
235 }
236
1 <template>
2 <div class="list-container">
3 <modal2-comp :visible="showDownloadError" :close="()=>{showDownloadError = false}" :content="$t('glbalTips.sysError')"></modal2-comp>
4 <div class="cell-group">
5 <div class="table-contaner">
6 <div class="table-header orange" >
7 <div class="normal-header">
8 <div class="td w1">{{$t('customService.insuranceQuery.InsurantNumber')}}</div>
9 <div class="td w2">{{$t('customService.insuranceQuery.policyState')}}</div>
10 <div class="td w2">{{$t('customService.insuranceQuery.activeDate')}}</div>
11 <div class="td w2">{{$t('customService.insuranceQuery.Insurant')}}</div>
12 <div class="td w1">{{$t('customService.insuranceQuery.InsurantName')}}</div>
13 <div class="td w2">{{$t('customService.insuranceQuery.InsurantAmount')}}</div>
14 <div class="td w2">{{$t('customService.insuranceQuery.effectiveDate')}}</div>
15 <div class="td w2">{{$t('customService.insuranceQuery.period')}}</div>
16 </div>
17 </div>
18 <div class="guide" :class="{rotate180 : hide}" @click="hide = !hide"></div>
19 </div>
20 <div class="table-content" :class="{hide : hide}">
21 <template v-if="myPolicyList">
22 <div v-for="(item,index) in myPolicyList" :key="index">
23 <template v-if="index < maxShow">
24 <div class="data-line" @click="handlePolicySelect(item,index)">
25 <div class="td w1 pointer">
26 <template v-if="multiSelectable">
27 <img v-if="item.activity" class="icon-check pointer" src="@/assets/images/insurance-query/check.png">
28 <img v-else class="icon-check pointer" src="@/assets/images/insurance-query/un-check.png">
29 <span class="sp" :class="{ac: item.activity}">{{item.policyCode}}</span>
30 </template>
31 <template v-else>
32 <template v-if="model != 'download'">
33 <img v-if="selectPolicyCode == item.policyCode" class="icon-check pointer" src="@/assets/images/insurance-query/check.png">
34 <img v-else class="icon-check pointer" src="@/assets/images/insurance-query/un-check.png">
35 </template>
36 <span class="sp" :class="{ac: selectPolicyCode == item.policyCode}">{{item.policyCode}}</span>
37 <template v-if="model == 'download'">
38 <div class="download" @mouseover="onShowTipsOverHandler($event,item,index)" @mouseout="onShowTipsOutHandler($event,item,index)" @click="downloadPolicy(item)">
39 <div class="download-tips">
40 <div class="cont">{{$t('customService.insuranceQuery.downloadClick')}}</div>
41 </div>
42 <img class="icon-download" src="@/assets/images/insurance-query/icon-down-load.png" alt="">
43 </div>
44 </template>
45 </template>
46 </div>
47
48 <div class="td w2">{{formatInsuredState(item.policyState)}}</div>
49 <div class="td w2">{{item.activeDate?item.activeDate.split(" ")[0]:""}}</div>
50 <div class="td w2">{{lan == 'en' ? (item.insuredNameEn ? item.insuredNameEn : item.insuredNameCn) : (item.insuredNameCn ? item.insuredNameCn : item.insuredNameEn)}}</div>
51 <div class="td w1">{{formatPolicyName(item.productCode, item.productName)}}</div>
52 <div class="td w2">{{item.moneyCode}} {{formatMoney(item.amount,0)}}</div>
53 <div class="td w2">{{item.expireAt?item.expireAt.split(" ")[0]:""}}</div>
54 <!-- <div class="td w2">{{item.guaranteeAge?item.guaranteeAge.split(" ")[0]:""}}</div> -->
55 <div class="td w2">{{formatInsuredPeriod(item.insuredPeriodType,item.insuredPeriodValue)}}</div>
56
57 </div>
58 <div class="separator-h" v-if="index < myPolicyList.length - 1 && index < maxShow - 1"></div>
59 </template>
60 </div>
61 <template v-if="!policyList || maxShow < policyList.length">
62 <div class="separator-h"></div>
63 <div class="data-line show-more-btn" @click="maxShow = policyList.length">{{$t('customService.insuranceQuery.showMore')}}</div>
64 </template>
65 </template>
66
67 <template v-else>
68 <div class="empty">
69 <div class="tips">
70 <img class="icon" src="@/assets/images/common/icon-alert-i.png" alt="">
71 <div class="txt">
72 {{$t('customService.insuranceQuery.noPolicy')}}
73 <span class="pointer btn" @click="toContactUs">{{$t('customService.insuranceQuery.customService')}}</span>
74 </div>
75 </div>
76 </div>
77 </template>
78 </div>
79 </div>
80 </div>
81 </template>
82
83
84 <script src="./policy-head-list.js"></script>
85 <style lang="scss" scoped>
86 @import "./policy-head-list.scss";
87 </style>
1 @import '@/styles/_support.scss'; 1 @import "@/styles/_support.scss";
2
3 .list-container { 2 .list-container {
4 overflow-x: auto; 3 overflow-x: auto;
5 margin-bottom: 24px; 4 margin-bottom: 24px;
5 font-size: $fontSize-M2;
6 } 6 }
7 7
8 .hide { 8 .hide {
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
16 16
17 .download { 17 .download {
18 position: relative; 18 position: relative;
19
20 &-tips { 19 &-tips {
21 display: none; 20 display: none;
22 position: absolute; 21 position: absolute;
...@@ -35,7 +34,8 @@ ...@@ -35,7 +34,8 @@
35 cursor: pointer; 34 cursor: pointer;
36 width: 12px; 35 width: 12px;
37 height: 8px; 36 height: 8px;
38 background: url("~@/assets/images/insurance-query/triangle-down2.png") no-repeat center center; 37 background: url("~@/assets/images/insurance-query/triangle-down2.png")
38 no-repeat center center;
39 background-size: 100% 100%; 39 background-size: 100% 100%;
40 top: 16px; 40 top: 16px;
41 right: 26px; 41 right: 26px;
...@@ -48,36 +48,30 @@ ...@@ -48,36 +48,30 @@
48 48
49 .cell-group { 49 .cell-group {
50 margin-bottom: 12px; 50 margin-bottom: 12px;
51
52 &:last-child { 51 &:last-child {
53 margin-bottom: 0; 52 margin-bottom: 0;
54 } 53 }
55
56 div { 54 div {
57 color: #4c4948; 55 color: #4c4948;
58 } 56 }
59
60 .w1 { 57 .w1 {
61 // width: 120px; 58 // width: 120px;
62 width: 240px; 59 width: 240px;
63 text-align: center; 60 text-align: center;
64 } 61 }
65
66 .w2 { 62 .w2 {
67 // width: 75px; 63 // width: 75px;
68 width: 150px; 64 width: 150px;
69 text-align: center; 65 text-align: center;
70 } 66 }
71
72 .table-header { 67 .table-header {
73 // width: 770px; 68 // width: 770px;
74 height: 39px; 69 height: 50px;
75 border-top-left-radius: 8px; 70 border-top-left-radius: 8px;
76 border-top-right-radius: 8px; 71 border-top-right-radius: 8px;
77 background-color: #f2f2f2; 72 background-color: #f2f2f2;
78 display: flex; 73 display: flex;
79 align-items: center; 74 align-items: center;
80
81 .normal-header { 75 .normal-header {
82 // width: 706px; 76 // width: 706px;
83 @extend .bb; 77 @extend .bb;
...@@ -87,31 +81,27 @@ ...@@ -87,31 +81,27 @@
87 display: flex; 81 display: flex;
88 justify-content: space-between; 82 justify-content: space-between;
89 align-items: center; 83 align-items: center;
90
91 .title { 84 .title {
92 font-weight: bold; 85 font-weight: bold;
93 color: #575453; 86 color: #575453;
94 } 87 }
95
96 .guide { 88 .guide {
97 transition: all 0.5s; 89 transition: all 0.5s;
98 cursor: pointer; 90 cursor: pointer;
99 width: 12px; 91 width: 12px;
100 height: 8px; 92 height: 8px;
101 background: url("~@/assets/images/insurance-query/triangle-down.png") no-repeat center center; 93 background: url("~@/assets/images/insurance-query/triangle-down.png")
94 no-repeat center center;
102 background-size: 100% 100%; 95 background-size: 100% 100%;
103 } 96 }
104
105 .rotate180 { 97 .rotate180 {
106 transform: rotate(180deg); 98 transform: rotate(180deg);
107 transition: all 0.5s; 99 transition: all 0.5s;
108 } 100 }
109 } 101 }
110 } 102 }
111
112 .table-content { 103 .table-content {
113 // width: 770px; 104 // width: 770px;
114
115 height: auto; 105 height: auto;
116 max-height: 600px; 106 max-height: 600px;
117 // display: inline-block; 107 // display: inline-block;
...@@ -123,30 +113,24 @@ ...@@ -123,30 +113,24 @@
123 padding: 0 32px; 113 padding: 0 32px;
124 transition: max-height ease-out 0.3s !important; 114 transition: max-height ease-out 0.3s !important;
125 overflow: auto; 115 overflow: auto;
126
127 .data-line { 116 .data-line {
128 // padding: 0 32px; 117 // padding: 0 32px;
129 height: 50px; 118 height: 58px;
130 margin: auto; 119 margin: auto;
131 display: flex; 120 display: flex;
132 justify-content: space-between; 121 justify-content: space-between;
133 align-items: center; 122 align-items: center;
134
135 .td { 123 .td {
136 display: flex; 124 display: flex;
137 justify-content: center; 125 justify-content: center;
138 align-items: center; 126 align-items: center;
139
140
141 } 127 }
142
143 .cell1 { 128 .cell1 {
144 width: 98%; 129 width: 98%;
145 display: flex; 130 display: flex;
146 justify-content: space-between; 131 justify-content: space-between;
147 margin: auto; 132 margin: auto;
148 } 133 }
149
150 .separator-v { 134 .separator-v {
151 height: 30px; 135 height: 30px;
152 width: 2px; 136 width: 2px;
...@@ -154,39 +138,35 @@ ...@@ -154,39 +138,35 @@
154 margin: 0 11px; 138 margin: 0 11px;
155 } 139 }
156 } 140 }
157
158 .label span { 141 .label span {
159 color: $cOrange; 142 color: $cOrange;
160 margin-left: 7px; 143 margin-left: 7px;
161 cursor: pointer; 144 cursor: pointer;
162 text-decoration: underline; 145 text-decoration: underline;
163 } 146 }
164
165 .separator-h { 147 .separator-h {
166 width: 100%; 148 width: 100%;
167 height: 1px; 149 height: 2px;
168 background-color: #f2f2f2; 150 background-color: #f2f2f2;
169 } 151 }
170 } 152 }
171
172 .orange { 153 .orange {
173 background-color: $cOrange; 154 background-color: $cOrange;
174
175 div { 155 div {
176 color: #ffffff; 156 color: #ffffff;
177 } 157 }
178 } 158 }
179 159 .new {
160 @include linear-bg;
161 }
180 .hide { 162 .hide {
181 max-height: 0; 163 max-height: 0;
182 border-bottom: none; 164 border-bottom: none;
183 } 165 }
184
185 .sp { 166 .sp {
186 text-decoration: underline; 167 text-decoration: underline;
187 padding: 0 4.8px; 168 padding: 0 4.8px;
188 } 169 }
189
190 .ac { 170 .ac {
191 color: $cOrange !important; 171 color: $cOrange !important;
192 } 172 }
...@@ -206,10 +186,9 @@ ...@@ -206,10 +186,9 @@
206 186
207 .activity { 187 .activity {
208 background-color: $cOrange !important; 188 background-color: $cOrange !important;
209 opacity: .5; 189 opacity: 0.5;
210
211 div { 190 div {
212 color: #FFFFFF !important; 191 color: #ffffff !important;
213 } 192 }
214 } 193 }
215 194
...@@ -218,19 +197,24 @@ ...@@ -218,19 +197,24 @@
218 display: flex; 197 display: flex;
219 align-items: center; 198 align-items: center;
220 justify-content: center; 199 justify-content: center;
221
222 .tips { 200 .tips {
223 align-items: center; 201 align-items: center;
224 display: flex; 202 display: flex;
225
226 .icon { 203 .icon {
227 margin-right: 5px; 204 margin-right: 5px;
228 display: inline-block; 205 display: inline-block;
229 } 206 }
230
231 .btn { 207 .btn {
232 color: $cOrange; 208 color: $cOrange;
233 } 209 }
234 } 210 }
235 } 211 }
236 212
213 @media (max-width: 1200px) {
214 .list-container {
215 display: -webkit-box;
216 overflow-x: auto;
217 -webkit-overflow-scrolling: touch;
218 width: 92vw;
219 }
220 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
3 <modal2-comp :visible="showDownloadError" :close="()=>{showDownloadError = false}" :content="$t('glbalTips.sysError')"></modal2-comp> 3 <modal2-comp :visible="showDownloadError" :close="()=>{showDownloadError = false}" :content="$t('glbalTips.sysError')"></modal2-comp>
4 <div class="cell-group"> 4 <div class="cell-group">
5 <div class="table-contaner"> 5 <div class="table-contaner">
6 <div class="table-header orange" > 6 <div class="table-header orange new" >
7 <div class="normal-header"> 7 <div class="normal-header">
8 <div class="td w1">{{$t('customService.insuranceQuery.InsurantNumber')}}</div> 8 <div class="td w1">{{$t('customService.insuranceQuery.InsurantNumber')}}</div>
9 <div class="td w2">{{$t('customService.insuranceQuery.policyState')}}</div> 9 <!-- <div class="td w2">{{$t('customService.insuranceQuery.policyState')}}</div>
10 <div class="td w2">{{$t('customService.insuranceQuery.activeDate')}}</div> 10 <div class="td w2">{{$t('customService.insuranceQuery.activeDate')}}</div> -->
11 <div class="td w2">{{$t('customService.insuranceQuery.Insurant')}}</div> 11 <div class="td w2">{{$t('customService.insuranceQuery.Insurant')}}</div>
12 <div class="td w1">{{$t('customService.insuranceQuery.InsurantName')}}</div> 12 <div class="td w1">{{$t('customService.insuranceQuery.InsurantName')}}</div>
13 <div class="td w2">{{$t('customService.insuranceQuery.InsurantAmount')}}</div> 13 <div class="td w2">{{$t('customService.insuranceQuery.InsurantAmount')}}</div>
...@@ -45,8 +45,8 @@ ...@@ -45,8 +45,8 @@
45 </template> 45 </template>
46 </div> 46 </div>
47 47
48 <div class="td w2">{{formatInsuredState(item.policyState)}}</div> 48 <!-- <div class="td w2">{{formatInsuredState(item.policyState)}}</div> -->
49 <div class="td w2">{{item.activeDate?item.activeDate.split(" ")[0]:""}}</div> 49 <!-- <div class="td w2">{{item.activeDate?item.activeDate.split(" ")[0]:""}}</div> -->
50 <div class="td w2">{{lan == 'en' ? (item.insuredNameEn ? item.insuredNameEn : item.insuredNameCn) : (item.insuredNameCn ? item.insuredNameCn : item.insuredNameEn)}}</div> 50 <div class="td w2">{{lan == 'en' ? (item.insuredNameEn ? item.insuredNameEn : item.insuredNameCn) : (item.insuredNameCn ? item.insuredNameCn : item.insuredNameEn)}}</div>
51 <div class="td w1">{{formatPolicyName(item.productCode, item.productName)}}</div> 51 <div class="td w1">{{formatPolicyName(item.productCode, item.productName)}}</div>
52 <div class="td w2">{{item.moneyCode}} {{formatMoney(item.amount,0)}}</div> 52 <div class="td w2">{{item.moneyCode}} {{formatMoney(item.amount,0)}}</div>
......
1 <template> 1 <template>
2 <div class="page page-index"> 2 <div class="page page-index">
3 <!-- 该input用于防止chrome自动填充 -->
4 <input type="password" style="display: none;" />
3 <div class="banner-contaner"> 5 <div class="banner-contaner">
4 <!-- banner 轮播 --> 6 <!-- banner 轮播 -->
5 7
...@@ -9,14 +11,7 @@ ...@@ -9,14 +11,7 @@
9 <img class="banner-img" :src="item.pcBannerUrl" /> 11 <img class="banner-img" :src="item.pcBannerUrl" />
10 <div class="btn-wrap"> 12 <div class="btn-wrap">
11 <div v-for="(btnItem, btnIndex) in item.btns" :key="btnIndex"> 13 <div v-for="(btnItem, btnIndex) in item.btns" :key="btnIndex">
12 <div 14 <div class="banner-btn" v-if="btnItem.n && btnItem.t && btnItem.c" @click="btnNavigateTo(btnItem.t, btnItem.l)" :style="{ backgroundColor: btnItem.c }">{{ btnItem.n }}</div>
13 class="banner-btn"
14 v-if="btnItem.n && btnItem.t && btnItem.c"
15 @click="btnNavigateTo(btnItem.t, btnItem.l)"
16 :style="{ backgroundColor: btnItem.c }"
17 >
18 {{ btnItem.n }}
19 </div>
20 </div> 15 </div>
21 </div> 16 </div>
22 </swiper-slide> 17 </swiper-slide>
...@@ -31,15 +26,7 @@ ...@@ -31,15 +26,7 @@
31 <swiper-slide v-for="(item, index) in bannerList" :key="index"> 26 <swiper-slide v-for="(item, index) in bannerList" :key="index">
32 <img class="banner-img" :src="item.mobileBannerUrl" /> 27 <img class="banner-img" :src="item.mobileBannerUrl" />
33 <div class="btn-wrap"> 28 <div class="btn-wrap">
34 <div 29 <div class="banner-btn" v-for="(btnItem, btnIndex) in item.btns" :key="btnIndex" @click="btnNavigateTo(btnItem.t, btnItem.l)" :style="{ color: btnItem.c }">{{ btnItem.n }}&nbsp;&gt;</div>
35 class="banner-btn"
36 v-for="(btnItem, btnIndex) in item.btns"
37 :key="btnIndex"
38 @click="btnNavigateTo(btnItem.t, btnItem.l)"
39 :style="{ color: btnItem.c }"
40 >
41 {{ btnItem.n }}&nbsp;&gt;
42 </div>
43 </div> 30 </div>
44 </swiper-slide> 31 </swiper-slide>
45 <div class="swiper-pagination" slot="pagination"></div> 32 <div class="swiper-pagination" slot="pagination"></div>
...@@ -50,17 +37,7 @@ ...@@ -50,17 +37,7 @@
50 </div> 37 </div>
51 <!-- 导航菜单切换 --> 38 <!-- 导航菜单切换 -->
52 <div class="nav-tab"> 39 <div class="nav-tab">
53 <div 40 <div @click="onTabHandler(item)" v-html="item.name" v-for="item in tabList" :key="item.id" class="nav-tab-item" :class="{ 'nav-tab-item-act': item.index == curTab.index }" :style="'width: calc(100% / ' + tabList.length + ');'">{{ item.name }}</div>
54 @click="onTabHandler(item)"
55 v-html="item.name"
56 v-for="item in tabList"
57 :key="item.id"
58 class="nav-tab-item"
59 :class="{ 'nav-tab-item-act': item.index == curTab.index }"
60 :style="'width: calc(100% / ' + tabList.length + ');'"
61 >
62 {{ item.name }}
63 </div>
64 </div> 41 </div>
65 <!-- 推荐 为什么选择平安人寿 --> 42 <!-- 推荐 为什么选择平安人寿 -->
66 <div class="content recommend"> 43 <div class="content recommend">
...@@ -92,10 +69,7 @@ ...@@ -92,10 +69,7 @@
92 </div> 69 </div>
93 70
94 <!-- 线上报价 --> 71 <!-- 线上报价 -->
95 <div 72 <div class="quote" :style="'background: url(' + quoteBgUrl + ') center no-repeat;'">
96 class="quote"
97 :style="'background: url(' + quoteBgUrl + ') center no-repeat;'"
98 >
99 <div class="space1"></div> 73 <div class="space1"></div>
100 <div class="tit">線上報價 閃速投保</div> 74 <div class="tit">線上報價 閃速投保</div>
101 <div class="tit2"> 75 <div class="tit2">
...@@ -106,32 +80,16 @@ ...@@ -106,32 +80,16 @@
106 <!-- tab表格 --> 80 <!-- tab表格 -->
107 <div class="table"> 81 <div class="table">
108 <div class="table-tab"> 82 <div class="table-tab">
109 <div 83 <div @click="onTabHandler(item)" v-html="item.name" v-for="(item, index) in tabList" :key="item.id" class="table-tab-item" :class="{ 'table-tab-item-act': item.index == curTab.index }" :style="
110 @click="onTabHandler(item)"
111 v-html="item.name"
112 v-for="(item, index) in tabList"
113 :key="item.id"
114 class="table-tab-item"
115 :class="{ 'table-tab-item-act': item.index == curTab.index }"
116 :style="
117 'width: calc(100% / ' + 84 'width: calc(100% / ' +
118 tabList.length + 85 tabList.length +
119 ');z-index:' + 86 ');z-index:' +
120 (tabList.length - index) + 87 (tabList.length - index) +
121 '' 88 ''
122 " 89 ">{{ item.name }}</div>
123 > 90 </div>
124 {{ item.name }} 91 <div class="linear" :style="'width: calc(100% - 29px *' + (tabList.length - 1) + ')'"></div>
125 </div> 92 <div class="table-cont" :style="'width: calc(100% - 29px *' + (tabList.length - 1) + ')'">
126 </div>
127 <div
128 class="linear"
129 :style="'width: calc(100% - 29px *' + (tabList.length - 1) + ')'"
130 ></div>
131 <div
132 class="table-cont"
133 :style="'width: calc(100% - 29px *' + (tabList.length - 1) + ')'"
134 >
135 <div @click="onPrevTabHandler()" class="arrow arrow-left"></div> 93 <div @click="onPrevTabHandler()" class="arrow arrow-left"></div>
136 <div @click="onNextTabHandler()" class="arrow arrow-right"></div> 94 <div @click="onNextTabHandler()" class="arrow arrow-right"></div>
137 95
...@@ -149,53 +107,28 @@ ...@@ -149,53 +107,28 @@
149 <div class="panel panel-right"> 107 <div class="panel panel-right">
150 <div class="func func1"> 108 <div class="func func1">
151 <div class="func1-item"> 109 <div class="func1-item">
152 <div class="k">性別</div> 110 <div class="k"> {{$t('common.Sex')}}</div>
153 <div class="gender"> 111 <div class="gender">
154 <div class="gender-item " @click="onQuoteSexHandler(1)"> 112 <div class="gender-item" @click="onQuoteSexHandler(1)">
155 男性 113 {{$t('common.Male')}}
156 <img 114 <img v-if="quoteData.gender == 1" src="@/assets/images/common/icon-male-act.png" alt />
157 v-if="quoteData.gender == 1" 115 <img v-else src="@/assets/images/common/icon-male.png" alt />
158 src="@/assets/images/common/icon-male-act.png"
159 alt=""
160 />
161 <img
162 v-else
163 src="@/assets/images/common/icon-male.png"
164 alt=""
165 />
166 </div> 116 </div>
167 <div class="gender-item" @click="onQuoteSexHandler(2)"> 117 <div class="gender-item" @click="onQuoteSexHandler(2)">
168 女性 118 {{$t('common.Female')}}
169 <img 119 <img v-if="quoteData.gender == 2" src="@/assets/images/common/icon-female-act.png" alt />
170 v-if="quoteData.gender == 2" 120 <img v-else src="@/assets/images/common/icon-female.png" alt />
171 src="@/assets/images/common/icon-female-act.png"
172 alt=""
173 />
174 <img
175 v-else
176 src="@/assets/images/common/icon-female.png"
177 alt=""
178 />
179 </div> 121 </div>
180 </div> 122 </div>
181 </div> 123 </div>
182 <div class="func1-item"> 124 <div class="func1-item">
183 <div class="k">年齡</div> 125 <div class="k">{{$t('common.Age')}}</div>
184 <div class="age"> 126 <div class="age">
185 <div class="ipt-wrap-linear"> 127 <div class="ipt-wrap-linear">
186 <div class="down-arrow"></div> 128 <div class="down-arrow"></div>
187 <div class="cont"> 129 <div class="cont">
188 <el-select 130 <el-select class="ipt" v-model="formData.gender" :placeholder="$t('common.Age')">
189 class="ipt" 131 <el-option v-for="(item, index) in 100" :key="index" :label="item" :value="item"></el-option>
190 v-model="formData.gender"
191 :placeholder="'年龄'"
192 >
193 <el-option
194 v-for="(item, index) in 100"
195 :key="index"
196 :label="item"
197 :value="item"
198 ></el-option>
199 </el-select> 132 </el-select>
200 </div> 133 </div>
201 </div> 134 </div>
...@@ -205,9 +138,10 @@ ...@@ -205,9 +138,10 @@
205 </div> 138 </div>
206 </div> 139 </div>
207 </div> 140 </div>
208 <div class="quote-btn">立即報價</div> 141 <div class="quote-btn">{{$t('index.quote.quote')}}</div>
209 <div class="customer-service"> 142 <div class="customer-service">
210 我想<span @click="toContactUs" class="udl pointer">聯絡客服</span> 143 {{$t('index.quote.want')}}
144 <span @click="toContactUs" class="udl pointer">{{$t('index.quote.service')}}</span>
211 </div> 145 </div>
212 </div> 146 </div>
213 147
...@@ -215,16 +149,9 @@ ...@@ -215,16 +149,9 @@
215 <div class="contact"> 149 <div class="contact">
216 <div class="box-w panel"> 150 <div class="box-w panel">
217 <div class="panel-left"> 151 <div class="panel-left">
218 <div class="t1"> 152 <div v-html="$t('index.contact.t1')" class="t1"></div>
219 如欲了解我們的產品, 153 <div v-html="$t('index.contact.t2')" class="t2"></div>
220 <br />歡迎聯絡我們。 154 <img class="pic-mobile" src="@/assets/images/index/index-mobile.png" alt />
221 </div>
222 <div class="t2">想了解更多?致電2983 8866^聯絡我們。</div>
223 <img
224 class="pic-mobile"
225 src="@/assets/images/index/index-mobile.png"
226 alt
227 />
228 </div> 155 </div>
229 <div class="panel-right"> 156 <div class="panel-right">
230 <div class="form"> 157 <div class="form">
...@@ -233,28 +160,15 @@ ...@@ -233,28 +160,15 @@
233 <div class="ipt-wrap-linear dear"> 160 <div class="ipt-wrap-linear dear">
234 <div class="down-arrow"></div> 161 <div class="down-arrow"></div>
235 <div class="cont"> 162 <div class="cont">
236 <el-select 163 <el-select class="ipt" v-model="formData.gender" :placeholder="$t('index.contact.form.Title') + '*'">
237 class="ipt" 164 <el-option v-for="(item, index) in genderList" :key="index" :label="item.n" :value="item.v"></el-option>
238 v-model="formData.gender"
239 :placeholder="$t('index.contact.form.Title') + '*'"
240 >
241 <el-option
242 v-for="(item, index) in genderList"
243 :key="index"
244 :label="item.n"
245 :value="item.v"
246 ></el-option>
247 </el-select> 165 </el-select>
248 </div> 166 </div>
249 </div> 167 </div>
250 <!-- 姓名 --> 168 <!-- 姓名 -->
251 <div class="ipt-wrap-linear name"> 169 <div class="ipt-wrap-linear name">
252 <div class="cont"> 170 <div class="cont">
253 <input 171 <input autocomplete="new-password" class="ipt" type="text" :placeholder="$t('index.contact.form.Name') + '*'" />
254 class="ipt"
255 type="text"
256 :placeholder="$t('index.contact.form.Name') + '*'"
257 />
258 </div> 172 </div>
259 </div> 173 </div>
260 </div> 174 </div>
...@@ -263,11 +177,7 @@ ...@@ -263,11 +177,7 @@
263 <!-- 联系电话 --> 177 <!-- 联系电话 -->
264 <div class="ipt-wrap-linear"> 178 <div class="ipt-wrap-linear">
265 <div class="cont"> 179 <div class="cont">
266 <input 180 <input autocomplete="new-password" class="ipt" type="text" :placeholder="$t('index.contact.form.PhoneNumber') + '*'" />
267 class="ipt"
268 type="text"
269 :placeholder="$t('index.contact.form.PhoneNumber') + '*'"
270 />
271 </div> 181 </div>
272 </div> 182 </div>
273 </div> 183 </div>
...@@ -276,11 +186,7 @@ ...@@ -276,11 +186,7 @@
276 <!-- 電郵 --> 186 <!-- 電郵 -->
277 <div class="ipt-wrap-linear"> 187 <div class="ipt-wrap-linear">
278 <div class="cont"> 188 <div class="cont">
279 <input 189 <input class="ipt" type="text" :placeholder="$t('index.contact.form.Email') + '*'" />
280 class="ipt"
281 type="text"
282 :placeholder="$t('index.contact.form.Email') + '*'"
283 />
284 </div> 190 </div>
285 </div> 191 </div>
286 </div> 192 </div>
...@@ -290,20 +196,13 @@ ...@@ -290,20 +196,13 @@
290 <div class="ipt-wrap-linear"> 196 <div class="ipt-wrap-linear">
291 <div class="down-arrow"></div> 197 <div class="down-arrow"></div>
292 <div class="cont"> 198 <div class="cont">
293 <date-picker 199 <date-picker class="ipt-date" :formatter="'dd-MM-yyyy'" :placeholder="$t('index.contact.form.Time') + '*'" v-model="formData.birthDate" :filtModel="['future']" :cusStyle="{
294 class="ipt-date"
295 :formatter="'dd-MM-yyyy'"
296 :placeholder="$t('index.contact.form.Time') + '*'"
297 v-model="formData.birthDate"
298 :filtModel="['future']"
299 :cusStyle="{
300 border: 'none !important', 200 border: 'none !important',
301 'background-color': 'transparent !important', 201 'background-color': 'transparent !important',
302 padding: '16px 24px', 202 padding: '16px 24px',
303 color: '#606266', 203 color: '#606266',
304 'text-align': 'center' 204 'text-align': 'center'
305 }" 205 }"></date-picker>
306 ></date-picker>
307 </div> 206 </div>
308 </div> 207 </div>
309 </div> 208 </div>
...@@ -312,21 +211,17 @@ ...@@ -312,21 +211,17 @@
312 <!-- 查詢事項 --> 211 <!-- 查詢事項 -->
313 <div class="ipt-wrap-linear"> 212 <div class="ipt-wrap-linear">
314 <div class="cont"> 213 <div class="cont">
315 <textarea 214 <textarea class="ipt textarea" :placeholder="$t('index.contact.form.Inquiry')"></textarea>
316 class="ipt textarea"
317 :placeholder="$t('index.contact.form.Inquiry')"
318 ></textarea>
319 </div> 215 </div>
320 </div> 216 </div>
321 </div> 217 </div>
322 </div> 218 </div>
323 <!-- 错误提示 --> 219 <!-- 错误提示 -->
324 <div class="err-tips"> 220 <div class="err-tips">
325 <template v-if="errTips" 221 <template v-if="errTips">
326 ><img class="icon" src="@/assets/images/common/icon-alert-i.png" alt="" />{{ 222 <img class="icon" src="@/assets/images/common/icon-alert-i.png" alt />
327 errTips 223 {{ errTips }}
328 }}</template 224 </template>
329 >
330 </div> 225 </div>
331 <div class="submit-btn">{{ $t("index.contact.form.Submit") }}</div> 226 <div class="submit-btn">{{ $t("index.contact.form.Submit") }}</div>
332 </div> 227 </div>
......
...@@ -87,20 +87,20 @@ ...@@ -87,20 +87,20 @@
87 .eye-act { 87 .eye-act {
88 background-image: url("~@/assets/images/common/icon-eyes-on.png"); 88 background-image: url("~@/assets/images/common/icon-eyes-on.png");
89 } 89 }
90 }
91 90
92 .ipt:focus { 91 .ipt:focus {
93 border-color: $cOrange !important; 92 border-color: $cOrange !important;
94 } 93 }
95 94
96 .ipt.err { 95 .ipt.err {
97 border-color: $cOrange !important; 96 border-color: $cOrange !important;
98 } 97 }
99 98
100 .err { 99 .err {
101 .ipt { 100 .ipt {
102 border-color: $cOrange !important; 101 border-color: $cOrange !important;
103 } 102 }
103 }
104 } 104 }
105 105
106 // 输入框 106 // 输入框
...@@ -122,7 +122,7 @@ ...@@ -122,7 +122,7 @@
122 flex: 1; 122 flex: 1;
123 display: flex; 123 display: flex;
124 align-items: center; 124 align-items: center;
125 font-size: 22px; 125 font-size: 18px;
126 color: $cFontGray2; 126 color: $cFontGray2;
127 127
128 &:lang(zh) { 128 &:lang(zh) {
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
17 } 17 }
18 18
19 // 超过多少行自动省略 默认一行 19 // 超过多少行自动省略 默认一行
20 @mixin ellipsis($line:1) { 20 @mixin ellipsis($line: 1) {
21 display: -webkit-box; 21 display: -webkit-box;
22 word-break: break-all; 22 word-break: break-all;
23 -webkit-box-orient: vertical; 23 -webkit-box-orient: vertical;
...@@ -50,13 +50,11 @@ ...@@ -50,13 +50,11 @@
50 50
51 // 清除浮动 51 // 清除浮动
52 @mixin clearfix() { 52 @mixin clearfix() {
53
54 &:before, 53 &:before,
55 &:after { 54 &:after {
56 content: " "; // 1 55 content: " "; // 1
57 display: table; // 2 56 display: table; // 2
58 } 57 }
59
60 &:after { 58 &:after {
61 clear: both; 59 clear: both;
62 } 60 }
...@@ -101,9 +99,8 @@ ...@@ -101,9 +99,8 @@
101 border: 0; 99 border: 0;
102 } 100 }
103 101
104
105 // 橙色按钮 102 // 橙色按钮
106 @mixin btc2($wid:63px, $hei:30px, $fontSize:12px) { 103 @mixin btc2($wid: 63px, $hei: 30px, $fontSize: 12px) {
107 width: $wid; 104 width: $wid;
108 height: $hei; 105 height: $hei;
109 line-height: $hei; 106 line-height: $hei;
...@@ -119,11 +116,9 @@ ...@@ -119,11 +116,9 @@
119 background-blend-mode: soft-light; 116 background-blend-mode: soft-light;
120 background-image: linear-gradient(to bottom, #ec6429, #ec6429), linear-gradient(to top, #000000, #ffffff); 117 background-image: linear-gradient(to bottom, #ec6429, #ec6429), linear-gradient(to top, #000000, #ffffff);
121 // background-image: linear-gradient(to top, #000000, #ffffff), linear-gradient(to bottom, #ec6429, #ec6429); 118 // background-image: linear-gradient(to top, #000000, #ffffff), linear-gradient(to bottom, #ec6429, #ec6429);
122
123 } 119 }
124 120
125 121 @mixin btc3($wid: 63px, $hei: 30px, $fontSize: 12px) {
126 @mixin btc3($wid:63px, $hei:30px, $fontSize:12px) {
127 width: $wid; 122 width: $wid;
128 height: $hei; 123 height: $hei;
129 line-height: $hei; 124 line-height: $hei;
...@@ -134,7 +129,7 @@ ...@@ -134,7 +129,7 @@
134 border: solid 1px #006441; 129 border: solid 1px #006441;
135 } 130 }
136 131
137 @mixin btc4($wid:288px, $hei:60px, $fontSize:12px) { 132 @mixin btc4($wid: 288px, $hei: 60px, $fontSize: 18px) {
138 width: $wid; 133 width: $wid;
139 height: $hei; 134 height: $hei;
140 line-height: $hei; 135 line-height: $hei;
...@@ -148,14 +143,12 @@ ...@@ -148,14 +143,12 @@
148 letter-spacing: 1.4px; 143 letter-spacing: 1.4px;
149 } 144 }
150 145
151 146 @mixin content-percent($percent: 4%) {
152 @mixin content-percent($percent:4%) {
153 box-sizing: border-box; 147 box-sizing: border-box;
154 padding: 0 $percent; 148 padding: 0 $percent;
155
156 } 149 }
157 150
158 @mixin border-tans($borderRadius:1px, $borderSize:2px) { 151 @mixin border-tans($borderRadius: 1px, $borderSize: 2px) {
159 border: $borderSize solid transparent; 152 border: $borderSize solid transparent;
160 background-clip: padding-box, border-box; 153 background-clip: padding-box, border-box;
161 background-origin: padding-box, border-box; 154 background-origin: padding-box, border-box;
......
...@@ -60,3 +60,8 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts"; ...@@ -60,3 +60,8 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts";
60 font-size: 22px; 60 font-size: 22px;
61 font-weight: bold; 61 font-weight: bold;
62 } 62 }
63
64 .policy-change-contact .el-input__inner {
65 font-size: 18px;
66 color: $cFontGray2;
67 }
......