默认提交
Showing
22 changed files
with
918 additions
and
322 deletions
src/assets/images/common/card-back.png
0 → 100644
3.35 KB
src/assets/images/common/card-front.png
0 → 100644
2.96 KB
219 Bytes
| ... | @@ -14,6 +14,11 @@ module.exports = { | ... | @@ -14,6 +14,11 @@ module.exports = { |
| 14 | form: { | 14 | form: { |
| 15 | datePicker: { | 15 | datePicker: { |
| 16 | datePlaceholder: "please select date" | 16 | datePlaceholder: "please select date" |
| 17 | }, | ||
| 18 | modalUploadCard:{ | ||
| 19 | tit:"請上傳證件資料", | ||
| 20 | front:"證件正面", | ||
| 21 | back:"證件反面", | ||
| 17 | } | 22 | } |
| 18 | }, | 23 | }, |
| 19 | nav: { | 24 | nav: { | ... | ... |
| ... | @@ -14,6 +14,11 @@ module.exports = { | ... | @@ -14,6 +14,11 @@ module.exports = { |
| 14 | form: { | 14 | form: { |
| 15 | datePicker: { | 15 | datePicker: { |
| 16 | datePlaceholder: "请选择日期" | 16 | datePlaceholder: "请选择日期" |
| 17 | }, | ||
| 18 | modalUploadCard:{ | ||
| 19 | tit:"請上傳證件資料", | ||
| 20 | front:"證件正面", | ||
| 21 | back:"證件反面", | ||
| 17 | } | 22 | } |
| 18 | }, | 23 | }, |
| 19 | nav: { | 24 | nav: { | ... | ... |
| ... | @@ -14,6 +14,11 @@ module.exports = { | ... | @@ -14,6 +14,11 @@ module.exports = { |
| 14 | form: { | 14 | form: { |
| 15 | datePicker: { | 15 | datePicker: { |
| 16 | datePlaceholder: "请选择日期" | 16 | datePlaceholder: "请选择日期" |
| 17 | }, | ||
| 18 | modalUploadCard: { | ||
| 19 | tit: "请上传证件资料", | ||
| 20 | front: "证件正面", | ||
| 21 | back: "证件反面", | ||
| 17 | } | 22 | } |
| 18 | }, | 23 | }, |
| 19 | nav: { | 24 | nav: { |
| ... | @@ -49,19 +54,19 @@ module.exports = { | ... | @@ -49,19 +54,19 @@ module.exports = { |
| 49 | name: "产品介绍", | 54 | name: "产品介绍", |
| 50 | path: "", | 55 | path: "", |
| 51 | list: [{ | 56 | list: [{ |
| 52 | name: "自愿医保基本计划", | 57 | name: "自愿医保基本计划", |
| 53 | path: "/empty" | 58 | path: "/empty" |
| 54 | }, | 59 | }, |
| 55 | { | 60 | { |
| 56 | name: "分红终身寿险", | 61 | name: "分红终身寿险", |
| 57 | path: "/product" | 62 | path: "/product" |
| 58 | }] | 63 | } |
| 64 | ] | ||
| 59 | }, | 65 | }, |
| 60 | { | 66 | { |
| 61 | name: "客户服务", | 67 | name: "客户服务", |
| 62 | path: "", | 68 | path: "", |
| 63 | list: [ | 69 | list: [{ |
| 64 | { | ||
| 65 | name: "客户服务导航", | 70 | name: "客户服务导航", |
| 66 | path: "/custom/product" | 71 | path: "/custom/product" |
| 67 | }, | 72 | }, |
| ... | @@ -103,24 +108,25 @@ module.exports = { | ... | @@ -103,24 +108,25 @@ module.exports = { |
| 103 | name: "关于我们", | 108 | name: "关于我们", |
| 104 | path: "", | 109 | path: "", |
| 105 | list: [{ | 110 | list: [{ |
| 106 | name: "平安人寿香港", | 111 | name: "平安人寿香港", |
| 107 | path: "/profile" | 112 | path: "/profile" |
| 108 | }, | 113 | }, |
| 109 | { | 114 | { |
| 110 | name: "公司活动", | 115 | name: "公司活动", |
| 111 | path: "/empty" | 116 | path: "/empty" |
| 112 | },{ | 117 | }, { |
| 113 | name: "新闻中心", | 118 | name: "新闻中心", |
| 114 | path: "/news/list" | 119 | path: "/news/list" |
| 115 | }, | 120 | }, |
| 116 | { | 121 | { |
| 117 | name: "企业社会责任", | 122 | name: "企业社会责任", |
| 118 | path: "/empty" | 123 | path: "/empty" |
| 119 | }, | 124 | }, |
| 120 | { | 125 | { |
| 121 | name: "奖项殊荣", | 126 | name: "奖项殊荣", |
| 122 | path: "/empty" | 127 | path: "/empty" |
| 123 | }] | 128 | } |
| 129 | ] | ||
| 124 | }, | 130 | }, |
| 125 | { | 131 | { |
| 126 | name: "加入我们", | 132 | name: "加入我们", |
| ... | @@ -612,7 +618,7 @@ module.exports = { | ... | @@ -612,7 +618,7 @@ module.exports = { |
| 612 | } | 618 | } |
| 613 | }, | 619 | }, |
| 614 | policyChangeInformation: { | 620 | policyChangeInformation: { |
| 615 | title : "客户资料变更", | 621 | title: "客户资料变更", |
| 616 | hkClient: "是否平安香港客戶", | 622 | hkClient: "是否平安香港客戶", |
| 617 | yes: "是", | 623 | yes: "是", |
| 618 | no: "否", | 624 | no: "否", | ... | ... |
| 1 | @import '@/styles/_support'; | 1 | @import '@/styles/_support'; |
| 2 | 2 | ||
| 3 | .comp { | 3 | .comp { |
| 4 | position: absolute; | 4 | position: fixed; |
| 5 | top: 0; | ||
| 6 | left: 0; | ||
| 5 | z-index: 999; | 7 | z-index: 999; |
| 6 | width: 100%; | 8 | width: 100%; |
| 7 | height: 100%; | 9 | height: 100%; |
| ... | @@ -21,8 +23,6 @@ | ... | @@ -21,8 +23,6 @@ |
| 21 | @extend .bb; | 23 | @extend .bb; |
| 22 | width: 46.25rem; | 24 | width: 46.25rem; |
| 23 | height: 28.5rem; | 25 | height: 28.5rem; |
| 24 | // width: 36rem; | ||
| 25 | // min-height: 22.5rem; | ||
| 26 | border-radius: 1.25rem; | 26 | border-radius: 1.25rem; |
| 27 | background-color: #ffffff; | 27 | background-color: #ffffff; |
| 28 | padding: 4.5rem 2rem 2.5rem; | 28 | padding: 4.5rem 2rem 2.5rem; |
| ... | @@ -58,6 +58,37 @@ | ... | @@ -58,6 +58,37 @@ |
| 58 | } | 58 | } |
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | .hide{ | 61 | .hide { |
| 62 | display: none; | 62 | display: none; |
| 63 | } | 63 | } |
| 64 | |||
| 65 | @media (max-width: 1200px) { | ||
| 66 | .comp { | ||
| 67 | position: fixed; | ||
| 68 | } | ||
| 69 | |||
| 70 | .modal { | ||
| 71 | // width: 90%; | ||
| 72 | position: absolute; | ||
| 73 | } | ||
| 74 | } | ||
| 75 | |||
| 76 | |||
| 77 | @media (max-width: 768px) { | ||
| 78 | .modal { | ||
| 79 | // height: 28.5rem; | ||
| 80 | width: 90%; | ||
| 81 | height: auto; | ||
| 82 | |||
| 83 | &-title { | ||
| 84 | margin-bottom: 1rem; | ||
| 85 | } | ||
| 86 | |||
| 87 | &-icon-wrap { | ||
| 88 | height: 10rem; | ||
| 89 | img{ | ||
| 90 | height: 100%; | ||
| 91 | } | ||
| 92 | } | ||
| 93 | } | ||
| 94 | } | ... | ... |
| 1 | import api from '@/api/api' | ||
| 2 | import { | ||
| 3 | httpGet, | ||
| 4 | httpPost | ||
| 5 | } from '@/api/fetch-api.js' | ||
| 6 | |||
| 7 | |||
| 8 | export default { | ||
| 9 | props: { | ||
| 10 | // 是否显示组件 | ||
| 11 | visible: { | ||
| 12 | type: Boolean, | ||
| 13 | default: true, | ||
| 14 | }, | ||
| 15 | // 标题名称 需要再 assets/images/common/ 目录下添加图标 | ||
| 16 | icon: { | ||
| 17 | type: String, | ||
| 18 | default: "succ", | ||
| 19 | }, | ||
| 20 | // 标题,不建议使用 | ||
| 21 | title: { | ||
| 22 | type: String, | ||
| 23 | default: "", | ||
| 24 | }, | ||
| 25 | // 文案 | ||
| 26 | content: { | ||
| 27 | type: String, | ||
| 28 | default: "", | ||
| 29 | }, | ||
| 30 | // 确认文案 | ||
| 31 | confirmText: { | ||
| 32 | type: String, | ||
| 33 | default: "確認", | ||
| 34 | }, | ||
| 35 | // 取消文案 | ||
| 36 | cancelText: { | ||
| 37 | type: String, | ||
| 38 | default: "取消", | ||
| 39 | }, | ||
| 40 | // 是否显示确认按钮 | ||
| 41 | showConfirm: { | ||
| 42 | type: Boolean, | ||
| 43 | default: true, | ||
| 44 | }, | ||
| 45 | // 是否显示取消按钮 | ||
| 46 | showCancel: { | ||
| 47 | type: Boolean, | ||
| 48 | default: false, | ||
| 49 | }, | ||
| 50 | // 是否显示遮罩层 | ||
| 51 | overlayShow: { | ||
| 52 | type: Boolean, | ||
| 53 | default: true, | ||
| 54 | }, | ||
| 55 | |||
| 56 | // 确定按钮回调方法 | ||
| 57 | confirm: { | ||
| 58 | type: Function, | ||
| 59 | default: null | ||
| 60 | }, | ||
| 61 | // 取消按钮回调方法 | ||
| 62 | cancel: { | ||
| 63 | type: Function, | ||
| 64 | default: null | ||
| 65 | }, | ||
| 66 | // 点击关闭回调方法 | ||
| 67 | close: { | ||
| 68 | type: Function, | ||
| 69 | default: null | ||
| 70 | }, | ||
| 71 | // 点击蒙层回调方法 | ||
| 72 | overlay: { | ||
| 73 | type: Function, | ||
| 74 | default: null | ||
| 75 | } | ||
| 76 | }, | ||
| 77 | data() { | ||
| 78 | return { | ||
| 79 | key: 'value' | ||
| 80 | } | ||
| 81 | }, | ||
| 82 | components: {}, | ||
| 83 | methods: { | ||
| 84 | // 点击确认 | ||
| 85 | onConfirmHandler() { | ||
| 86 | if (this.confirm) { | ||
| 87 | this.confirm(); | ||
| 88 | } | ||
| 89 | }, | ||
| 90 | // 点击取消 | ||
| 91 | onCancelHandler() { | ||
| 92 | if (this.cancel) { | ||
| 93 | this.cancel(); | ||
| 94 | } | ||
| 95 | }, | ||
| 96 | // 点击关闭 | ||
| 97 | onCloseHandler() { | ||
| 98 | if (this.close) { | ||
| 99 | this.close(); | ||
| 100 | } | ||
| 101 | }, | ||
| 102 | // 点击蒙层 | ||
| 103 | onOverLayHandler() { | ||
| 104 | if (this.overlay) { | ||
| 105 | this.overlay(); | ||
| 106 | } | ||
| 107 | }, | ||
| 108 | initData() {} | ||
| 109 | }, | ||
| 110 | mounted() {}, | ||
| 111 | created() {} | ||
| 112 | } |
| 1 | @import '@/styles/_support'; | ||
| 2 | |||
| 3 | .comp { | ||
| 4 | position: fixed; | ||
| 5 | top: 0; | ||
| 6 | left: 0; | ||
| 7 | z-index: 999; | ||
| 8 | width: 100%; | ||
| 9 | height: 100%; | ||
| 10 | @extend .fcc; | ||
| 11 | text-align: center; | ||
| 12 | } | ||
| 13 | |||
| 14 | .overlay { | ||
| 15 | position: absolute; | ||
| 16 | width: 100%; | ||
| 17 | height: 100%; | ||
| 18 | background: rgba($color: #000000, $alpha: 0.7); | ||
| 19 | } | ||
| 20 | |||
| 21 | .modal { | ||
| 22 | position: relative; | ||
| 23 | width: 45.5rem; | ||
| 24 | min-height: 18.25rem; | ||
| 25 | border-radius: $borderRadius; | ||
| 26 | background-color: #ffffff; | ||
| 27 | |||
| 28 | &-title { | ||
| 29 | position: relative; | ||
| 30 | @extend .bb; | ||
| 31 | @include border-top-radius($borderRadius); | ||
| 32 | @include ellipsis(1); | ||
| 33 | font-size: $fontSizeTitle; | ||
| 34 | font-weight: bold; | ||
| 35 | height: 5rem; | ||
| 36 | line-height: 5rem; | ||
| 37 | // font-weight: bold; | ||
| 38 | background-color: #f2f2f2; | ||
| 39 | text-align: left; | ||
| 40 | padding: 0 3rem; | ||
| 41 | |||
| 42 | .close-btn { | ||
| 43 | position: absolute; | ||
| 44 | top: 2rem; | ||
| 45 | right: 2rem; | ||
| 46 | } | ||
| 47 | } | ||
| 48 | |||
| 49 | &-icon-wrap { | ||
| 50 | @extend .fcc; | ||
| 51 | height: 12rem; | ||
| 52 | } | ||
| 53 | |||
| 54 | &-content { | ||
| 55 | @extend .fcc; | ||
| 56 | @extend .bb; | ||
| 57 | font-size: $fontSize; | ||
| 58 | font-weight: bold; | ||
| 59 | min-height: 13.25rem; | ||
| 60 | padding: $marginMedium-M 3rem; | ||
| 61 | } | ||
| 62 | |||
| 63 | &-btn-wrap { | ||
| 64 | display: flex; | ||
| 65 | justify-content: center; | ||
| 66 | |||
| 67 | .btn { | ||
| 68 | @include btc2(12rem, 3.6rem, 16px); | ||
| 69 | margin: 3rem 1rem 0; | ||
| 70 | @extend .pointer; | ||
| 71 | } | ||
| 72 | } | ||
| 73 | } | ||
| 74 | |||
| 75 | .hide { | ||
| 76 | display: none; | ||
| 77 | } | ||
| 78 | |||
| 79 | @media (max-width: 1200px) { | ||
| 80 | .comp { | ||
| 81 | position: fixed; | ||
| 82 | } | ||
| 83 | |||
| 84 | .modal { | ||
| 85 | position: absolute; | ||
| 86 | } | ||
| 87 | } | ||
| 88 | |||
| 89 | |||
| 90 | @media (max-width: 768px) { | ||
| 91 | .modal { | ||
| 92 | |||
| 93 | width: 90%; | ||
| 94 | height: auto; | ||
| 95 | |||
| 96 | &-title {} | ||
| 97 | |||
| 98 | &-icon-wrap { | ||
| 99 | height: 10rem; | ||
| 100 | |||
| 101 | img { | ||
| 102 | height: 100%; | ||
| 103 | } | ||
| 104 | } | ||
| 105 | } | ||
| 106 | } |
| 1 | |||
| 2 | <template> | ||
| 3 | <div class="comp" :class="{'hide' : !visible }"> | ||
| 4 | <div @click="onOverLayHandler()" class="overlay" v-if="overlayShow"></div> | ||
| 5 | <div class="modal"> | ||
| 6 | <div class="modal-title"> | ||
| 7 | {{title}} | ||
| 8 | <img @click="onCloseHandler()" class="close-btn pointer" :src="require('@assets/images/common/icon-modal-simple-close.png')"> | ||
| 9 | </div> | ||
| 10 | <div class="modal-content">{{content}}</div> | ||
| 11 | </div> | ||
| 12 | </div> | ||
| 13 | </template> | ||
| 14 | |||
| 15 | <script src="./modal-simple-comp.js"></script> | ||
| 16 | <style lang="scss" scoped> | ||
| 17 | @import "./modal-simple-comp.scss"; | ||
| 18 | </style> |
| 1 | import api from '@/api/api' | ||
| 2 | import { | ||
| 3 | httpGet, | ||
| 4 | httpPost | ||
| 5 | } from '@/api/fetch-api.js' | ||
| 6 | |||
| 7 | |||
| 8 | export default { | ||
| 9 | props: { | ||
| 10 | // 是否显示组件 | ||
| 11 | visible: { | ||
| 12 | type: Boolean, | ||
| 13 | default: true, | ||
| 14 | }, | ||
| 15 | // 标题名称 需要再 assets/images/common/ 目录下添加图标 | ||
| 16 | icon: { | ||
| 17 | type: String, | ||
| 18 | default: "succ", | ||
| 19 | }, | ||
| 20 | // 标题,不建议使用 | ||
| 21 | title: { | ||
| 22 | type: String, | ||
| 23 | default: "", | ||
| 24 | }, | ||
| 25 | // 文案 | ||
| 26 | content: { | ||
| 27 | type: String, | ||
| 28 | default: "", | ||
| 29 | }, | ||
| 30 | // 确认文案 | ||
| 31 | confirmText: { | ||
| 32 | type: String, | ||
| 33 | default: "確認", | ||
| 34 | }, | ||
| 35 | // 取消文案 | ||
| 36 | cancelText: { | ||
| 37 | type: String, | ||
| 38 | default: "取消", | ||
| 39 | }, | ||
| 40 | // 是否显示确认按钮 | ||
| 41 | showConfirm: { | ||
| 42 | type: Boolean, | ||
| 43 | default: true, | ||
| 44 | }, | ||
| 45 | // 是否显示取消按钮 | ||
| 46 | showCancel: { | ||
| 47 | type: Boolean, | ||
| 48 | default: false, | ||
| 49 | }, | ||
| 50 | // 是否显示遮罩层 | ||
| 51 | overlayShow: { | ||
| 52 | type: Boolean, | ||
| 53 | default: true, | ||
| 54 | }, | ||
| 55 | |||
| 56 | // 确定按钮回调方法 | ||
| 57 | confirm: { | ||
| 58 | type: Function, | ||
| 59 | default: null | ||
| 60 | }, | ||
| 61 | // 取消按钮回调方法 | ||
| 62 | cancel: { | ||
| 63 | type: Function, | ||
| 64 | default: null | ||
| 65 | }, | ||
| 66 | // 点击关闭回调方法 | ||
| 67 | close: { | ||
| 68 | type: Function, | ||
| 69 | default: null | ||
| 70 | }, | ||
| 71 | // 点击蒙层回调方法 | ||
| 72 | overlay: { | ||
| 73 | type: Function, | ||
| 74 | default: null | ||
| 75 | } | ||
| 76 | }, | ||
| 77 | data() { | ||
| 78 | return { | ||
| 79 | key: 'value' | ||
| 80 | } | ||
| 81 | }, | ||
| 82 | components: {}, | ||
| 83 | methods: { | ||
| 84 | // 点击确认 | ||
| 85 | onConfirmHandler() { | ||
| 86 | if (this.confirm) { | ||
| 87 | this.confirm(); | ||
| 88 | } | ||
| 89 | }, | ||
| 90 | // 点击取消 | ||
| 91 | onCancelHandler() { | ||
| 92 | if (this.cancel) { | ||
| 93 | this.cancel(); | ||
| 94 | } | ||
| 95 | }, | ||
| 96 | // 点击关闭 | ||
| 97 | onCloseHandler() { | ||
| 98 | if (this.close) { | ||
| 99 | this.close(); | ||
| 100 | } | ||
| 101 | }, | ||
| 102 | // 点击蒙层 | ||
| 103 | onOverLayHandler() { | ||
| 104 | if (this.overlay) { | ||
| 105 | this.overlay(); | ||
| 106 | } | ||
| 107 | }, | ||
| 108 | initData() {} | ||
| 109 | }, | ||
| 110 | mounted() {}, | ||
| 111 | created() {} | ||
| 112 | } |
| 1 | @import '@/styles/_support'; | ||
| 2 | |||
| 3 | .comp { | ||
| 4 | position: fixed; | ||
| 5 | top: 0; | ||
| 6 | left: 0; | ||
| 7 | z-index: 999; | ||
| 8 | width: 100%; | ||
| 9 | height: 100%; | ||
| 10 | @extend .fcc; | ||
| 11 | text-align: center; | ||
| 12 | } | ||
| 13 | |||
| 14 | .overlay { | ||
| 15 | position: absolute; | ||
| 16 | width: 100%; | ||
| 17 | height: 100%; | ||
| 18 | background: rgba($color: #000000, $alpha: 0.7); | ||
| 19 | } | ||
| 20 | |||
| 21 | .modal { | ||
| 22 | @extend .bb; | ||
| 23 | position: relative; | ||
| 24 | width: 45.5rem; | ||
| 25 | min-height: 23.25rem; | ||
| 26 | border-radius: $borderRadius; | ||
| 27 | background-color: #ffffff; | ||
| 28 | padding-bottom: $marginMedium-M; | ||
| 29 | |||
| 30 | |||
| 31 | &-title { | ||
| 32 | position: relative; | ||
| 33 | @extend .bb; | ||
| 34 | @include border-top-radius($borderRadius); | ||
| 35 | @include ellipsis(1); | ||
| 36 | font-size: $fontSizeTitle; | ||
| 37 | font-weight: bold; | ||
| 38 | height: 5rem; | ||
| 39 | line-height: 5rem; | ||
| 40 | // font-weight: bold; | ||
| 41 | background-color: #f2f2f2; | ||
| 42 | text-align: left; | ||
| 43 | padding: 0 3rem; | ||
| 44 | |||
| 45 | .close-btn { | ||
| 46 | position: absolute; | ||
| 47 | top: 2rem; | ||
| 48 | right: 2rem; | ||
| 49 | } | ||
| 50 | } | ||
| 51 | |||
| 52 | &-icon-wrap { | ||
| 53 | @extend .fcc; | ||
| 54 | height: 12rem; | ||
| 55 | } | ||
| 56 | |||
| 57 | &-content { | ||
| 58 | @extend .fcc; | ||
| 59 | @extend .bb; | ||
| 60 | font-size: $fontSize; | ||
| 61 | font-weight: bold; | ||
| 62 | min-height: 13.25rem; | ||
| 63 | padding: $marginMedium-M 3rem; | ||
| 64 | |||
| 65 | .upload { | ||
| 66 | display: flex; | ||
| 67 | flex-wrap: wrap; | ||
| 68 | justify-content: center; | ||
| 69 | align-content: center; | ||
| 70 | |||
| 71 | &-item { | ||
| 72 | padding: 0 $marginSmallHalf; | ||
| 73 | } | ||
| 74 | } | ||
| 75 | } | ||
| 76 | |||
| 77 | &-btn-wrap { | ||
| 78 | display: flex; | ||
| 79 | justify-content: center; | ||
| 80 | |||
| 81 | .btn { | ||
| 82 | @include btc2(12rem, 3.6rem, 16px); | ||
| 83 | margin: 0 1rem 0; | ||
| 84 | @extend .pointer; | ||
| 85 | } | ||
| 86 | } | ||
| 87 | } | ||
| 88 | |||
| 89 | .hide { | ||
| 90 | display: none; | ||
| 91 | } | ||
| 92 | |||
| 93 | @media (max-width: 1200px) { | ||
| 94 | .comp { | ||
| 95 | position: fixed; | ||
| 96 | } | ||
| 97 | |||
| 98 | .modal { | ||
| 99 | position: absolute; | ||
| 100 | } | ||
| 101 | } | ||
| 102 | |||
| 103 | |||
| 104 | @media (max-width: 768px) { | ||
| 105 | .modal { | ||
| 106 | width: 90%; | ||
| 107 | height: auto; | ||
| 108 | |||
| 109 | &-title {} | ||
| 110 | |||
| 111 | &-icon-wrap { | ||
| 112 | height: 10rem; | ||
| 113 | |||
| 114 | img { | ||
| 115 | height: 100%; | ||
| 116 | } | ||
| 117 | } | ||
| 118 | |||
| 119 | &-content { | ||
| 120 | .upload { | ||
| 121 | &-item { | ||
| 122 | width: auto; | ||
| 123 | } | ||
| 124 | } | ||
| 125 | } | ||
| 126 | } | ||
| 127 | } |
| 1 | |||
| 2 | <template> | ||
| 3 | <div class="comp" :class="{'hide' : !visible }"> | ||
| 4 | <div @click="onOverLayHandler()" class="overlay" v-if="overlayShow"></div> | ||
| 5 | <div class="modal"> | ||
| 6 | <div class="modal-title"> | ||
| 7 | {{$t('form.modalUploadCard.tit')}} | ||
| 8 | <img @click="onCloseHandler()" class="close-btn pointer" :src="require('@assets/images/common/icon-modal-simple-close.png')"> | ||
| 9 | </div> | ||
| 10 | <div class="modal-content"> | ||
| 11 | <div class="gird-g upload"> | ||
| 12 | <div class="pure-u-1 pure-u-md-1-2 upload-item"> | ||
| 13 | <div class="tit"> {{$t('form.modalUploadCard.front')}}</div> | ||
| 14 | <img class="poster pointer" :src="require('@assets/images/common/card-front.png')" alt=""> | ||
| 15 | </div> | ||
| 16 | <div class="pure-u-1 pure-u-md-1-2 upload-item"> | ||
| 17 | <div class="tit"> {{$t('form.modalUploadCard.back')}}</div> | ||
| 18 | <img class="poster pointer" :src="require('@assets/images/common/card-back.png')" alt=""> | ||
| 19 | </div> | ||
| 20 | </div> | ||
| 21 | </div> | ||
| 22 | <div class="modal-btn-wrap"> | ||
| 23 | <div @click="onCancelHandler()" v-if="showCancel" class="btn">{{cancelText}}</div> | ||
| 24 | <div @click="onConfirmHandler()" v-if="showConfirm" class="btn">{{confirmText}}</div> | ||
| 25 | </div> | ||
| 26 | </div> | ||
| 27 | </div> | ||
| 28 | </template> | ||
| 29 | |||
| 30 | <script src="./modal-upload-card-comp.js"></script> | ||
| 31 | <style lang="scss" scoped> | ||
| 32 | @import "./modal-upload-card-comp.scss"; | ||
| 33 | </style> |
| ... | @@ -25,20 +25,9 @@ export default { | ... | @@ -25,20 +25,9 @@ export default { |
| 25 | e2: "", | 25 | e2: "", |
| 26 | e3: "" | 26 | e3: "" |
| 27 | }, | 27 | }, |
| 28 | dataForm: { | ||
| 29 | |||
| 30 | }, | ||
| 31 | insuranceForm: { | ||
| 32 | f1: true, | ||
| 33 | f2: true, | ||
| 34 | f3: true, | ||
| 35 | f4: true, | ||
| 36 | f5: true, | ||
| 37 | } | ||
| 38 | } | 28 | } |
| 39 | }, | 29 | }, |
| 40 | components: { | 30 | components: {}, |
| 41 | }, | ||
| 42 | computed: { | 31 | computed: { |
| 43 | locale() { | 32 | locale() { |
| 44 | return this.$i18n.locale || 'tc'; | 33 | return this.$i18n.locale || 'tc'; |
| ... | @@ -155,5 +144,5 @@ export default { | ... | @@ -155,5 +144,5 @@ export default { |
| 155 | mounted() { | 144 | mounted() { |
| 156 | this.initData(); | 145 | this.initData(); |
| 157 | }, | 146 | }, |
| 158 | created() { } | 147 | created() {} |
| 159 | } | 148 | } | ... | ... |
| ... | @@ -4,15 +4,20 @@ import { | ... | @@ -4,15 +4,20 @@ import { |
| 4 | httpPost | 4 | httpPost |
| 5 | } from '@/api/fetch-api.js' | 5 | } from '@/api/fetch-api.js' |
| 6 | 6 | ||
| 7 | import modalUploadCardComp from '@/components/modal-upload-card-comp/modal-upload-card-comp.vue'; | ||
| 8 | |||
| 7 | export default { | 9 | export default { |
| 8 | data() { | 10 | data() { |
| 9 | return { | 11 | return { |
| 10 | key: 'value', | 12 | key: 'value', |
| 11 | isHkCus : true, | 13 | isHkCus: true, |
| 12 | checked : false | 14 | checked: false, |
| 15 | modalUploadCardVisiable: false, | ||
| 13 | } | 16 | } |
| 14 | }, | 17 | }, |
| 15 | components: {}, | 18 | components: { |
| 19 | modalUploadCardComp | ||
| 20 | }, | ||
| 16 | computed: { | 21 | computed: { |
| 17 | locale() { | 22 | locale() { |
| 18 | return this.$i18n.locale || 'tc'; | 23 | return this.$i18n.locale || 'tc'; | ... | ... |
| 1 | 1 | ||
| 2 | <template> | 2 | <template> |
| 3 | <div class="container border"> | 3 | <div> |
| 4 | <div class="table"> | 4 | <modal-upload-card-comp :visible="modalUploadCardVisiable" :show-confirm="true" ></modal-upload-card-comp> |
| 5 | <div class="table-header orange"> | 5 | <div class="container border"> |
| 6 | <div class="table-header-item">{{$t('policyChangeInformation.title')}}</div> | 6 | <div class="table"> |
| 7 | </div> | 7 | <div class="table-header orange"> |
| 8 | <div class="gird-g form"> | 8 | <div class="table-header-item">{{$t('policyChangeInformation.title')}}</div> |
| 9 | |||
| 10 | <!-- 變更對象 checkbox --> | ||
| 11 | <div class="pure-u-1 form-item form-item2"> | ||
| 12 | <div class="label"> | ||
| 13 | {{$t('policyChangeInformation.hkClient')}} | ||
| 14 | </div> | ||
| 15 | <div class="cont"> | ||
| 16 | <div class="boo-btn pointer" :class="{active:isHkCus}" @click="isHkCus=true">{{$t('policyChangeInformation.yes')}}</div> | ||
| 17 | <div class="boo-btn pointer" :class="{active:!isHkCus}" @click="isHkCus=false">{{$t('policyChangeInformation.no')}}</div> | ||
| 18 | </div> | ||
| 19 | </div> | 9 | </div> |
| 10 | <div class="gird-g form"> | ||
| 20 | 11 | ||
| 21 | <!-- start --> | 12 | <!-- 變更對象 checkbox --> |
| 22 | <!-- 1 --> | 13 | <div class="pure-u-1 form-item form-item2"> |
| 23 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | 14 | <div class="label"> |
| 24 | <div class="label"> | 15 | {{$t('policyChangeInformation.hkClient')}} |
| 25 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-info.png"></div> {{$t('policyChangeInformation.obj')}} | 16 | </div> |
| 26 | </div> | 17 | <div class="cont"> |
| 27 | <div class="ipt-wrap"> | 18 | <div class="boo-btn pointer" :class="{active:isHkCus}" @click="isHkCus=true">{{$t('policyChangeInformation.yes')}}</div> |
| 28 | <input class="ipt" type="text"> | 19 | <div class="boo-btn pointer" :class="{active:!isHkCus}" @click="isHkCus=false">{{$t('policyChangeInformation.no')}}</div> |
| 20 | </div> | ||
| 29 | </div> | 21 | </div> |
| 30 | </div> | ||
| 31 | 22 | ||
| 32 | <!-- 2 --> | 23 | <!-- start --> |
| 33 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | 24 | <!-- 1 --> |
| 34 | <div class="label label2"> | 25 | <div class="pure-u-1 pure-u-md-1-2 form-item"> |
| 35 | <div class="fla"> | 26 | <div class="label"> |
| 36 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-info.png"></div>{{$t('policyChangeInformation.sex')}} | 27 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-info.png"></div> {{$t('policyChangeInformation.obj')}} |
| 37 | </div> | 28 | </div> |
| 38 | <div class="fla"> | 29 | <div class="ipt-wrap"> |
| 39 | <div class="icon icon2"><img src="@/assets/images/policy-change-information/icon-pci-notice.png"></div> | 30 | <input class="ipt" type="text"> |
| 40 | <span class="t1">{{$t('policyChangeInformation.modifyTips1')}}</span> | ||
| 41 | <span class="t2">{{$t('policyChangeInformation.modifyTips2')}}</span> | ||
| 42 | </div> | 31 | </div> |
| 43 | </div> | 32 | </div> |
| 44 | <div class="ipt-wrap"> | ||
| 45 | <div class="down-arrow"></div> | ||
| 46 | <select disabled class="ipt disable"> | ||
| 47 | <option v-if="locale !='zh'">男</option> | ||
| 48 | <option v-else>男</option> | ||
| 49 | </select> | ||
| 50 | </div> | ||
| 51 | </div> | ||
| 52 | 33 | ||
| 53 | <!-- 3 --> | 34 | <!-- 2 --> |
| 54 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | 35 | <div class="pure-u-1 pure-u-md-1-2 form-item"> |
| 55 | <div class="label label2"> | 36 | <div class="label label2"> |
| 56 | <div class="fla"> | 37 | <div class="fla"> |
| 57 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-date.png"></div>{{$t('policyChangeInformation.birth')}} | 38 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-info.png"></div>{{$t('policyChangeInformation.sex')}} |
| 39 | </div> | ||
| 40 | <div class="fla"> | ||
| 41 | <div class="icon icon2"><img src="@/assets/images/policy-change-information/icon-pci-notice.png"></div> | ||
| 42 | <span class="t1">{{$t('policyChangeInformation.modifyTips1')}}</span> | ||
| 43 | <span class="t2">{{$t('policyChangeInformation.modifyTips2')}}</span> | ||
| 44 | </div> | ||
| 58 | </div> | 45 | </div> |
| 59 | <div class="fla"> | 46 | <div class="ipt-wrap"> |
| 60 | <div class="icon icon2"><img src="@/assets/images/policy-change-information/icon-pci-notice.png"></div> | 47 | <div class="down-arrow"></div> |
| 61 | <span class="t1">{{$t('policyChangeInformation.modifyTips1')}}</span> | 48 | <select disabled class="ipt disable"> |
| 62 | <span class="t2">{{$t('policyChangeInformation.modifyTips2')}}</span> | 49 | <option v-if="locale !='zh'">男</option> |
| 50 | <option v-else>男</option> | ||
| 51 | </select> | ||
| 63 | </div> | 52 | </div> |
| 64 | </div> | 53 | </div> |
| 65 | <div class="ipt-wrap"> | ||
| 66 | <input disabled placeholder="1999-1-1" class="ipt disable" type="text"> | ||
| 67 | </div> | ||
| 68 | </div> | ||
| 69 | 54 | ||
| 70 | <!-- 4 --> | 55 | <!-- 3 --> |
| 71 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | 56 | <div class="pure-u-1 pure-u-md-1-2 form-item"> |
| 72 | <div class="label"> | 57 | <div class="label label2"> |
| 73 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-card.png"></div>{{$t('policyChangeInformation.type')}} | 58 | <div class="fla"> |
| 74 | </div> | 59 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-date.png"></div>{{$t('policyChangeInformation.birth')}} |
| 75 | <div class="ipt-wrap"> | 60 | </div> |
| 76 | <div class="down-arrow"></div> | 61 | <div class="fla"> |
| 77 | <select class="ipt"> | 62 | <div class="icon icon2"><img src="@/assets/images/policy-change-information/icon-pci-notice.png"></div> |
| 78 | <template v-if="locale =='zh'"> | 63 | <span class="t1">{{$t('policyChangeInformation.modifyTips1')}}</span> |
| 79 | <option>身份证</option> | 64 | <span class="t2">{{$t('policyChangeInformation.modifyTips2')}}</span> |
| 80 | </template> | 65 | </div> |
| 81 | <template v-else> | 66 | </div> |
| 82 | <option>身份證</option> | 67 | <div class="ipt-wrap"> |
| 83 | </template> | 68 | <input disabled placeholder="1999-1-1" class="ipt disable" type="text"> |
| 84 | </select> | 69 | </div> |
| 85 | </div> | 70 | </div> |
| 86 | </div> | ||
| 87 | 71 | ||
| 88 | <!-- 5 --> | 72 | <!-- 4 --> |
| 89 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | 73 | <div class="pure-u-1 pure-u-md-1-2 form-item"> |
| 90 | <div class="label"> | 74 | <div class="label"> |
| 91 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-card.png"></div> {{$t('policyChangeInformation.NO')}} | 75 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-card.png"></div>{{$t('policyChangeInformation.type')}} |
| 92 | </div> | 76 | </div> |
| 93 | <div class="ipt-wrap"> | 77 | <div class="ipt-wrap"> |
| 94 | <div class="eye"></div> | 78 | <div class="down-arrow"></div> |
| 95 | <!-- --> | 79 | <select class="ipt"> |
| 96 | <!-- <div class="eye eye-act"></div> --> | 80 | <template v-if="locale =='zh'"> |
| 97 | <input class="ipt" type="text"> | 81 | <option>身份证</option> |
| 82 | </template> | ||
| 83 | <template v-else> | ||
| 84 | <option>身份證</option> | ||
| 85 | </template> | ||
| 86 | </select> | ||
| 87 | </div> | ||
| 98 | </div> | 88 | </div> |
| 99 | </div> | ||
| 100 | 89 | ||
| 101 | <!-- 6 --> | 90 | <!-- 5 --> |
| 102 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | 91 | <div class="pure-u-1 pure-u-md-1-2 form-item"> |
| 103 | <div class="label"> | 92 | <div class="label"> |
| 104 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-card.png"></div> {{$t('policyChangeInformation.validityPeriod')}} | 93 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-card.png"></div> {{$t('policyChangeInformation.NO')}} |
| 105 | </div> | 94 | </div> |
| 106 | <div class="ipt-wrap"> | 95 | <div class="ipt-wrap"> |
| 107 | <input class="ipt" type="text"> | 96 | <div class="eye"></div> |
| 97 | <!-- --> | ||
| 98 | <!-- <div class="eye eye-act"></div> --> | ||
| 99 | <input class="ipt" type="text"> | ||
| 100 | </div> | ||
| 108 | </div> | 101 | </div> |
| 109 | </div> | ||
| 110 | 102 | ||
| 111 | <!-- 7 --> | 103 | <!-- 6 --> |
| 112 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | 104 | <div class="pure-u-1 pure-u-md-1-2 form-item"> |
| 113 | <div class="label"> | 105 | <div class="label"> |
| 114 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-earth.png"></div> {{$t('policyChangeInformation.nationality')}} | 106 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-card.png"></div> {{$t('policyChangeInformation.validityPeriod')}} |
| 115 | </div> | 107 | </div> |
| 116 | <div class="ipt-wrap"> | 108 | <div class="ipt-wrap"> |
| 117 | <input class="ipt" type="text"> | 109 | <input class="ipt" type="text"> |
| 110 | </div> | ||
| 118 | </div> | 111 | </div> |
| 119 | </div> | ||
| 120 | 112 | ||
| 121 | <!-- 8 --> | 113 | <!-- 7 --> |
| 122 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | 114 | <div class="pure-u-1 pure-u-md-1-2 form-item"> |
| 123 | <div class="label"> | 115 | <div class="label"> |
| 124 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-build.png"></div> {{$t('policyChangeInformation.employer')}} | 116 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-earth.png"></div> {{$t('policyChangeInformation.nationality')}} |
| 125 | </div> | 117 | </div> |
| 126 | <div class="ipt-wrap"> | 118 | <div class="ipt-wrap"> |
| 127 | <input class="ipt" type="text"> | 119 | <input class="ipt" type="text"> |
| 120 | </div> | ||
| 128 | </div> | 121 | </div> |
| 129 | </div> | ||
| 130 | 122 | ||
| 131 | <!-- 9 --> | 123 | <!-- 8 --> |
| 132 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | 124 | <div class="pure-u-1 pure-u-md-1-2 form-item"> |
| 133 | <div class="label"> | 125 | <div class="label"> |
| 134 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-love.png"></div> {{$t('policyChangeInformation.maritalStatus')}} | 126 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-build.png"></div> {{$t('policyChangeInformation.employer')}} |
| 127 | </div> | ||
| 128 | <div class="ipt-wrap"> | ||
| 129 | <input class="ipt" type="text"> | ||
| 130 | </div> | ||
| 135 | </div> | 131 | </div> |
| 136 | <div class="ipt-wrap"> | 132 | |
| 137 | <input class="ipt" type="text"> | 133 | <!-- 9 --> |
| 134 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | ||
| 135 | <div class="label"> | ||
| 136 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-love.png"></div> {{$t('policyChangeInformation.maritalStatus')}} | ||
| 137 | </div> | ||
| 138 | <div class="ipt-wrap"> | ||
| 139 | <input class="ipt" type="text"> | ||
| 140 | </div> | ||
| 138 | </div> | 141 | </div> |
| 139 | </div> | ||
| 140 | 142 | ||
| 141 | <div class="pure-u-1 pure-u-md-1-2 form-item"></div> | 143 | <div class="pure-u-1 pure-u-md-1-2 form-item"></div> |
| 142 | 144 | ||
| 143 | </div> | 145 | </div> |
| 144 | 146 | ||
| 145 | <div class="submit-btn"> | 147 | <div class="submit-btn"> |
| 146 | {{$t("policyChangeInformation.submit")}} | 148 | {{$t("policyChangeInformation.submit")}} |
| 149 | </div> | ||
| 147 | </div> | 150 | </div> |
| 148 | </div> | 151 | </div> |
| 149 | </div> | 152 | </div> |
| 153 | |||
| 150 | </template> | 154 | </template> |
| 151 | 155 | ||
| 152 | <script src="./policy-change-information.js"></script> | 156 | <script src="./policy-change-information.js"></script> | ... | ... |
| 1 | 1 | import { | |
| 2 | import { mapGetters, mapActions, mapState } from "vuex"; | 2 | mapGetters, |
| 3 | mapActions, | ||
| 4 | mapState | ||
| 5 | } from "vuex"; | ||
| 3 | 6 | ||
| 4 | import api from '@/api/api' | 7 | import api from '@/api/api' |
| 5 | import { | 8 | import { |
| ... | @@ -9,7 +12,11 @@ import { | ... | @@ -9,7 +12,11 @@ import { |
| 9 | 12 | ||
| 10 | 13 | ||
| 11 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 14 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
| 12 | import { passwordEncrypt } from '@/utils/encrypt.js'; | 15 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; |
| 16 | import modalUploadCardComp from '@/components/modal-upload-card-comp/modal-upload-card-comp.vue'; | ||
| 17 | import { | ||
| 18 | passwordEncrypt | ||
| 19 | } from '@/utils/encrypt.js'; | ||
| 13 | 20 | ||
| 14 | 21 | ||
| 15 | export default { | 22 | export default { |
| ... | @@ -49,10 +56,10 @@ export default { | ... | @@ -49,10 +56,10 @@ export default { |
| 49 | }, | 56 | }, |
| 50 | errorTips: { | 57 | errorTips: { |
| 51 | // 账密登录页 | 58 | // 账密登录页 |
| 52 | e1: "",// 账号 | 59 | e1: "", // 账号 |
| 53 | e2: "",// 密码 | 60 | e2: "", // 密码 |
| 54 | e3: "",// 图像验证码 | 61 | e3: "", // 图像验证码 |
| 55 | e4: "",// 勾选同意 | 62 | e4: "", // 勾选同意 |
| 56 | // 短信验证码 | 63 | // 短信验证码 |
| 57 | oe1: "", // 账号 | 64 | oe1: "", // 账号 |
| 58 | oe2: "", // 短信验证码 | 65 | oe2: "", // 短信验证码 |
| ... | @@ -62,13 +69,17 @@ export default { | ... | @@ -62,13 +69,17 @@ export default { |
| 62 | p5: "" | 69 | p5: "" |
| 63 | }, | 70 | }, |
| 64 | modalVisiable: false, | 71 | modalVisiable: false, |
| 72 | modalSimpleVisiable: false, | ||
| 73 | modalUploadCardVisiable: false, | ||
| 65 | targetPath: "", | 74 | targetPath: "", |
| 66 | modalIcon: "succ", | 75 | modalIcon: "succ", |
| 67 | modalContent: "" | 76 | modalContent: "" |
| 68 | } | 77 | } |
| 69 | }, | 78 | }, |
| 70 | components: { | 79 | components: { |
| 71 | modalComp | 80 | modalComp, |
| 81 | modalSimpleComp, | ||
| 82 | modalUploadCardComp | ||
| 72 | }, | 83 | }, |
| 73 | computed: { | 84 | computed: { |
| 74 | ...mapState({ | 85 | ...mapState({ |
| ... | @@ -112,7 +123,7 @@ export default { | ... | @@ -112,7 +123,7 @@ export default { |
| 112 | onLoginTypeHandler(val) { | 123 | onLoginTypeHandler(val) { |
| 113 | this.type = val; | 124 | this.type = val; |
| 114 | }, | 125 | }, |
| 115 | initData() { }, | 126 | initData() {}, |
| 116 | handlerIsShowImageVcode() { | 127 | handlerIsShowImageVcode() { |
| 117 | return new Promise((resolve, reject) => { | 128 | return new Promise((resolve, reject) => { |
| 118 | httpPost({ | 129 | httpPost({ |
| ... | @@ -381,7 +392,10 @@ export default { | ... | @@ -381,7 +392,10 @@ export default { |
| 381 | data["vcodeuuid"] = this.values.vcodeuuid; | 392 | data["vcodeuuid"] = this.values.vcodeuuid; |
| 382 | data["imageValue"] = this.loginForm.imageValue; | 393 | data["imageValue"] = this.loginForm.imageValue; |
| 383 | } | 394 | } |
| 384 | httpPost({ url: api.stdSendOTP, data: data }); | 395 | httpPost({ |
| 396 | url: api.stdSendOTP, | ||
| 397 | data: data | ||
| 398 | }); | ||
| 385 | }, | 399 | }, |
| 386 | _startTimeClick() { | 400 | _startTimeClick() { |
| 387 | this.times.remain = 120; | 401 | this.times.remain = 120; |
| ... | @@ -429,11 +443,18 @@ export default { | ... | @@ -429,11 +443,18 @@ export default { |
| 429 | }, | 443 | }, |
| 430 | modalCallback() { | 444 | modalCallback() { |
| 431 | this.modalVisiable = false; | 445 | this.modalVisiable = false; |
| 446 | this.modalSimpleVisiable = false; | ||
| 447 | this.modalUploadCardVisiable = false; | ||
| 432 | if (this.targetPath) { | 448 | if (this.targetPath) { |
| 433 | this.$router.push({ | 449 | this.$router.push({ |
| 434 | "path": this.targetPath | 450 | "path": this.targetPath |
| 435 | }); | 451 | }); |
| 436 | } | 452 | } |
| 453 | }, | ||
| 454 | closeCallback() { | ||
| 455 | this.modalVisiable = false; | ||
| 456 | this.modalSimpleVisiable = false; | ||
| 457 | this.modalUploadCardVisiable = false; | ||
| 437 | } | 458 | } |
| 438 | }, | 459 | }, |
| 439 | watch: { | 460 | watch: { |
| ... | @@ -471,5 +492,5 @@ export default { | ... | @@ -471,5 +492,5 @@ export default { |
| 471 | // console.log("PK === ", this.PK) | 492 | // console.log("PK === ", this.PK) |
| 472 | // console.log("E === ", this.E) | 493 | // console.log("E === ", this.E) |
| 473 | }, | 494 | }, |
| 474 | created() { } | 495 | created() {} |
| 475 | } | 496 | } | ... | ... |
| 1 | 1 | ||
| 2 | <template> | 2 | <template> |
| 3 | <div class="content"> | 3 | <div> |
| 4 | <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp> | 4 | <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp> |
| 5 | <div class="ebg"> | 5 | <modal-simple-comp :visible="modalSimpleVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback" :close="closeCallback"></modal-simple-comp> |
| 6 | <img src="@/assets/images/common/login-bg.png"> | 6 | <modal-upload-card-comp :visible="modalUploadCardVisiable" :show-confirm="true" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback" :close="closeCallback"></modal-upload-card-comp> |
| 7 | </div> | 7 | <div class="content"> |
| 8 | <div class="top-space"></div> | 8 | <div class="ebg"> |
| 9 | <div class="box"> | 9 | <img src="@/assets/images/common/login-bg.png"> |
| 10 | <!-- 帐密登陆 --> | 10 | </div> |
| 11 | <div v-if="type == 1" class="login"> | 11 | <div class="top-space"></div> |
| 12 | <div class="login-tit"> | 12 | <div class="box"> |
| 13 | <img v-if="locale == 'zh'" src="@/assets/images/login/login-tit-zh.png"> | 13 | <!-- 帐密登陆 --> |
| 14 | <img v-if="locale == 'tc'" src="@/assets/images/login/login-tit-tc.png"> | 14 | <div v-if="type == 1" class="login"> |
| 15 | <img v-if="locale == 'en'" class="img-en" src="@/assets/images/login/login-tit-en.png"> | 15 | <div class="login-tit"> |
| 16 | </div> | 16 | <img v-if="locale == 'zh'" src="@/assets/images/login/login-tit-zh.png"> |
| 17 | <div class="login-nav"> | 17 | <img v-if="locale == 'tc'" src="@/assets/images/login/login-tit-tc.png"> |
| 18 | <div @click="onLoginTypeHandler(1)" class="login-nav-tit text-r pointer active">{{$t('login.loginType1')}}</div> | 18 | <img v-if="locale == 'en'" class="img-en" src="@/assets/images/login/login-tit-en.png"> |
| 19 | <div class="login-nav-v-line"></div> | ||
| 20 | <div @click="onLoginTypeHandler(2)" class="login-nav-tit pointer">{{$t('login.loginType2')}}</div> | ||
| 21 | </div> | ||
| 22 | <div class="gird-g form"> | ||
| 23 | <div class="pure-u-1 form-item"> | ||
| 24 | <div class="label"> | ||
| 25 | <img src="@/assets/images/login/icon-login-user.png"> {{$t('login.account')}} | ||
| 26 | </div> | ||
| 27 | <div class="ipt-wrap"> | ||
| 28 | <input v-model="loginForm.userId" :placeholder="$t('login.accountPlaceholder')" class="ipt" :class="{ err : errorTips.e1.length > 0 }" type="text"> | ||
| 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> | ||
| 33 | </div> | 19 | </div> |
| 34 | <div class="pure-u-1 form-item"> | 20 | <div class="login-nav"> |
| 35 | <div class="label"> | 21 | <div @click="onLoginTypeHandler(1)" class="login-nav-tit text-r pointer active">{{$t('login.loginType1')}}</div> |
| 36 | <img src="@/assets/images/login/icon-login-password.png"> {{$t('login.password')}} | 22 | <div class="login-nav-v-line"></div> |
| 37 | </div> | 23 | <div @click="onLoginTypeHandler(2)" class="login-nav-tit pointer">{{$t('login.loginType2')}}</div> |
| 38 | <div class="ipt-wrap"> | ||
| 39 | <input v-model="loginForm.password" :placeholder="$t('login.passwordPlaceholder')" class="ipt" :class="{ err : errorTips.e2.length > 0 }" type="password"> | ||
| 40 | </div> | ||
| 41 | <div class="validator" v-if="errorTips.e2.length > 0 "> | ||
| 42 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}} | ||
| 43 | </div> | ||
| 44 | </div> | 24 | </div> |
| 45 | <div class="pure-u-1 form-item" v-if="type == 1 && loginCheck.showImageCode"> | 25 | <div class="gird-g form"> |
| 46 | <div class="ipt-wrap"> | 26 | <div class="pure-u-1 form-item"> |
| 47 | <input :placeholder="$t('login.verifyPlaceholder')" class="ipt ipt-verify" :class="{ err : errorTips.e3.length > 0 }" type="text" v-model="loginForm.imageValue"> | 27 | <div class="label"> |
| 48 | <div class="ipt verify-btn pointer vcode" @click="handlerRefreshImageValue"> | 28 | <img src="@/assets/images/login/icon-login-user.png"> {{$t('login.account')}} |
| 49 | <img :src="values.imageBase64"> | 29 | </div> |
| 30 | <div class="ipt-wrap"> | ||
| 31 | <input v-model="loginForm.userId" :placeholder="$t('login.accountPlaceholder')" class="ipt" :class="{ err : errorTips.e1.length > 0 }" type="text"> | ||
| 32 | </div> | ||
| 33 | <div class="validator" v-if="errorTips.e1.length > 0 "> | ||
| 34 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e1}} | ||
| 50 | </div> | 35 | </div> |
| 51 | </div> | 36 | </div> |
| 52 | <div class="validator" v-if="errorTips.e3.length > 0 "> | 37 | <div class="pure-u-1 form-item"> |
| 53 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e3}} | 38 | <div class="label"> |
| 39 | <img src="@/assets/images/login/icon-login-password.png"> {{$t('login.password')}} | ||
| 40 | </div> | ||
| 41 | <div class="ipt-wrap"> | ||
| 42 | <input v-model="loginForm.password" :placeholder="$t('login.passwordPlaceholder')" class="ipt" :class="{ err : errorTips.e2.length > 0 }" type="password"> | ||
| 43 | </div> | ||
| 44 | <div class="validator" v-if="errorTips.e2.length > 0 "> | ||
| 45 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}} | ||
| 46 | </div> | ||
| 47 | </div> | ||
| 48 | <div class="pure-u-1 form-item" v-if="type == 1 && loginCheck.showImageCode"> | ||
| 49 | <div class="ipt-wrap"> | ||
| 50 | <input :placeholder="$t('login.verifyPlaceholder')" class="ipt ipt-verify" :class="{ err : errorTips.e3.length > 0 }" type="text" v-model="loginForm.imageValue"> | ||
| 51 | <div class="ipt verify-btn pointer vcode" @click="handlerRefreshImageValue"> | ||
| 52 | <img :src="values.imageBase64"> | ||
| 53 | </div> | ||
| 54 | </div> | ||
| 55 | <div class="validator" v-if="errorTips.e3.length > 0 "> | ||
| 56 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e3}} | ||
| 57 | </div> | ||
| 54 | </div> | 58 | </div> |
| 55 | </div> | 59 | </div> |
| 60 | <div class="login-protocol pointer" @click="loginCheck.agreeProtocol = !loginCheck.agreeProtocol"> | ||
| 61 | <img v-if="!loginCheck.agreeProtocol" class="check" src="@/assets/images/login/un-check.png"> | ||
| 62 | <img v-if="loginCheck.agreeProtocol" class="check" src="@/assets/images/login/check.png"> {{$t('login.agree')}} | ||
| 63 | <span @click="onProtocolHandler()" class="protocol pointer">{{$t('login.protocol')}}</span> | ||
| 64 | </div> | ||
| 65 | <div @click="handlerLogin()" class="login-submit pointer">{{$t('login.login')}}</div> | ||
| 66 | <div class="login-func"> | ||
| 67 | <div @click="onRegisterHandler()" class="login-func-btn pointer">{{$t('login.register')}}</div> | ||
| 68 | <div @click="onForgetHandler()" class="login-func-btn pointer">{{$t('login.forget')}}</div> | ||
| 69 | </div> | ||
| 56 | </div> | 70 | </div> |
| 57 | <div class="login-protocol pointer" @click="loginCheck.agreeProtocol = !loginCheck.agreeProtocol"> | ||
| 58 | <img v-if="!loginCheck.agreeProtocol" class="check" src="@/assets/images/login/un-check.png"> | ||
| 59 | <img v-if="loginCheck.agreeProtocol" class="check" src="@/assets/images/login/check.png"> {{$t('login.agree')}} | ||
| 60 | <span @click="onProtocolHandler()" class="protocol pointer">{{$t('login.protocol')}}</span> | ||
| 61 | </div> | ||
| 62 | <div @click="handlerLogin()" class="login-submit pointer">{{$t('login.login')}}</div> | ||
| 63 | <div class="login-func"> | ||
| 64 | <div @click="onRegisterHandler()" class="login-func-btn pointer">{{$t('login.register')}}</div> | ||
| 65 | <div @click="onForgetHandler()" class="login-func-btn pointer">{{$t('login.forget')}}</div> | ||
| 66 | </div> | ||
| 67 | </div> | ||
| 68 | 71 | ||
| 69 | <!-- OTP登陆 --> | 72 | <!-- OTP登陆 --> |
| 70 | <div v-if="type == 2" class="login"> | 73 | <div v-if="type == 2" class="login"> |
| 71 | <div class="login-tit"> | 74 | <div class="login-tit"> |
| 72 | <img v-if="locale == 'zh'" src="@/assets/images/login/login-tit-zh.png"> | 75 | <img v-if="locale == 'zh'" src="@/assets/images/login/login-tit-zh.png"> |
| 73 | <img v-if="locale == 'tc'" src="@/assets/images/login/login-tit-tc.png"> | 76 | <img v-if="locale == 'tc'" src="@/assets/images/login/login-tit-tc.png"> |
| 74 | <img v-if="locale == 'en'" class="img-en" src="@/assets/images/login/login-tit-en.png"> | 77 | <img v-if="locale == 'en'" class="img-en" src="@/assets/images/login/login-tit-en.png"> |
| 75 | </div> | ||
| 76 | <div class="login-nav"> | ||
| 77 | <div @click="onLoginTypeHandler(1)" class="login-nav-tit text-r pointer"> {{$t('login.loginType1')}}</div> | ||
| 78 | <div class="login-nav-v-line"></div> | ||
| 79 | <div @click="onLoginTypeHandler(2)" class="login-nav-tit pointer active"> {{$t('login.loginType2')}}</div> | ||
| 80 | </div> | ||
| 81 | <div class="gird-g form"> | ||
| 82 | <div class="pure-u-1 form-item"> | ||
| 83 | <div class="label"> | ||
| 84 | <img src="@/assets/images/login/icon-login-phone.png"> {{$t('login.mobile')}} | ||
| 85 | </div> | ||
| 86 | <div class="ipt-wrap"> | ||
| 87 | <input :placeholder="$t('login.mobilePlaceholder')" class="ipt" type="text" :class="{ err : errorTips.oe1.length > 0 }" v-model="loginForm.mobileNo"> | ||
| 88 | </div> | ||
| 89 | <div class="validator" v-if="errorTips.oe1.length > 0 "> | ||
| 90 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.oe1}} | ||
| 91 | </div> | ||
| 92 | </div> | 78 | </div> |
| 93 | <div class="pure-u-1 form-item" v-if="type == 2 && loginCheck.showImageCode"> | 79 | <div class="login-nav"> |
| 94 | <div class="ipt-wrap"> | 80 | <div @click="onLoginTypeHandler(1)" class="login-nav-tit text-r pointer"> {{$t('login.loginType1')}}</div> |
| 95 | <input :placeholder="$t('login.verifyPlaceholder')" class="ipt ipt-verify" :class="{ err : errorTips.oe3.length > 0 }" type="text" v-model="loginForm.imageValue"> | 81 | <div class="login-nav-v-line"></div> |
| 96 | <div class="ipt verify-btn pointer vcode" @click="handlerRefreshImageValue"> | 82 | <div @click="onLoginTypeHandler(2)" class="login-nav-tit pointer active"> {{$t('login.loginType2')}}</div> |
| 97 | <img :src="values.imageBase64"> | ||
| 98 | </div> | ||
| 99 | </div> | ||
| 100 | <div class="validator" v-if="errorTips.oe3.length > 0 "> | ||
| 101 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.oe3}} | ||
| 102 | </div> | ||
| 103 | </div> | 83 | </div> |
| 104 | <div class="pure-u-1 form-item"> | 84 | <div class="gird-g form"> |
| 105 | <div class="label"> | 85 | <div class="pure-u-1 form-item"> |
| 106 | <img src="@/assets/images/login/icon-login-message.png"> {{$t('login.verifyCode')}} | 86 | <div class="label"> |
| 87 | <img src="@/assets/images/login/icon-login-phone.png"> {{$t('login.mobile')}} | ||
| 88 | </div> | ||
| 89 | <div class="ipt-wrap"> | ||
| 90 | <input :placeholder="$t('login.mobilePlaceholder')" class="ipt" type="text" :class="{ err : errorTips.oe1.length > 0 }" v-model="loginForm.mobileNo"> | ||
| 91 | </div> | ||
| 92 | <div class="validator" v-if="errorTips.oe1.length > 0 "> | ||
| 93 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.oe1}} | ||
| 94 | </div> | ||
| 107 | </div> | 95 | </div> |
| 108 | <div class="ipt-wrap"> | 96 | <div class="pure-u-1 form-item" v-if="type == 2 && loginCheck.showImageCode"> |
| 109 | <div class="ipt ipt2" :class="{ err : errorTips.oe2.length > 0 }"> | 97 | <div class="ipt-wrap"> |
| 110 | <input :placeholder="$t('login.verifyCodePlaceholder')" class="ipt-code" type="text" v-model="loginForm.otp"> | 98 | <input :placeholder="$t('login.verifyPlaceholder')" class="ipt ipt-verify" :class="{ err : errorTips.oe3.length > 0 }" type="text" v-model="loginForm.imageValue"> |
| 111 | <div v-if="times.remain == 0" class="veri-btn pointer" @click="handlerStdSendOTP">{{$t('register.verifyCodeGet')}}</div> | 99 | <div class="ipt verify-btn pointer vcode" @click="handlerRefreshImageValue"> |
| 112 | <div v-else class="veri-btn-default">{{times.tip}}</div> | 100 | <img :src="values.imageBase64"> |
| 101 | </div> | ||
| 102 | </div> | ||
| 103 | <div class="validator" v-if="errorTips.oe3.length > 0 "> | ||
| 104 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.oe3}} | ||
| 113 | </div> | 105 | </div> |
| 114 | </div> | 106 | </div> |
| 115 | <div class="validator" v-if="errorTips.oe2.length > 0 "> | 107 | <div class="pure-u-1 form-item"> |
| 116 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.oe2}} | 108 | <div class="label"> |
| 109 | <img src="@/assets/images/login/icon-login-message.png"> {{$t('login.verifyCode')}} | ||
| 110 | </div> | ||
| 111 | <div class="ipt-wrap"> | ||
| 112 | <div class="ipt ipt2" :class="{ err : errorTips.oe2.length > 0 }"> | ||
| 113 | <input :placeholder="$t('login.verifyCodePlaceholder')" class="ipt-code" type="text" v-model="loginForm.otp"> | ||
| 114 | <div v-if="times.remain == 0" class="veri-btn pointer" @click="handlerStdSendOTP">{{$t('register.verifyCodeGet')}}</div> | ||
| 115 | <div v-else class="veri-btn-default">{{times.tip}}</div> | ||
| 116 | </div> | ||
| 117 | </div> | ||
| 118 | <div class="validator" v-if="errorTips.oe2.length > 0 "> | ||
| 119 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.oe2}} | ||
| 120 | </div> | ||
| 117 | </div> | 121 | </div> |
| 118 | </div> | 122 | </div> |
| 123 | <div class="login-protocol pointer" @click="loginCheck.agreeProtocol = !loginCheck.agreeProtocol"> | ||
| 124 | <img v-if="!loginCheck.agreeProtocol" class="check" src="@/assets/images/login/un-check.png"> | ||
| 125 | <img v-if="loginCheck.agreeProtocol" class="check" src="@/assets/images/login/check.png"> {{$t('login.agree')}} | ||
| 126 | <span @click="onProtocolHandler()" class="protocol pointer">{{$t('login.protocol')}}</span> | ||
| 127 | </div> | ||
| 128 | <div @click="handlerLogin()" class="login-submit pointer">{{$t('login.login')}}</div> | ||
| 129 | <div class="login-func"> | ||
| 130 | <div @click="toRegisterPage()" class="login-func-btn pointer">{{$t('login.register')}}</div> | ||
| 131 | <div @click="onForgetHandler()" class="login-func-btn pointer">{{$t('login.forget')}}</div> | ||
| 132 | </div> | ||
| 119 | </div> | 133 | </div> |
| 120 | <div class="login-protocol pointer" @click="loginCheck.agreeProtocol = !loginCheck.agreeProtocol"> | ||
| 121 | <img v-if="!loginCheck.agreeProtocol" class="check" src="@/assets/images/login/un-check.png"> | ||
| 122 | <img v-if="loginCheck.agreeProtocol" class="check" src="@/assets/images/login/check.png"> {{$t('login.agree')}} | ||
| 123 | <span @click="onProtocolHandler()" class="protocol pointer">{{$t('login.protocol')}}</span> | ||
| 124 | </div> | ||
| 125 | <div @click="handlerLogin()" class="login-submit pointer">{{$t('login.login')}}</div> | ||
| 126 | <div class="login-func"> | ||
| 127 | <div @click="toRegisterPage()" class="login-func-btn pointer">{{$t('login.register')}}</div> | ||
| 128 | <div @click="onForgetHandler()" class="login-func-btn pointer">{{$t('login.forget')}}</div> | ||
| 129 | </div> | ||
| 130 | </div> | ||
| 131 | 134 | ||
| 132 | <!----> | 135 | <!----> |
| 133 | <div v-if="type == 3" class="login"> | 136 | <div v-if="type == 3" class="login"> |
| 134 | <div class="login-tit"> | 137 | <div class="login-tit"> |
| 135 | <img v-if="locale == 'zh'" src="@/assets/images/login/login-tit-zh.png"> | 138 | <img v-if="locale == 'zh'" src="@/assets/images/login/login-tit-zh.png"> |
| 136 | <img v-if="locale == 'tc'" src="@/assets/images/login/login-tit-tc.png"> | 139 | <img v-if="locale == 'tc'" src="@/assets/images/login/login-tit-tc.png"> |
| 137 | <img v-if="locale == 'en'" class="img-en" src="@/assets/images/login/login-tit-en.png"> | 140 | <img v-if="locale == 'en'" class="img-en" src="@/assets/images/login/login-tit-en.png"> |
| 138 | </div> | ||
| 139 | <div class="gird-g form"> | ||
| 140 | <div class="pure-u-1 form-item"> | ||
| 141 | <div class="label"> | ||
| 142 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('register.newPassword')}} | ||
| 143 | </div> | ||
| 144 | <div class="ipt-wrap"> | ||
| 145 | <input :placeholder="$t('register.newPasswordPlaceholder')" class="ipt" type="password" v-model="values.password"> | ||
| 146 | </div> | ||
| 147 | <div class="validator" v-if="errorTips.p4.length > 0 "> | ||
| 148 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p4}} | ||
| 149 | </div> | ||
| 150 | </div> | 141 | </div> |
| 151 | <div class="pure-u-1 form-item"> | 142 | <div class="gird-g form"> |
| 152 | <div class="label"> | 143 | <div class="pure-u-1 form-item"> |
| 153 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('register.newPasswordSure')}} | 144 | <div class="label"> |
| 154 | </div> | 145 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('register.newPassword')}} |
| 155 | <div class="ipt-wrap"> | 146 | </div> |
| 156 | <input :placeholder="$t('register.newPasswordSurePlaceholder')" class="ipt" type="password" v-model="values.passwordRepeat"> | 147 | <div class="ipt-wrap"> |
| 148 | <input :placeholder="$t('register.newPasswordPlaceholder')" class="ipt" type="password" v-model="values.password"> | ||
| 149 | </div> | ||
| 150 | <div class="validator" v-if="errorTips.p4.length > 0 "> | ||
| 151 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p4}} | ||
| 152 | </div> | ||
| 157 | </div> | 153 | </div> |
| 158 | <div class="validator" v-if="errorTips.p5.length > 0 "> | 154 | <div class="pure-u-1 form-item"> |
| 159 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p5}} | 155 | <div class="label"> |
| 156 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('register.newPasswordSure')}} | ||
| 157 | </div> | ||
| 158 | <div class="ipt-wrap"> | ||
| 159 | <input :placeholder="$t('register.newPasswordSurePlaceholder')" class="ipt" type="password" v-model="values.passwordRepeat"> | ||
| 160 | </div> | ||
| 161 | <div class="validator" v-if="errorTips.p5.length > 0 "> | ||
| 162 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p5}} | ||
| 163 | </div> | ||
| 160 | </div> | 164 | </div> |
| 161 | </div> | 165 | </div> |
| 166 | <div @click="onRegisterHandler()" class="login-submit pointer">{{$t('register.sure')}}</div> | ||
| 162 | </div> | 167 | </div> |
| 163 | <div @click="onRegisterHandler()" class="login-submit pointer">{{$t('register.sure')}}</div> | ||
| 164 | </div> | 168 | </div> |
| 165 | </div> | 169 | </div> |
| 166 | </div> | 170 | </div> | ... | ... |
| ... | @@ -24,14 +24,14 @@ | ... | @@ -24,14 +24,14 @@ |
| 24 | <div class="pure-u-1 form-item"> | 24 | <div class="pure-u-1 form-item"> |
| 25 | <div class="ipt-wrap"> | 25 | <div class="ipt-wrap"> |
| 26 | <img class="down-arrow" src="@/assets/images/reservation/re-down-arrow.png" alt=""> | 26 | <img class="down-arrow" src="@/assets/images/reservation/re-down-arrow.png" alt=""> |
| 27 | <select class="ipt" v-model="mobileNoType" > | 27 | <select class="ipt" v-model="mobileNoType"> |
| 28 | <option v-for="(item,index) in mobileOptions" :key="index" :value="item.type">{{item.name}}</option> | 28 | <option v-for="(item,index) in mobileOptions" :key="index" :value="item.type">{{item.name}}</option> |
| 29 | </select> | 29 | </select> |
| 30 | </div> | 30 | </div> |
| 31 | </div> | 31 | </div> |
| 32 | <div class="pure-u-1 form-item"> | 32 | <div class="pure-u-1 form-item"> |
| 33 | <div class="ipt-wrap"> | 33 | <div class="ipt-wrap"> |
| 34 | <div class="ipt ipt2" :class="{err : errorTips.p1.length > 0}" > | 34 | <div class="ipt ipt2" :class="{err : errorTips.p1.length > 0}"> |
| 35 | <div class="region-tel">{{mobileTip.areaCode}}</div> | 35 | <div class="region-tel">{{mobileTip.areaCode}}</div> |
| 36 | <input :placeholder="mobileTip.placeHolder" class="ipt-tel" type="text" v-model="registerForm.mobileNo"> | 36 | <input :placeholder="mobileTip.placeHolder" class="ipt-tel" type="text" v-model="registerForm.mobileNo"> |
| 37 | </div> | 37 | </div> |
| ... | @@ -43,7 +43,7 @@ | ... | @@ -43,7 +43,7 @@ |
| 43 | 43 | ||
| 44 | <div class="pure-u-1 form-item" v-if="registerCheck.showImageCode"> | 44 | <div class="pure-u-1 form-item" v-if="registerCheck.showImageCode"> |
| 45 | <div class="ipt-wrap"> | 45 | <div class="ipt-wrap"> |
| 46 | <input :placeholder="$t('login.verifyPlaceholder')" class="ipt ipt-verify" :class="{err : errorTips.p3.length > 0}" type="text" v-model="registerForm.imageValue"> | 46 | <input :placeholder="$t('login.verifyPlaceholder')" class="ipt ipt-verify" :class="{err : errorTips.p3.length > 0}" type="text" v-model="registerForm.imageValue"> |
| 47 | <div class="ipt verify-btn pointer vcode" @click="handlerRefreshImageVcode"> | 47 | <div class="ipt verify-btn pointer vcode" @click="handlerRefreshImageVcode"> |
| 48 | <img :src="values.imageBase64"> | 48 | <img :src="values.imageBase64"> |
| 49 | </div> | 49 | </div> |
| ... | @@ -54,7 +54,7 @@ | ... | @@ -54,7 +54,7 @@ |
| 54 | </div> | 54 | </div> |
| 55 | <div class="pure-u-1 form-item"> | 55 | <div class="pure-u-1 form-item"> |
| 56 | <div class="ipt-wrap"> | 56 | <div class="ipt-wrap"> |
| 57 | <div class="ipt ipt2" :class="{err : errorTips.p2.length > 0}" > | 57 | <div class="ipt ipt2" :class="{err : errorTips.p2.length > 0}"> |
| 58 | <input :placeholder="$t('register.verifyCodePlaceholder')" class="ipt-code" type="text" v-model="registerForm.opt"> | 58 | <input :placeholder="$t('register.verifyCodePlaceholder')" class="ipt-code" type="text" v-model="registerForm.opt"> |
| 59 | <div v-if="times.remain == 0" class="veri-btn pointer" @click="handlerStdSendOTP">{{$t('register.verifyCodeGet')}}</div> | 59 | <div v-if="times.remain == 0" class="veri-btn pointer" @click="handlerStdSendOTP">{{$t('register.verifyCodeGet')}}</div> |
| 60 | <div v-else class="veri-btn-default">{{times.tip}}</div> | 60 | <div v-else class="veri-btn-default">{{times.tip}}</div> |
| ... | @@ -87,7 +87,7 @@ | ... | @@ -87,7 +87,7 @@ |
| 87 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('register.newPassword')}} | 87 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('register.newPassword')}} |
| 88 | </div> | 88 | </div> |
| 89 | <div class="ipt-wrap"> | 89 | <div class="ipt-wrap"> |
| 90 | <input :placeholder="$t('register.newPasswordPlaceholder')" class="ipt" :class="{err : errorTips.p4.length > 0}" type="password" v-model="values.password"> | 90 | <input :placeholder="$t('register.newPasswordPlaceholder')" class="ipt" :class="{err : errorTips.p4.length > 0}" type="password" v-model="values.password"> |
| 91 | </div> | 91 | </div> |
| 92 | <div class="validator" v-if="errorTips.p4.length > 0 "> | 92 | <div class="validator" v-if="errorTips.p4.length > 0 "> |
| 93 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p4}} | 93 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p4}} |
| ... | @@ -98,7 +98,7 @@ | ... | @@ -98,7 +98,7 @@ |
| 98 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('register.newPasswordSure')}} | 98 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('register.newPasswordSure')}} |
| 99 | </div> | 99 | </div> |
| 100 | <div class="ipt-wrap"> | 100 | <div class="ipt-wrap"> |
| 101 | <input :placeholder="$t('register.newPasswordSurePlaceholder')" class="ipt" :class="{err : errorTips.p5.length > 0}" type="password" v-model="values.passwordRepeat"> | 101 | <input :placeholder="$t('register.newPasswordSurePlaceholder')" class="ipt" :class="{err : errorTips.p5.length > 0}" type="password" v-model="values.passwordRepeat"> |
| 102 | </div> | 102 | </div> |
| 103 | <div class="validator" v-if="errorTips.p5.length > 0 "> | 103 | <div class="validator" v-if="errorTips.p5.length > 0 "> |
| 104 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p5}} | 104 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p5}} | ... | ... |
| ... | @@ -8,6 +8,24 @@ | ... | @@ -8,6 +8,24 @@ |
| 8 | * | 8 | * |
| 9 | */ | 9 | */ |
| 10 | 10 | ||
| 11 | // 居中按钮样式 | ||
| 12 | @mixin btn-center($width, $height) { | ||
| 13 | width: $width; | ||
| 14 | height: $height; | ||
| 15 | line-height: $height; | ||
| 16 | text-align: center; | ||
| 17 | } | ||
| 18 | |||
| 19 | // 超过多少行自动省略 默认一行 | ||
| 20 | @mixin ellipsis($line:1) { | ||
| 21 | display: -webkit-box; | ||
| 22 | word-break: break-all; | ||
| 23 | -webkit-box-orient: vertical; | ||
| 24 | -webkit-line-clamp: $line; | ||
| 25 | overflow: hidden; | ||
| 26 | text-overflow: ellipsis; | ||
| 27 | } | ||
| 28 | |||
| 11 | // 文字截取 | 29 | // 文字截取 |
| 12 | @mixin text-overflow() { | 30 | @mixin text-overflow() { |
| 13 | overflow: hidden; | 31 | overflow: hidden; | ... | ... |
-
Please register or sign in to post a comment