基本功能調整
Showing
23 changed files
with
730 additions
and
479 deletions
... | @@ -47,7 +47,7 @@ export default { | ... | @@ -47,7 +47,7 @@ export default { |
47 | let userInfo = JSON.parse(decodeURIComponent(userInfoStr)); | 47 | let userInfo = JSON.parse(decodeURIComponent(userInfoStr)); |
48 | this.$store.commit("SET_USER_INFO", userInfo); | 48 | this.$store.commit("SET_USER_INFO", userInfo); |
49 | if (userInfo && userInfo.sid) { | 49 | if (userInfo && userInfo.sid) { |
50 | httpPost({ url: api.profile, sidStr: userInfo.sid }).then(res => { | 50 | httpPost({ url: api.baseInfo, sidStr: userInfo.sid }).then(res => { |
51 | if (res) { | 51 | if (res) { |
52 | this.$store.commit("SET_USER_INFO", userInfo); | 52 | this.$store.commit("SET_USER_INFO", userInfo); |
53 | } else { | 53 | } else { | ... | ... |
1 | module.exports = { | 1 | module.exports = { |
2 | load: "/pingan_hklife_webapi/user/load", | 2 | load: "/pingan_hklife_webapi/user/load", |
3 | logout: "/pingan_hklife_webapi/user/logout", | 3 | logout: "/pingan_hklife_webapi/user/logout", |
4 | // 基本信息 | ||
5 | baseInfo: "/pingan_hklife_webapi/user/baseInfo", | ||
4 | // 用户身份信息 | 6 | // 用户身份信息 |
5 | profile: "/pingan_hklife_webapi/user/profile", | 7 | profile: "/pingan_hklife_webapi/user/profile", |
6 | // 是否显示图形验证码接口 | 8 | // 是否显示图形验证码接口 | ... | ... |
... | @@ -15,10 +15,10 @@ module.exports = { | ... | @@ -15,10 +15,10 @@ module.exports = { |
15 | datePicker: { | 15 | datePicker: { |
16 | datePlaceholder: "please select date" | 16 | datePlaceholder: "please select date" |
17 | }, | 17 | }, |
18 | modalUploadCard:{ | 18 | modalUploadCard: { |
19 | tit:"請上傳證件資料", | 19 | tit: "請上傳證件資料", |
20 | front:"證件正面", | 20 | front: "證件正面", |
21 | back:"證件反面", | 21 | back: "證件反面", |
22 | } | 22 | } |
23 | }, | 23 | }, |
24 | nav: { | 24 | nav: { |
... | @@ -43,6 +43,12 @@ module.exports = { | ... | @@ -43,6 +43,12 @@ module.exports = { |
43 | value: "" | 43 | value: "" |
44 | }, | 44 | }, |
45 | { | 45 | { |
46 | name: "profile", | ||
47 | path: "/infomation/improve", | ||
48 | type: "auth", | ||
49 | value: "" | ||
50 | }, | ||
51 | { | ||
46 | name: "logout", | 52 | name: "logout", |
47 | path: "", | 53 | path: "", |
48 | type: "auth", | 54 | type: "auth", |
... | @@ -617,7 +623,7 @@ module.exports = { | ... | @@ -617,7 +623,7 @@ module.exports = { |
617 | } | 623 | } |
618 | }, | 624 | }, |
619 | policyChangeInformation: { | 625 | policyChangeInformation: { |
620 | title : "Change of Customer Information", | 626 | title: "Change of Customer Information", |
621 | hkClient: "HK Customer", | 627 | hkClient: "HK Customer", |
622 | yes: "是", | 628 | yes: "是", |
623 | no: "否", | 629 | no: "否", |
... | @@ -729,6 +735,14 @@ module.exports = { | ... | @@ -729,6 +735,14 @@ module.exports = { |
729 | e1: "請填寫該項內容", | 735 | e1: "請填寫該項內容", |
730 | e2: "請填寫正確的聯繫方式" | 736 | e2: "請填寫正確的聯繫方式" |
731 | } | 737 | } |
738 | }, | ||
739 | unauth: { | ||
740 | tips: "If you have a ping an all in one account account, it can help us provide better services for you", | ||
741 | or: "or", | ||
742 | login: " login", | ||
743 | register: " register", | ||
744 | baseInfoTip : "Your complete information can help us to provide you with complete services", | ||
745 | infoBtn : " Go to perfection" | ||
732 | } | 746 | } |
733 | } | 747 | } |
734 | } | 748 | } | ... | ... |
... | @@ -43,6 +43,12 @@ module.exports = { | ... | @@ -43,6 +43,12 @@ module.exports = { |
43 | value: "" | 43 | value: "" |
44 | }, | 44 | }, |
45 | { | 45 | { |
46 | name: "個人信息", | ||
47 | path: "/infomation/improve", | ||
48 | type: "auth", | ||
49 | value: "" | ||
50 | }, | ||
51 | { | ||
46 | name: "登出", | 52 | name: "登出", |
47 | path: "", | 53 | path: "", |
48 | type: "auth", | 54 | type: "auth", |
... | @@ -729,6 +735,14 @@ module.exports = { | ... | @@ -729,6 +735,14 @@ module.exports = { |
729 | e1: "請填寫該項內容", | 735 | e1: "請填寫該項內容", |
730 | e2: "請填寫正確的聯繫方式" | 736 | e2: "請填寫正確的聯繫方式" |
731 | } | 737 | } |
738 | }, | ||
739 | unauth: { | ||
740 | tips: "如您有平安一賬通賬戶,可幫助我們更好地為您提供服務", | ||
741 | or: "或", | ||
742 | login: "登錄", | ||
743 | register: "註冊", | ||
744 | baseInfoTip : "您的完整信息可幫助我們為你提供完整服務", | ||
745 | infoBtn : "前往完善" | ||
732 | } | 746 | } |
733 | } | 747 | } |
734 | } | 748 | } | ... | ... |
... | @@ -26,121 +26,127 @@ module.exports = { | ... | @@ -26,121 +26,127 @@ module.exports = { |
26 | name: "登陆", | 26 | name: "登陆", |
27 | path: "", | 27 | path: "", |
28 | list: [{ | 28 | list: [{ |
29 | name: "注册", | 29 | name: "注册", |
30 | path: "/register", | 30 | path: "/register", |
31 | type: "noAuth", | 31 | type: "noAuth", |
32 | value: "" | 32 | value: "" |
33 | }, { | 33 | }, { |
34 | name: "登陆", | 34 | name: "登陆", |
35 | path: "/login", | 35 | path: "/login", |
36 | type: "noAuth", | 36 | type: "noAuth", |
37 | value: "" | 37 | value: "" |
38 | }, | 38 | }, |
39 | { | 39 | { |
40 | name: "修改密码", | 40 | name: "修改密码", |
41 | path: "/password/reset", | 41 | path: "/password/reset", |
42 | type: "auth", | 42 | type: "auth", |
43 | value: "" | 43 | value: "" |
44 | }, | 44 | }, |
45 | { | 45 | { |
46 | name: "登出", | 46 | name: "个人信息", |
47 | path: "", | 47 | path: "/infomation/improve", |
48 | type: "auth", | 48 | type: "auth", |
49 | value: "logout" | 49 | value: "" |
50 | } | 50 | }, |
51 | { | ||
52 | name: "登出", | ||
53 | path: "", | ||
54 | type: "auth", | ||
55 | value: "logout" | ||
56 | } | ||
51 | ] | 57 | ] |
52 | }, | 58 | }, |
53 | navList: [{ | 59 | navList: [{ |
54 | name: "产品介绍", | 60 | name: "产品介绍", |
55 | path: "", | 61 | path: "", |
56 | list: [{ | 62 | list: [{ |
57 | name: "自愿医保基本计划", | 63 | name: "自愿医保基本计划", |
58 | path: "/empty" | 64 | path: "/empty" |
59 | }, | 65 | }, |
60 | { | 66 | { |
61 | name: "分红终身寿险", | 67 | name: "分红终身寿险", |
62 | path: "/product" | 68 | path: "/product" |
63 | } | ||
64 | ] | ||
65 | }, | ||
66 | { | ||
67 | name: "客户服务", | ||
68 | path: "", | ||
69 | list: [{ | ||
70 | name: "客户服务导航", | ||
71 | path: "/custom/product" | ||
72 | }, | ||
73 | { | ||
74 | name: "联系我们", | ||
75 | path: "/custom/service?q=m1" | ||
76 | }, | ||
77 | { | ||
78 | name: "缴付保费", | ||
79 | path: "/custom/service?q=m2" | ||
80 | }, | ||
81 | { | ||
82 | name: "保单查询", | ||
83 | path: "/custom/service?q=m3" | ||
84 | }, | ||
85 | { | ||
86 | name: "保单变更", | ||
87 | path: "/custom/service?q=m41" | ||
88 | }, | ||
89 | { | ||
90 | name: "理赔申请", | ||
91 | path: "/custom/service?q=m5" | ||
92 | }, | ||
93 | { | ||
94 | name: "预约服务", | ||
95 | path: "/custom/service?q=m6" | ||
96 | }, | ||
97 | { | ||
98 | name: "投诉受理", | ||
99 | path: "/custom/service?q=m7" | ||
100 | }, | ||
101 | { | ||
102 | name: "常用表格", | ||
103 | path: "/custom/service?q=m8" | ||
104 | }, | ||
105 | ] | ||
106 | }, | ||
107 | { | ||
108 | name: "关于我们", | ||
109 | path: "", | ||
110 | list: [{ | ||
111 | name: "平安人寿香港", | ||
112 | path: "/profile" | ||
113 | }, | ||
114 | { | ||
115 | name: "公司活动", | ||
116 | path: "/empty" | ||
117 | }, { | ||
118 | name: "新闻中心", | ||
119 | path: "/news/list" | ||
120 | }, | ||
121 | { | ||
122 | name: "企业社会责任", | ||
123 | path: "/empty" | ||
124 | }, | ||
125 | { | ||
126 | name: "奖项殊荣", | ||
127 | path: "/empty" | ||
128 | } | ||
129 | ] | ||
130 | }, | ||
131 | { | ||
132 | name: "加入我们", | ||
133 | path: "", | ||
134 | list: [{ | ||
135 | name: "企业文化", | ||
136 | path: "/empty" | ||
137 | }, | ||
138 | { | ||
139 | name: "事业发展机会", | ||
140 | path: "/empty" | ||
141 | }, | ||
142 | ] | ||
143 | } | 69 | } |
70 | ] | ||
71 | }, | ||
72 | { | ||
73 | name: "客户服务", | ||
74 | path: "", | ||
75 | list: [{ | ||
76 | name: "客户服务导航", | ||
77 | path: "/custom/product" | ||
78 | }, | ||
79 | { | ||
80 | name: "联系我们", | ||
81 | path: "/custom/service?q=m1" | ||
82 | }, | ||
83 | { | ||
84 | name: "缴付保费", | ||
85 | path: "/custom/service?q=m2" | ||
86 | }, | ||
87 | { | ||
88 | name: "保单查询", | ||
89 | path: "/custom/service?q=m3" | ||
90 | }, | ||
91 | { | ||
92 | name: "保单变更", | ||
93 | path: "/custom/service?q=m41" | ||
94 | }, | ||
95 | { | ||
96 | name: "理赔申请", | ||
97 | path: "/custom/service?q=m5" | ||
98 | }, | ||
99 | { | ||
100 | name: "预约服务", | ||
101 | path: "/custom/service?q=m6" | ||
102 | }, | ||
103 | { | ||
104 | name: "投诉受理", | ||
105 | path: "/custom/service?q=m7" | ||
106 | }, | ||
107 | { | ||
108 | name: "常用表格", | ||
109 | path: "/custom/service?q=m8" | ||
110 | }, | ||
111 | ] | ||
112 | }, | ||
113 | { | ||
114 | name: "关于我们", | ||
115 | path: "", | ||
116 | list: [{ | ||
117 | name: "平安人寿香港", | ||
118 | path: "/profile" | ||
119 | }, | ||
120 | { | ||
121 | name: "公司活动", | ||
122 | path: "/empty" | ||
123 | }, { | ||
124 | name: "新闻中心", | ||
125 | path: "/news/list" | ||
126 | }, | ||
127 | { | ||
128 | name: "企业社会责任", | ||
129 | path: "/empty" | ||
130 | }, | ||
131 | { | ||
132 | name: "奖项殊荣", | ||
133 | path: "/empty" | ||
134 | } | ||
135 | ] | ||
136 | }, | ||
137 | { | ||
138 | name: "加入我们", | ||
139 | path: "", | ||
140 | list: [{ | ||
141 | name: "企业文化", | ||
142 | path: "/empty" | ||
143 | }, | ||
144 | { | ||
145 | name: "事业发展机会", | ||
146 | path: "/empty" | ||
147 | }, | ||
148 | ] | ||
149 | } | ||
144 | ] | 150 | ] |
145 | }, | 151 | }, |
146 | footer: { | 152 | footer: { |
... | @@ -431,72 +437,72 @@ module.exports = { | ... | @@ -431,72 +437,72 @@ module.exports = { |
431 | head4: "附件", | 437 | head4: "附件", |
432 | download: "下载文档", | 438 | download: "下载文档", |
433 | form: [{ | 439 | form: [{ |
434 | type: "缴费类", | 440 | type: "缴费类", |
435 | list: [{ | 441 | list: [{ |
436 | name: "「电子入账服务」及银行户口<br>直接付款授权申请", | 442 | name: "「电子入账服务」及银行户口<br>直接付款授权申请", |
437 | desc: "申请设立「电子入账服务」及银行户口<br>直接付款授权时须提供", | 443 | desc: "申请设立「电子入账服务」及银行户口<br>直接付款授权时须提供", |
438 | download: "", | 444 | download: "", |
439 | }, | 445 | }, |
440 | { | 446 | { |
441 | name: "信用卡户口直接付款授权书", | 447 | name: "信用卡户口直接付款授权书", |
442 | desc: "申请信用卡户口直接付款授权时须提供", | 448 | desc: "申请信用卡户口直接付款授权时须提供", |
443 | download: "", | 449 | download: "", |
444 | } | 450 | } |
445 | ] | 451 | ] |
446 | }, | 452 | }, |
447 | { | 453 | { |
448 | type: "保单变更类", | 454 | type: "保单变更类", |
449 | list: [{ | 455 | list: [{ |
450 | name: "保险合同解除申请书", | 456 | name: "保险合同解除申请书", |
451 | desc: "退保、冷静期退保业务适用", | 457 | desc: "退保、冷静期退保业务适用", |
452 | download: "", | 458 | download: "", |
453 | }, | ||
454 | { | ||
455 | name: "保险合同变更申请书(保单贷款还款类)", | ||
456 | desc: "保单贷款、还款业务适用", | ||
457 | download: "", | ||
458 | }, | ||
459 | { | ||
460 | name: "保险合同变更申请书(保险合同计划变更类)", | ||
461 | desc: "加保、减保、新增附险、复效等业务适用", | ||
462 | download: "", | ||
463 | }, | ||
464 | { | ||
465 | name: "保险合同变更申请书(客户信息变更类)", | ||
466 | desc: "基本信息变更业务适用", | ||
467 | download: "", | ||
468 | }, | ||
469 | { | ||
470 | name: "保险合同变更申请书(客户权益变更类)", | ||
471 | desc: "交费方式、自垫选择权变更、补发等业务适用", | ||
472 | download: "", | ||
473 | }, | ||
474 | { | ||
475 | name: "授权委托书", | ||
476 | desc: "委托他人代办时须提供", | ||
477 | download: "", | ||
478 | }, | ||
479 | { | ||
480 | name: "税收声明", | ||
481 | desc: "CRS要求", | ||
482 | download: "", | ||
483 | }, | ||
484 | { | ||
485 | name: "健康告知", | ||
486 | desc: "须二次核保的业务须提供", | ||
487 | download: "", | ||
488 | } | ||
489 | |||
490 | ] | ||
491 | }, | 459 | }, |
492 | { | 460 | { |
493 | type: "理赔类", | 461 | name: "保险合同变更申请书(保单贷款还款类)", |
494 | list: [{ | 462 | desc: "保单贷款、还款业务适用", |
495 | name: "理赔申请书", | 463 | download: "", |
496 | desc: "纸质申请的应备文件", | ||
497 | download: "", | ||
498 | }] | ||
499 | }, | 464 | }, |
465 | { | ||
466 | name: "保险合同变更申请书(保险合同计划变更类)", | ||
467 | desc: "加保、减保、新增附险、复效等业务适用", | ||
468 | download: "", | ||
469 | }, | ||
470 | { | ||
471 | name: "保险合同变更申请书(客户信息变更类)", | ||
472 | desc: "基本信息变更业务适用", | ||
473 | download: "", | ||
474 | }, | ||
475 | { | ||
476 | name: "保险合同变更申请书(客户权益变更类)", | ||
477 | desc: "交费方式、自垫选择权变更、补发等业务适用", | ||
478 | download: "", | ||
479 | }, | ||
480 | { | ||
481 | name: "授权委托书", | ||
482 | desc: "委托他人代办时须提供", | ||
483 | download: "", | ||
484 | }, | ||
485 | { | ||
486 | name: "税收声明", | ||
487 | desc: "CRS要求", | ||
488 | download: "", | ||
489 | }, | ||
490 | { | ||
491 | name: "健康告知", | ||
492 | desc: "须二次核保的业务须提供", | ||
493 | download: "", | ||
494 | } | ||
495 | |||
496 | ] | ||
497 | }, | ||
498 | { | ||
499 | type: "理赔类", | ||
500 | list: [{ | ||
501 | name: "理赔申请书", | ||
502 | desc: "纸质申请的应备文件", | ||
503 | download: "", | ||
504 | }] | ||
505 | }, | ||
500 | ] | 506 | ] |
501 | }, | 507 | }, |
502 | policyChangeGuide: { | 508 | policyChangeGuide: { |
... | @@ -509,100 +515,100 @@ module.exports = { | ... | @@ -509,100 +515,100 @@ module.exports = { |
509 | head5: "应备材料", | 515 | head5: "应备材料", |
510 | download: "下载文档", | 516 | download: "下载文档", |
511 | form: [{ | 517 | form: [{ |
512 | project: "退保", | 518 | project: "退保", |
513 | content: "在犹豫期后解除合同,公司将退还保单现金价值或未满期净保费。(待产品精算确认)", | 519 | content: "在犹豫期后解除合同,公司将退还保单现金价值或未满期净保费。(待产品精算确认)", |
514 | applicant: "投保人", | 520 | applicant: "投保人", |
515 | receptionTime: "保单效力终止前", | 521 | receptionTime: "保单效力终止前", |
516 | materialList: [{ | 522 | materialList: [{ |
517 | name: "保险单", | 523 | name: "保险单", |
518 | }, | 524 | }, |
519 | { | 525 | { |
520 | name: "申请书", | 526 | name: "申请书", |
521 | type: 1, | 527 | type: 1, |
522 | }, | 528 | }, |
523 | { | 529 | { |
524 | name: "投保人有效身份证件", | 530 | name: "投保人有效身份证件", |
525 | }, | 531 | }, |
526 | { | 532 | { |
527 | name: "存折银行卡相关", | 533 | name: "存折银行卡相关", |
528 | } | 534 | } |
529 | ], | 535 | ], |
530 | }, | 536 | }, |
531 | { | 537 | { |
532 | project: "犹豫期退保", | 538 | project: "犹豫期退保", |
533 | content: "在犹豫期内提出解除合同,公司会无息退还全部保费", | 539 | content: "在犹豫期内提出解除合同,公司会无息退还全部保费", |
534 | applicant: "投保人", | 540 | applicant: "投保人", |
535 | receptionTime: "犹豫期结束前", | 541 | receptionTime: "犹豫期结束前", |
536 | materialList: [{ | 542 | materialList: [{ |
537 | name: "保险单", | 543 | name: "保险单", |
538 | }, | 544 | }, |
539 | { | 545 | { |
540 | name: "申请书", | 546 | name: "申请书", |
541 | type: 1, | 547 | type: 1, |
542 | }, | 548 | }, |
543 | { | 549 | { |
544 | name: "投保人有效身份证件", | 550 | name: "投保人有效身份证件", |
545 | }, | 551 | }, |
546 | { | 552 | { |
547 | name: "存折银行卡相关", | 553 | name: "存折银行卡相关", |
548 | }, | 554 | }, |
549 | { | 555 | { |
550 | name: "首期保费发票", | 556 | name: "首期保费发票", |
551 | } | 557 | } |
552 | ], | 558 | ], |
553 | }, | 559 | }, |
554 | { | 560 | { |
555 | project: "客户资料变更", | 561 | project: "客户资料变更", |
556 | projectType: 1, | 562 | projectType: 1, |
557 | path: "/custom/service", | 563 | path: "/custom/service", |
558 | query: { | 564 | query: { |
559 | q: "m42" | 565 | q: "m42" |
560 | }, | ||
561 | content: "投保人、受保人、受益人的个人信息变更", | ||
562 | applicant: "投保人", | ||
563 | receptionTime: "不限", | ||
564 | materialList: [{ | ||
565 | name: "申请书", | ||
566 | type: 1, | ||
567 | }, | ||
568 | { | ||
569 | name: "必要的证明材料", | ||
570 | } | ||
571 | ], | ||
572 | }, | ||
573 | { | ||
574 | project: "联系信息变更", | ||
575 | projectType: 1, | ||
576 | path: "/custom/service", | ||
577 | query: { | ||
578 | q: "m43" | ||
579 | }, | ||
580 | content: "地址、电话等信息的变更", | ||
581 | applicant: "投保人", | ||
582 | receptionTime: "不限", | ||
583 | materialList: [{ | ||
584 | name: "申请书", | ||
585 | type: 1, | ||
586 | }, | ||
587 | { | ||
588 | name: "投保人有效身份证件", | ||
589 | } | ||
590 | ], | ||
591 | }, | ||
592 | { | ||
593 | project: "交费方式变更", | ||
594 | content: "更改保单的续期交费方式或交费账号", | ||
595 | applicant: "投保人", | ||
596 | receptionTime: "保单交费期满前", | ||
597 | materialList: [{ | ||
598 | name: "申请书", | ||
599 | type: 1, | ||
600 | }, | ||
601 | { | ||
602 | name: "保险单", | ||
603 | } | ||
604 | ], | ||
605 | }, | 566 | }, |
567 | content: "投保人、受保人、受益人的个人信息变更", | ||
568 | applicant: "投保人", | ||
569 | receptionTime: "不限", | ||
570 | materialList: [{ | ||
571 | name: "申请书", | ||
572 | type: 1, | ||
573 | }, | ||
574 | { | ||
575 | name: "必要的证明材料", | ||
576 | } | ||
577 | ], | ||
578 | }, | ||
579 | { | ||
580 | project: "联系信息变更", | ||
581 | projectType: 1, | ||
582 | path: "/custom/service", | ||
583 | query: { | ||
584 | q: "m43" | ||
585 | }, | ||
586 | content: "地址、电话等信息的变更", | ||
587 | applicant: "投保人", | ||
588 | receptionTime: "不限", | ||
589 | materialList: [{ | ||
590 | name: "申请书", | ||
591 | type: 1, | ||
592 | }, | ||
593 | { | ||
594 | name: "投保人有效身份证件", | ||
595 | } | ||
596 | ], | ||
597 | }, | ||
598 | { | ||
599 | project: "交费方式变更", | ||
600 | content: "更改保单的续期交费方式或交费账号", | ||
601 | applicant: "投保人", | ||
602 | receptionTime: "保单交费期满前", | ||
603 | materialList: [{ | ||
604 | name: "申请书", | ||
605 | type: 1, | ||
606 | }, | ||
607 | { | ||
608 | name: "保险单", | ||
609 | } | ||
610 | ], | ||
611 | }, | ||
606 | ] | 612 | ] |
607 | }, | 613 | }, |
608 | policyChangeContact: { | 614 | policyChangeContact: { |
... | @@ -730,6 +736,14 @@ module.exports = { | ... | @@ -730,6 +736,14 @@ module.exports = { |
730 | e1: "請填寫該項內容", | 736 | e1: "請填寫該項內容", |
731 | e2: "請填寫正確的聯繫方式" | 737 | e2: "請填寫正確的聯繫方式" |
732 | } | 738 | } |
739 | }, | ||
740 | unauth: { | ||
741 | tips: "如您有平安一账通账户,可帮助我们更好地为您提供服务", | ||
742 | or: "或", | ||
743 | login: "登录", | ||
744 | register: "注册", | ||
745 | baseInfoTip : "您的完整信息可帮助我们为您提供完整服务", | ||
746 | infoBtn : "前往完善" | ||
733 | } | 747 | } |
734 | } | 748 | } |
735 | } | 749 | } | ... | ... |
src/components/auth/auth.js
0 → 100644
1 | import { | ||
2 | mapState | ||
3 | } from 'vuex'; | ||
4 | |||
5 | export default { | ||
6 | props: { | ||
7 | checkProfile: false, | ||
8 | }, | ||
9 | data() { | ||
10 | return { | ||
11 | key: 'value', | ||
12 | showProfileInfo: false, | ||
13 | showUnAuth: false | ||
14 | } | ||
15 | }, | ||
16 | components: {}, | ||
17 | computed: { | ||
18 | ...mapState({ | ||
19 | userInfo: state => state.userInfo | ||
20 | }), | ||
21 | locale() { | ||
22 | return this.$i18n.locale || 'tc'; | ||
23 | }, | ||
24 | i18n() { | ||
25 | return this.$i18n.messages && this.$i18n.locale ? this.$i18n.messages[this.$i18n.locale] : {}; | ||
26 | }, | ||
27 | showPanel(){ | ||
28 | return this.showProfileInfo || this.showUnAuth; | ||
29 | } | ||
30 | }, | ||
31 | methods: { | ||
32 | initData() { | ||
33 | if (this.userInfo && this.userInfo.name) { | ||
34 | this.loginAction(); | ||
35 | } else { | ||
36 | this.logoutAction(); | ||
37 | } | ||
38 | }, | ||
39 | loginAction() { | ||
40 | this.showUnAuth = false; | ||
41 | if (this.checkProfile) { | ||
42 | if (this.userInfo.hadFullInfo == 1) { | ||
43 | this.$emit("onLogin", this.userInfo); | ||
44 | } else { | ||
45 | this.showProfileInfo = true; | ||
46 | } | ||
47 | } else { | ||
48 | this.$emit("onLogin", this.userInfo); | ||
49 | } | ||
50 | }, | ||
51 | logoutAction() { | ||
52 | this.showUnAuth = true; | ||
53 | this.$emit("onLogout", {}); | ||
54 | }, | ||
55 | gotoLoginPage() { | ||
56 | this.$router.push({ path: "/login" }); | ||
57 | }, | ||
58 | gotoRegisterPage() { | ||
59 | this.$router.push({ path: "/register" }); | ||
60 | }, | ||
61 | gotoInformationPage(){ | ||
62 | this.$router.push({ path: "/infomation/improve" }); | ||
63 | } | ||
64 | }, | ||
65 | mounted() { | ||
66 | this.initData(); | ||
67 | }, | ||
68 | created() { }, | ||
69 | watch: { | ||
70 | userInfo(val) { | ||
71 | if (val && val.name) { | ||
72 | this.loginAction(); | ||
73 | } else { | ||
74 | this.logoutAction(); | ||
75 | } | ||
76 | } | ||
77 | }, | ||
78 | } |
src/components/auth/auth.scss
0 → 100644
src/components/auth/auth.vue
0 → 100644
1 | <template> | ||
2 | <div v-if="showPanel"> | ||
3 | <div v-if="showUnAuth"> | ||
4 | <div class="alert"> | ||
5 | <img class="icon" src="@/assets/images/common/icon-alert-i.png" alt=""> | ||
6 | <div class="txt"> | ||
7 | {{$t('customService.unauth.tips')}} | ||
8 | <span class="pointer btn" @click="gotoLoginPage">{{$t('customService.unauth.login')}}</span> {{$t('customService.unauth.or')}} | ||
9 | <span class="pointer btn" @click="gotoRegisterPage">{{$t('customService.unauth.register')}}</span> | ||
10 | </div> | ||
11 | |||
12 | <!-- <img class="pointer close" src="@/assets/images/common/icon-alert-close.png" alt=""> --> | ||
13 | </div> | ||
14 | </div> | ||
15 | |||
16 | <div v-if="showProfileInfo"> | ||
17 | <div class="alert"> | ||
18 | <img class="icon" src="@/assets/images/common/icon-alert-i.png" alt=""> | ||
19 | <div class="txt"> | ||
20 | {{$t('customService.unauth.baseInfoTip')}} | ||
21 | <span class="pointer btn" @click="gotoInformationPage">{{$t('customService.unauth.infoBtn')}}</span> | ||
22 | </div> | ||
23 | |||
24 | <!-- <img class="pointer close" src="@/assets/images/common/icon-alert-close.png" alt=""> --> | ||
25 | </div> | ||
26 | </div> | ||
27 | <div class="empty-line"></div> | ||
28 | </div> | ||
29 | </template> | ||
30 | |||
31 | <script src="./auth.js"></script> | ||
32 | <style lang="scss" scoped> | ||
33 | @import "./auth.scss"; | ||
34 | </style> |
... | @@ -4,10 +4,13 @@ import { | ... | @@ -4,10 +4,13 @@ import { |
4 | httpPost | 4 | httpPost |
5 | } from '@/api/fetch-api.js' | 5 | } from '@/api/fetch-api.js' |
6 | 6 | ||
7 | import Auth from '@components/auth/auth.vue'; | ||
8 | |||
7 | export default { | 9 | export default { |
8 | name: "InsuranceQuery", | 10 | name: "InsuranceQuery", |
9 | data() { | 11 | data() { |
10 | return { | 12 | return { |
13 | showForm: false, | ||
11 | dataForm: { | 14 | dataForm: { |
12 | 15 | ||
13 | }, | 16 | }, |
... | @@ -48,8 +51,17 @@ export default { | ... | @@ -48,8 +51,17 @@ export default { |
48 | data.v8 = "現金"; | 51 | data.v8 = "現金"; |
49 | } | 52 | } |
50 | this.$set(this, 'dataForm', data); | 53 | this.$set(this, 'dataForm', data); |
54 | }, | ||
55 | userLogout() { | ||
56 | this.showForm = false; | ||
57 | }, | ||
58 | userLogin(data) { | ||
59 | this.showForm = true; | ||
51 | } | 60 | } |
52 | }, | 61 | }, |
62 | components: { | ||
63 | Auth | ||
64 | }, | ||
53 | mounted() { | 65 | mounted() { |
54 | this.test(); | 66 | this.test(); |
55 | }, | 67 | }, | ... | ... |
1 | <template> | 1 | <template> |
2 | <div class="container"> | 2 | <div class="container"> |
3 | <div> | 3 | <auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true"></auth> |
4 | <div v-if="showForm"> | ||
4 | <div class="cell-group"> | 5 | <div class="cell-group"> |
5 | <div class="table-header orange"> | 6 | <div class="table-header orange"> |
6 | <div class="normal-header"> | 7 | <div class="normal-header"> | ... | ... |
... | @@ -4,9 +4,12 @@ import { | ... | @@ -4,9 +4,12 @@ import { |
4 | httpPost | 4 | httpPost |
5 | } from '@/api/fetch-api.js' | 5 | } from '@/api/fetch-api.js' |
6 | 6 | ||
7 | import Auth from '@components/auth/auth.vue'; | ||
8 | |||
7 | export default { | 9 | export default { |
8 | data() { | 10 | data() { |
9 | return { | 11 | return { |
12 | showForm: false, | ||
10 | key: 'value', | 13 | key: 'value', |
11 | checked1: false, | 14 | checked1: false, |
12 | checked2: false, | 15 | checked2: false, |
... | @@ -27,7 +30,9 @@ export default { | ... | @@ -27,7 +30,9 @@ export default { |
27 | }, | 30 | }, |
28 | } | 31 | } |
29 | }, | 32 | }, |
30 | components: {}, | 33 | components: { |
34 | Auth | ||
35 | }, | ||
31 | computed: { | 36 | computed: { |
32 | locale() { | 37 | locale() { |
33 | return this.$i18n.locale || 'tc'; | 38 | return this.$i18n.locale || 'tc'; |
... | @@ -128,7 +133,13 @@ export default { | ... | @@ -128,7 +133,13 @@ export default { |
128 | sep = "&"; | 133 | sep = "&"; |
129 | } | 134 | } |
130 | return path; | 135 | return path; |
131 | } | 136 | }, |
137 | userLogout() { | ||
138 | this.showForm = false; | ||
139 | }, | ||
140 | userLogin(data) { | ||
141 | this.showForm = true; | ||
142 | } | ||
132 | }, | 143 | }, |
133 | watch: { | 144 | watch: { |
134 | 'data.mobile': function () { | 145 | 'data.mobile': function () { | ... | ... |
1 | 1 | ||
2 | <template> | 2 | <template> |
3 | <div class="container border"> | 3 | <div> |
4 | <div class="form"> | 4 | <auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true"></auth> |
5 | <div class="form-item"> | 5 | <div class="container border" v-if="showForm"> |
6 | <div class="label"> | 6 | <div class="form"> |
7 | <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-phone.png"></div>{{$t('policyChangeContact.phone')}} | 7 | <div class="form-item"> |
8 | </div> | 8 | <div class="label"> |
9 | <div class="ipt-wrap"> | 9 | <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-phone.png"></div>{{$t('policyChangeContact.phone')}} |
10 | <input class="ipt mail-ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="data.mobile"> | ||
11 | <div class="agree" @click="checked1 = !checked1"> | ||
12 | <img v-if="!checked1" class="check-icon pointer" src="@/assets/images/reservation/un-check.png"> | ||
13 | <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png"> | ||
14 | <span>{{$t("policyChangeContact.checkTips")}}</span> | ||
15 | </div> | 10 | </div> |
11 | <div class="ipt-wrap"> | ||
12 | <input class="ipt mail-ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="data.mobile"> | ||
13 | <div class="agree" @click="checked1 = !checked1"> | ||
14 | <img v-if="!checked1" class="check-icon pointer" src="@/assets/images/reservation/un-check.png"> | ||
15 | <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png"> | ||
16 | <span>{{$t("policyChangeContact.checkTips")}}</span> | ||
17 | </div> | ||
16 | 18 | ||
17 | </div> | 19 | </div> |
18 | <div class="validator" v-if="errorTips.e1.length > 0"> | 20 | <div class="validator" v-if="errorTips.e1.length > 0"> |
19 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e1}} | 21 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e1}} |
20 | </div> | ||
21 | </div> | ||
22 | <div class="form-item"> | ||
23 | <div class="label"> | ||
24 | <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-location.png"></div>{{$t('policyChangeContact.address')}} | ||
25 | </div> | ||
26 | <div class="ipt-wrap"> | ||
27 | <input class="ipt mail-ipt" type="text" :class="{err : errorTips.e2.length > 0}" v-model="data.address"> | ||
28 | <div class="agree" @click="checked2 = !checked2"> | ||
29 | <img v-if="!checked2" class="check-icon pointer" src="@/assets/images/reservation/un-check.png"> | ||
30 | <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png"> | ||
31 | <span>{{$t("policyChangeContact.checkTips")}}</span> | ||
32 | </div> | 22 | </div> |
33 | </div> | 23 | </div> |
34 | <div class="validator" v-if="errorTips.e2.length > 0"> | 24 | <div class="form-item"> |
35 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}} | 25 | <div class="label"> |
36 | </div> | 26 | <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-location.png"></div>{{$t('policyChangeContact.address')}} |
37 | </div> | 27 | </div> |
38 | <div class="form-item"> | 28 | <div class="ipt-wrap"> |
39 | <div class="label"> | 29 | <input class="ipt mail-ipt" type="text" :class="{err : errorTips.e2.length > 0}" v-model="data.address"> |
40 | <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-mail.png"></div>{{$t('policyChangeContact.email')}} | 30 | <div class="agree" @click="checked2 = !checked2"> |
41 | </div> | 31 | <img v-if="!checked2" class="check-icon pointer" src="@/assets/images/reservation/un-check.png"> |
42 | <div class="ipt-wrap"> | 32 | <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png"> |
43 | <input class="ipt mail-ipt" type="text" :class="{err : errorTips.e3.length > 0}" v-model="data.email"> | 33 | <span>{{$t("policyChangeContact.checkTips")}}</span> |
44 | <div class="agree" @click="checked3 = !checked3"> | 34 | </div> |
45 | <img v-if="!checked3" class="check-icon pointer" src="@/assets/images/reservation/un-check.png"> | 35 | </div> |
46 | <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png"> | 36 | <div class="validator" v-if="errorTips.e2.length > 0"> |
47 | <span>{{$t("policyChangeContact.checkTips")}}</span> | 37 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}} |
48 | </div> | 38 | </div> |
49 | </div> | 39 | </div> |
40 | <div class="form-item"> | ||
41 | <div class="label"> | ||
42 | <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-mail.png"></div>{{$t('policyChangeContact.email')}} | ||
43 | </div> | ||
44 | <div class="ipt-wrap"> | ||
45 | <input class="ipt mail-ipt" type="text" :class="{err : errorTips.e3.length > 0}" v-model="data.email"> | ||
46 | <div class="agree" @click="checked3 = !checked3"> | ||
47 | <img v-if="!checked3" class="check-icon pointer" src="@/assets/images/reservation/un-check.png"> | ||
48 | <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png"> | ||
49 | <span>{{$t("policyChangeContact.checkTips")}}</span> | ||
50 | </div> | ||
51 | </div> | ||
50 | 52 | ||
51 | <div class="validator" v-if="errorTips.e3.length > 0"> | 53 | <div class="validator" v-if="errorTips.e3.length > 0"> |
52 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e3}} | 54 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e3}} |
55 | </div> | ||
53 | </div> | 56 | </div> |
54 | </div> | 57 | </div> |
55 | </div> | 58 | <div class="submit-btn" @click="updateContactsHandler"> |
56 | <div class="submit-btn" @click="updateContactsHandler"> | 59 | {{$t("policyChangeContact.submit")}} |
57 | {{$t("policyChangeContact.submit")}} | 60 | </div> |
58 | </div> | 61 | </div> |
59 | </div> | 62 | </div> |
60 | </template> | 63 | </template> | ... | ... |
... | @@ -4,13 +4,18 @@ import { | ... | @@ -4,13 +4,18 @@ import { |
4 | httpPost | 4 | httpPost |
5 | } from '@/api/fetch-api.js' | 5 | } from '@/api/fetch-api.js' |
6 | 6 | ||
7 | import Auth from '@components/auth/auth.vue'; | ||
8 | |||
7 | export default { | 9 | export default { |
8 | data() { | 10 | data() { |
9 | return { | 11 | return { |
12 | showForm: false, | ||
10 | key: 'value' | 13 | key: 'value' |
11 | } | 14 | } |
12 | }, | 15 | }, |
13 | components: {}, | 16 | components: { |
17 | Auth | ||
18 | }, | ||
14 | computed: { | 19 | computed: { |
15 | locale() { | 20 | locale() { |
16 | return this.$i18n.locale || 'tc'; | 21 | return this.$i18n.locale || 'tc'; |
... | @@ -36,7 +41,13 @@ export default { | ... | @@ -36,7 +41,13 @@ export default { |
36 | }) | 41 | }) |
37 | } | 42 | } |
38 | }, | 43 | }, |
39 | initData() {} | 44 | initData() {}, |
45 | userLogout() { | ||
46 | this.showForm = false; | ||
47 | }, | ||
48 | userLogin(data) { | ||
49 | this.showForm = true; | ||
50 | } | ||
40 | }, | 51 | }, |
41 | mounted() {}, | 52 | mounted() {}, |
42 | created() {} | 53 | created() {} | ... | ... |
1 | 1 | ||
2 | <template> | 2 | <template> |
3 | <div> | 3 | <div> |
4 | <div class="container policy-change-guide-container"> | 4 | <auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true"></auth> |
5 | <div class="container policy-change-guide-container" v-if="showForm"> | ||
5 | <div class="table"> | 6 | <div class="table"> |
6 | <div class="table-header orange"> | 7 | <div class="table-header orange"> |
7 | <div class="table-header-item w1">{{$t('policyChangeGuide.head1')}}</div> | 8 | <div class="table-header-item w1">{{$t('policyChangeGuide.head1')}}</div> |
... | @@ -49,8 +50,7 @@ | ... | @@ -49,8 +50,7 @@ |
49 | </div> | 50 | </div> |
50 | </div> | 51 | </div> |
51 | </div> | 52 | </div> |
52 | 53 | <div class="notice" v-if="showForm"> | |
53 | <div class="notice"> | ||
54 | <img class="icon" src="@/assets/images/policy-change-guide/icon-pcg-notice.png" alt=""> {{$t("policyChangeGuide.notice")}} <span @click="toContactUs" class="act">{{$t("policyChangeGuide.noticeLink")}}</span> | 54 | <img class="icon" src="@/assets/images/policy-change-guide/icon-pcg-notice.png" alt=""> {{$t("policyChangeGuide.notice")}} <span @click="toContactUs" class="act">{{$t("policyChangeGuide.noticeLink")}}</span> |
55 | </div> | 55 | </div> |
56 | </div> | 56 | </div> | ... | ... |
... | @@ -4,11 +4,13 @@ import { | ... | @@ -4,11 +4,13 @@ import { |
4 | httpPost | 4 | httpPost |
5 | } from '@/api/fetch-api.js' | 5 | } from '@/api/fetch-api.js' |
6 | 6 | ||
7 | import Auth from '@components/auth/auth.vue'; | ||
7 | import modalUploadCardComp from '@/components/modal-upload-card-comp/modal-upload-card-comp.vue'; | 8 | import modalUploadCardComp from '@/components/modal-upload-card-comp/modal-upload-card-comp.vue'; |
8 | 9 | ||
9 | export default { | 10 | export default { |
10 | data() { | 11 | data() { |
11 | return { | 12 | return { |
13 | showForm: false, | ||
12 | key: 'value', | 14 | key: 'value', |
13 | isHkCus: true, | 15 | isHkCus: true, |
14 | checked: false, | 16 | checked: false, |
... | @@ -16,7 +18,8 @@ export default { | ... | @@ -16,7 +18,8 @@ export default { |
16 | } | 18 | } |
17 | }, | 19 | }, |
18 | components: { | 20 | components: { |
19 | modalUploadCardComp | 21 | modalUploadCardComp, |
22 | Auth | ||
20 | }, | 23 | }, |
21 | computed: { | 24 | computed: { |
22 | locale() { | 25 | locale() { |
... | @@ -27,7 +30,13 @@ export default { | ... | @@ -27,7 +30,13 @@ export default { |
27 | } | 30 | } |
28 | }, | 31 | }, |
29 | methods: { | 32 | methods: { |
30 | initData() {} | 33 | initData() {}, |
34 | userLogout() { | ||
35 | this.showForm = false; | ||
36 | }, | ||
37 | userLogin(data) { | ||
38 | this.showForm = true; | ||
39 | } | ||
31 | }, | 40 | }, |
32 | mounted() {}, | 41 | mounted() {}, |
33 | created() {} | 42 | created() {} | ... | ... |
1 | 1 | ||
2 | <template> | 2 | <template> |
3 | <div> | 3 | <div> |
4 | <auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true"></auth> | ||
4 | <modal-upload-card-comp :visible="modalUploadCardVisiable" :show-confirm="true" ></modal-upload-card-comp> | 5 | <modal-upload-card-comp :visible="modalUploadCardVisiable" :show-confirm="true" ></modal-upload-card-comp> |
5 | <div class="container border"> | 6 | <div class="container border" v-if="showForm"> |
6 | <div class="table"> | 7 | <div class="table"> |
7 | <div class="table-header orange"> | 8 | <div class="table-header orange"> |
8 | <div class="table-header-item">{{$t('policyChangeInformation.title')}}</div> | 9 | <div class="table-header-item">{{$t('policyChangeInformation.title')}}</div> | ... | ... |
1 | 1 | ||
2 | <template> | 2 | <template> |
3 | <div> | 3 | <div> |
4 | <div class="alert"> | ||
5 | <img class="icon" src="@/assets/images/common/icon-alert-i.png" alt=""> | ||
6 | <div class="txt"> | ||
7 | 如您有平安一賬通賬戶,可幫助我們更好地為您提供服務, | ||
8 | <span class="pointer btn">登錄</span> 或 | ||
9 | <span class="pointer btn">註冊</span> | ||
10 | </div> | ||
11 | |||
12 | <img class="pointer close" src="@/assets/images/common/icon-alert-close.png" alt=""> | ||
13 | </div> | ||
14 | 4 | ||
15 | <div class="reservation-container"> | 5 | <div class="reservation-container"> |
16 | <div class="gird-g form"> | 6 | <div class="gird-g form"> | ... | ... |
... | @@ -4,12 +4,15 @@ import { | ... | @@ -4,12 +4,15 @@ import { |
4 | httpPost | 4 | httpPost |
5 | } from '@/api/fetch-api.js' | 5 | } from '@/api/fetch-api.js' |
6 | 6 | ||
7 | import Auth from '@components/auth/auth.vue'; | ||
7 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 8 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
9 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; | ||
8 | import DatePicker from '@/components/date-picker/date-picker.vue' | 10 | import DatePicker from '@/components/date-picker/date-picker.vue' |
9 | 11 | ||
10 | export default { | 12 | export default { |
11 | data() { | 13 | data() { |
12 | return { | 14 | return { |
15 | showForm: false, | ||
13 | key: 'value', | 16 | key: 'value', |
14 | values: { | 17 | values: { |
15 | // 返回的token,串连整个流程,后台安全校验使用 | 18 | // 返回的token,串连整个流程,后台安全校验使用 |
... | @@ -22,7 +25,8 @@ export default { | ... | @@ -22,7 +25,8 @@ export default { |
22 | }, | 25 | }, |
23 | birthDate: "", | 26 | birthDate: "", |
24 | information: { | 27 | information: { |
25 | cnName: "", | 28 | firstName: "", |
29 | lastName: "", | ||
26 | sex: "", | 30 | sex: "", |
27 | birthDate: "", | 31 | birthDate: "", |
28 | idNo: "", | 32 | idNo: "", |
... | @@ -35,6 +39,7 @@ export default { | ... | @@ -35,6 +39,7 @@ export default { |
35 | e4: "", | 39 | e4: "", |
36 | e5: "", | 40 | e5: "", |
37 | }, | 41 | }, |
42 | modalSimpleVisiable: false, | ||
38 | modalVisiable: false, | 43 | modalVisiable: false, |
39 | targetPath: "", | 44 | targetPath: "", |
40 | modalIcon: "succ", | 45 | modalIcon: "succ", |
... | @@ -43,7 +48,9 @@ export default { | ... | @@ -43,7 +48,9 @@ export default { |
43 | }, | 48 | }, |
44 | components: { | 49 | components: { |
45 | modalComp, | 50 | modalComp, |
46 | DatePicker | 51 | DatePicker, |
52 | Auth, | ||
53 | modalSimpleComp | ||
47 | }, | 54 | }, |
48 | computed: { | 55 | computed: { |
49 | locale() { | 56 | locale() { |
... | @@ -59,18 +66,41 @@ export default { | ... | @@ -59,18 +66,41 @@ export default { |
59 | idTypeCandidates() { | 66 | idTypeCandidates() { |
60 | let i18n = this.$i18n.messages[this.$i18n.locale]; | 67 | let i18n = this.$i18n.messages[this.$i18n.locale]; |
61 | return i18n.infomationImprove.candidates.idType; | 68 | return i18n.infomationImprove.candidates.idType; |
69 | }, | ||
70 | submitBtnDisabled() { | ||
71 | let b1 = !this.information.firstName ? true : false; | ||
72 | let b2 = !this.information.lastName ? true : false; | ||
73 | let b3 = !this.information.sex ? true : false; | ||
74 | let b4 = !this.information.birthDate ? true : false; | ||
75 | let b5 = !this.information.idNo ? true : false; | ||
76 | let b6 = !this.information.idType ? true : false; | ||
77 | return b1 || b2 || b3 || b4 || b5 || b6; | ||
62 | } | 78 | } |
63 | }, | 79 | }, |
64 | methods: { | 80 | methods: { |
65 | showModal(content, icon) { | 81 | showModal(content, icon) { |
66 | icon = !icon || typeof icon === "undefined" ? "succ" : "succ"; | 82 | icon = !icon || typeof icon === "undefined" ? "succ" : icon; |
67 | this.modalIcon = icon; | 83 | this.modalIcon = icon; |
68 | this.modalContent = content; | 84 | this.modalContent = content; |
69 | this.modalVisiable = true; | 85 | if (icon == "succ") { |
86 | this.modalVisiable = true; | ||
87 | } else { | ||
88 | this.modalSimpleVisiable = true; | ||
89 | } | ||
90 | }, | ||
91 | closeModal() { | ||
92 | this.modalVisiable = false; | ||
93 | this.modalSimpleVisiable = false; | ||
70 | }, | 94 | }, |
71 | initData() { | 95 | initData() { |
96 | httpPost({ url: api.profile, sid: true }).then(content => { | ||
97 | this.information = content; | ||
98 | }) | ||
72 | }, | 99 | }, |
73 | onUpdateHandler() { | 100 | onUpdateHandler() { |
101 | if (this.submitBtnDisabled) { | ||
102 | return; | ||
103 | } | ||
74 | let b1 = this.checkCnName(); | 104 | let b1 = this.checkCnName(); |
75 | let b2 = this.checkIdNo(); | 105 | let b2 = this.checkIdNo(); |
76 | let b3 = this.checkBirthday(); | 106 | let b3 = this.checkBirthday(); |
... | @@ -212,6 +242,12 @@ export default { | ... | @@ -212,6 +242,12 @@ export default { |
212 | "path": this.targetPath | 242 | "path": this.targetPath |
213 | }); | 243 | }); |
214 | } | 244 | } |
245 | }, | ||
246 | userLogout() { | ||
247 | this.showForm = false; | ||
248 | }, | ||
249 | userLogin(data) { | ||
250 | this.showForm = true; | ||
215 | } | 251 | } |
216 | }, | 252 | }, |
217 | mounted() { | 253 | mounted() { | ... | ... |
1 | 1 | ||
2 | 2 | ||
3 | <template> | 3 | <template> |
4 | <div class="content"> | 4 | <div> |
5 | <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp> | 5 | <modal-simple-comp :visible="modalSimpleVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="closeModal" :overlay="closeModal" :close="closeModal"></modal-simple-comp> |
6 | <div class="ebg"> | 6 | <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp> |
7 | <img src="@/assets/images/common/login-bg.png"> | 7 | <div class="content"> |
8 | </div> | 8 | <div class="ebg"> |
9 | <div class="top-space"></div> | 9 | <img src="@/assets/images/common/login-bg.png"> |
10 | <div class="box"> | 10 | </div> |
11 | <div class="login"> | 11 | <div class="top-space"></div> |
12 | <div class="login-tit">{{$t('infomationImprove.title')}}</div> | 12 | <div class="box"> |
13 | <div class="login-tit-space-1"></div> | 13 | <div class="login"> |
14 | <div class="gird-g form"> | 14 | <auth @onLogin="userLogin" @onLogout="userLogout"></auth> |
15 | 15 | <template v-if="showForm"> | |
16 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | 16 | <div class="login-tit">{{$t('infomationImprove.title')}}</div> |
17 | <div class="label"> | 17 | <div class="login-tit-space-1"></div> |
18 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-user.png"> {{$t('infomationImprove.t1c1')}} | 18 | <div class="gird-g form"> |
19 | </div> | 19 | <div class="pure-u-1 pure-u-md-1-2 form-item"> |
20 | <div class="ipt-wrap"> | 20 | <div class="label"> |
21 | <input class="ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="information.cnName"> | 21 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-user.png"> {{$t('infomationImprove.t1c1')}} |
22 | </div> | 22 | </div> |
23 | <div class="validator" v-if="errorTips.e1.length > 0 "> | 23 | <div class="ipt-wrap"> |
24 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e1}} | 24 | <input class="ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="information.firstName"> |
25 | </div> | 25 | </div> |
26 | </div> | 26 | <div class="validator" v-if="errorTips.e1.length > 0 "> |
27 | 27 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e1}} | |
28 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | 28 | </div> |
29 | <div class="label"> | 29 | </div> |
30 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-user.png"> {{$t('infomationImprove.t1c2')}} | ||
31 | </div> | ||
32 | <div class="ipt-wrap"> | ||
33 | <input class="ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="information.cnName"> | ||
34 | </div> | ||
35 | <div class="validator" v-if="errorTips.e1.length > 0 "> | ||
36 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e1}} | ||
37 | </div> | ||
38 | </div> | ||
39 | |||
40 | <div class="pure-u-1 form-item"> | ||
41 | <div class="label"> | ||
42 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-sex.png"> {{$t('infomationImprove.t2')}} | ||
43 | </div> | ||
44 | <div class="ipt-wrap"> | ||
45 | <div class="down-arrow"></div> | ||
46 | <select class="ipt" :class="{err : errorTips.e2.length > 0}" v-model="information.sex"> | ||
47 | <template v-if="sexCandidates"> | ||
48 | <option v-for="(item,index) in sexCandidates" :key="index" :value="item.value">{{item.name}}</option> | ||
49 | </template> | ||
50 | </select> | ||
51 | </div> | ||
52 | <div class="validator" v-if="errorTips.e2.length > 0 "> | ||
53 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e2}} | ||
54 | </div> | ||
55 | </div> | ||
56 | 30 | ||
57 | <div class="pure-u-1 form-item"> | 31 | <div class="pure-u-1 pure-u-md-1-2 form-item"> |
58 | <div class="label"> | 32 | <div class="label"> |
59 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-date.png"> {{$t('infomationImprove.t3')}} | 33 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-user.png"> {{$t('infomationImprove.t1c2')}} |
60 | </div> | 34 | </div> |
61 | <div class="ipt-wrap"> | 35 | <div class="ipt-wrap"> |
62 | <!-- <input class="ipt" type="date" :class="{err : errorTips.e3.length > 0}" v-model="birthDate"> --> | 36 | <input class="ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="information.lastName"> |
63 | <date-picker class="date" v-model="birthDate"></date-picker> | 37 | </div> |
64 | </div> | 38 | <div class="validator" v-if="errorTips.e1.length > 0 "> |
65 | <div class="validator" v-if="errorTips.e3.length > 0 "> | 39 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e1}} |
66 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e3}} | 40 | </div> |
67 | </div> | 41 | </div> |
68 | </div> | ||
69 | 42 | ||
70 | <div class="pure-u-1 form-item"> | 43 | <div class="pure-u-1 form-item"> |
71 | <div class="label"> | 44 | <div class="label"> |
72 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-card.png"> {{$t('infomationImprove.t4')}} | 45 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-sex.png"> {{$t('infomationImprove.t2')}} |
73 | </div> | 46 | </div> |
74 | <div class="ipt-wrap"> | 47 | <div class="ipt-wrap"> |
75 | <div class="down-arrow"></div> | 48 | <div class="down-arrow"></div> |
76 | <select class="ipt" :class="{err : errorTips.e4.length > 0}" v-model="information.idType"> | 49 | <select class="ipt" :class="{err : errorTips.e2.length > 0}" v-model="information.sex"> |
77 | <template v-if="idTypeCandidates"> | 50 | <template v-if="sexCandidates"> |
78 | <option v-for="(item,index) in idTypeCandidates" :key="index" :value="item.value">{{item.name}}</option> | 51 | <option v-for="(item,index) in sexCandidates" :key="index" :value="item.value">{{item.name}}</option> |
79 | </template> | 52 | </template> |
80 | </select> | 53 | </select> |
81 | </div> | 54 | </div> |
82 | <div class="validator" v-if="errorTips.e4.length > 0 "> | 55 | <div class="validator" v-if="errorTips.e2.length > 0 "> |
83 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e4}} | 56 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e2}} |
84 | </div> | 57 | </div> |
85 | </div> | 58 | </div> |
86 | 59 | ||
87 | <div class="pure-u-1 form-item"> | 60 | <div class="pure-u-1 form-item"> |
88 | <div class="label"> | 61 | <div class="label"> |
89 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-card.png"> {{$t('infomationImprove.t5')}} | 62 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-date.png"> {{$t('infomationImprove.t3')}} |
90 | </div> | 63 | </div> |
91 | <div class="ipt-wrap"> | 64 | <div class="ipt-wrap"> |
92 | <input class="ipt" type="text" :class="{err : errorTips.e5.length > 0}" v-model="information.idNo"> | 65 | <!-- <input class="ipt" type="date" :class="{err : errorTips.e3.length > 0}" v-model="birthDate"> --> |
93 | </div> | 66 | <date-picker class="date" v-model="information.birthDate"></date-picker> |
94 | <div class="validator" v-if="errorTips.e5.length > 0 "> | 67 | </div> |
95 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e5}} | 68 | <div class="validator" v-if="errorTips.e3.length > 0 "> |
96 | </div> | 69 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e3}} |
97 | </div> | 70 | </div> |
71 | </div> | ||
98 | 72 | ||
73 | <div class="pure-u-1 form-item"> | ||
74 | <div class="label"> | ||
75 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-card.png"> {{$t('infomationImprove.t4')}} | ||
76 | </div> | ||
77 | <div class="ipt-wrap"> | ||
78 | <div class="down-arrow"></div> | ||
79 | <select class="ipt" :class="{err : errorTips.e4.length > 0}" v-model="information.idType"> | ||
80 | <template v-if="idTypeCandidates"> | ||
81 | <option v-for="(item,index) in idTypeCandidates" :key="index" :value="item.value">{{item.name}}</option> | ||
82 | </template> | ||
83 | </select> | ||
84 | </div> | ||
85 | <div class="validator" v-if="errorTips.e4.length > 0 "> | ||
86 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e4}} | ||
87 | </div> | ||
99 | </div> | 88 | </div> |
100 | 89 | ||
101 | <div class="login-btn-wrap"> | 90 | <div class="pure-u-1 form-item"> |
102 | <div @click="onUpdateHandler()" class="login-submit pointer">{{$t('infomationImprove.submit')}}</div> | 91 | <div class="label"> |
92 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-card.png"> {{$t('infomationImprove.t5')}} | ||
93 | </div> | ||
94 | <div class="ipt-wrap"> | ||
95 | <input class="ipt" type="text" :class="{err : errorTips.e5.length > 0}" v-model="information.idNo"> | ||
96 | </div> | ||
97 | <div class="validator" v-if="errorTips.e5.length > 0 "> | ||
98 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e5}} | ||
103 | </div> | 99 | </div> |
100 | </div> | ||
101 | |||
102 | </div> | ||
103 | <div class="login-btn-wrap"> | ||
104 | <div @click="onUpdateHandler()" class="login-submit pointer" :class="{disabled: submitBtnDisabled}">{{$t('infomationImprove.submit')}}</div> | ||
104 | </div> | 105 | </div> |
106 | </template> | ||
107 | </div> | ||
105 | 108 | ||
106 | </div> | 109 | </div> |
107 | </div> | 110 | </div> |
111 | </div> | ||
108 | </template> | 112 | </template> |
109 | 113 | ||
110 | <script src="./infomation-improve.js"></script> | 114 | <script src="./infomation-improve.js"></script> | ... | ... |
... | @@ -42,9 +42,11 @@ export default { | ... | @@ -42,9 +42,11 @@ export default { |
42 | }, | 42 | }, |
43 | loginForm: { | 43 | loginForm: { |
44 | // userId: "18334783910", | 44 | // userId: "18334783910", |
45 | // password: "qweqwe123" | 45 | // password: "qweqwe123", |
46 | userId: "18145729463", | 46 | userId: "18145729463", |
47 | password: "ccc123!@#", | 47 | password: "ccc123!@#", |
48 | // userId: "", | ||
49 | // password: "", | ||
48 | 50 | ||
49 | imageValue: "", | 51 | imageValue: "", |
50 | mobileNo: "", | 52 | mobileNo: "", | ... | ... |
... | @@ -7,6 +7,7 @@ import { | ... | @@ -7,6 +7,7 @@ import { |
7 | httpPost | 7 | httpPost |
8 | } from '@/api/fetch-api.js' | 8 | } from '@/api/fetch-api.js' |
9 | 9 | ||
10 | import Auth from '@components/auth/auth.vue'; | ||
10 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 11 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
11 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; | 12 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; |
12 | import { passwordEncrypt } from '@/utils/encrypt.js'; | 13 | import { passwordEncrypt } from '@/utils/encrypt.js'; |
... | @@ -14,6 +15,7 @@ import { passwordEncrypt } from '@/utils/encrypt.js'; | ... | @@ -14,6 +15,7 @@ import { passwordEncrypt } from '@/utils/encrypt.js'; |
14 | export default { | 15 | export default { |
15 | data() { | 16 | data() { |
16 | return { | 17 | return { |
18 | showForm: false, | ||
17 | key: 'value', | 19 | key: 'value', |
18 | type: 1, // 1:输入用户信息 2:找回密码 3:核对信息 4.重置密码 | 20 | type: 1, // 1:输入用户信息 2:找回密码 3:核对信息 4.重置密码 |
19 | values: { | 21 | values: { |
... | @@ -135,7 +137,13 @@ export default { | ... | @@ -135,7 +137,13 @@ export default { |
135 | "path": this.targetPath | 137 | "path": this.targetPath |
136 | }); | 138 | }); |
137 | } | 139 | } |
138 | } | 140 | }, |
141 | userLogout() { | ||
142 | this.showForm = false; | ||
143 | }, | ||
144 | userLogin(data) { | ||
145 | this.showForm = true; | ||
146 | } | ||
139 | }, | 147 | }, |
140 | watch: { | 148 | watch: { |
141 | 'values.oldPwd': function () { | 149 | 'values.oldPwd': function () { |
... | @@ -164,6 +172,7 @@ export default { | ... | @@ -164,6 +172,7 @@ export default { |
164 | created() { }, | 172 | created() { }, |
165 | components: { | 173 | components: { |
166 | modalComp, | 174 | modalComp, |
167 | modalSimpleComp | 175 | modalSimpleComp, |
176 | Auth | ||
168 | } | 177 | } |
169 | } | 178 | } | ... | ... |
... | @@ -10,44 +10,47 @@ | ... | @@ -10,44 +10,47 @@ |
10 | <div class="top-space"></div> | 10 | <div class="top-space"></div> |
11 | <div class="box"> | 11 | <div class="box"> |
12 | <div class="login"> | 12 | <div class="login"> |
13 | <div class="login-tit">{{$t('passwordReset.type4.title')}}</div> | 13 | <auth @onLogin="userLogin" @onLogout="userLogout"></auth> |
14 | <div class="login-tit-space-4"></div> | 14 | <template v-if="showForm"> |
15 | <div class="gird-g form"> | 15 | <div class="login-tit">{{$t('passwordReset.type4.title')}}</div> |
16 | <div class="pure-u-1 form-item"> | 16 | <div class="login-tit-space-4"></div> |
17 | <div class="label"> | 17 | <div class="gird-g form"> |
18 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('passwordReset.oldPwd')}} | 18 | <div class="pure-u-1 form-item"> |
19 | </div> | 19 | <div class="label"> |
20 | <div class="ipt-wrap"> | 20 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('passwordReset.oldPwd')}} |
21 | <input :placeholder="$t('passwordReset.oldPwdPlaceholde')" class="ipt" type="password" v-model="values.oldPwd"> | 21 | </div> |
22 | </div> | 22 | <div class="ipt-wrap"> |
23 | <div class="validator" v-if="step.error0.length > 0 "> | 23 | <input :placeholder="$t('passwordReset.oldPwdPlaceholde')" class="ipt" type="password" v-model="values.oldPwd"> |
24 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{step.error0}} | 24 | </div> |
25 | </div> | 25 | <div class="validator" v-if="step.error0.length > 0 "> |
26 | </div> | 26 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{step.error0}} |
27 | <div class="pure-u-1 form-item"> | 27 | </div> |
28 | <div class="label"> | 28 | </div> |
29 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('passwordReset.type4.t1')}} | 29 | <div class="pure-u-1 form-item"> |
30 | </div> | 30 | <div class="label"> |
31 | <div class="ipt-wrap"> | 31 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('passwordReset.type4.t1')}} |
32 | <input :placeholder="$t('passwordReset.type4.t1Placeholder')" class="ipt" type="password" v-model="values.pwd"> | 32 | </div> |
33 | </div> | 33 | <div class="ipt-wrap"> |
34 | <div class="validator" v-if="step.error1.length > 0 "> | 34 | <input :placeholder="$t('passwordReset.type4.t1Placeholder')" class="ipt" type="password" v-model="values.pwd"> |
35 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{step.error1}} | 35 | </div> |
36 | </div> | 36 | <div class="validator" v-if="step.error1.length > 0 "> |
37 | </div> | 37 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{step.error1}} |
38 | <div class="pure-u-1 form-item"> | 38 | </div> |
39 | <div class="label"> | 39 | </div> |
40 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('passwordReset.type4.t2')}} | 40 | <div class="pure-u-1 form-item"> |
41 | </div> | 41 | <div class="label"> |
42 | <div class="ipt-wrap"> | 42 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('passwordReset.type4.t2')}} |
43 | <input :placeholder="$t('passwordReset.type4.t2Placeholder')" class="ipt" type="password" v-model="values.pwdRepeat"> | 43 | </div> |
44 | </div> | 44 | <div class="ipt-wrap"> |
45 | <div class="validator" v-if="step.error2.length > 0 "> | 45 | <input :placeholder="$t('passwordReset.type4.t2Placeholder')" class="ipt" type="password" v-model="values.pwdRepeat"> |
46 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{step.error2}} | 46 | </div> |
47 | <div class="validator" v-if="step.error2.length > 0 "> | ||
48 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{step.error2}} | ||
49 | </div> | ||
47 | </div> | 50 | </div> |
48 | </div> | 51 | </div> |
49 | </div> | 52 | <div @click="resetPwd()" class="login-submit pointer" :class="{disabled: submitBtnDisabled}">{{$t('passwordReset.type4.submit')}}</div> |
50 | <div @click="resetPwd()" class="login-submit pointer" :class="{disabled: submitBtnDisabled}">{{$t('passwordReset.type4.submit')}}</div> | 53 | </template> |
51 | </div> | 54 | </div> |
52 | </div> | 55 | </div> |
53 | </div> | 56 | </div> | ... | ... |
-
Please register or sign in to post a comment