更改联络方式交互样式,含三语和mock数据结构
Showing
19 changed files
with
1180 additions
and
564 deletions
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
| 1 | @import "@/styles/_support.scss"; | 1 | @import "@/styles/_support.scss"; |
| 2 | |||
| 3 | .list-container { | 2 | .list-container { |
| 4 | overflow-x: auto; | 3 | overflow-x: auto; |
| 5 | margin-bottom: 24px; | 4 | margin-bottom: 24px; |
| 6 | font-size: $fontSize-M2; | 5 | font-size: $fontSize-M2; |
| 7 | } | 6 | } |
| 8 | 7 | ||
| 9 | .hide { | 8 | .hide { |
| 10 | max-height: 0; | 9 | max-height: 0; |
| 11 | border-bottom: none; | 10 | border-bottom: none; |
| 12 | } | 11 | } |
| 13 | 12 | ||
| 14 | .table-contaner { | 13 | .table-contaner { |
| 15 | position: relative; | 14 | position: relative; |
| 16 | } | 15 | } |
| 17 | 16 | ||
| 18 | .download { | 17 | .download { |
| 19 | position: relative; | 18 | position: relative; |
| 20 | display: flex; | 19 | display: flex; |
| 21 | align-items: center; | 20 | align-items: center; |
| 22 | 21 | &-tips { | |
| 23 | &-tips { | 22 | display: none; |
| 24 | display: none; | 23 | position: absolute; |
| 25 | position: absolute; | 24 | top: 0px; |
| 26 | top: 0px; | 25 | left: 20px; |
| 27 | left: 20px; | 26 | z-index: 11; |
| 28 | z-index: 11; | 27 | padding: 2px; |
| 29 | padding: 2px; | 28 | @include border-tans(); |
| 30 | @include border-tans(); | 29 | min-width: 88px; |
| 31 | min-width: 88px; | 30 | padding: 4px; |
| 32 | padding: 4px; | 31 | } |
| 33 | } | 32 | .icon-download { |
| 34 | 33 | margin-right: 4px; | |
| 35 | .icon-download { | 34 | } |
| 36 | margin-right: 4px; | 35 | .desc { |
| 37 | } | 36 | padding: 0; |
| 38 | .desc{ | 37 | } |
| 39 | padding: 0; | ||
| 40 | } | ||
| 41 | } | 38 | } |
| 42 | 39 | ||
| 43 | .guide { | 40 | .guide { |
| 44 | position: absolute; | 41 | position: absolute; |
| 45 | transition: all 0.5s; | 42 | transition: all 0.5s; |
| 46 | cursor: pointer; | 43 | cursor: pointer; |
| 47 | width: 12px; | 44 | width: 12px; |
| 48 | height: 8px; | 45 | height: 8px; |
| 49 | background: url("~@/assets/images/insurance-query/triangle-down2.png") | 46 | background: url("~@/assets/images/insurance-query/triangle-down2.png") no-repeat center center; |
| 50 | no-repeat center center; | 47 | background-size: 100% 100%; |
| 51 | background-size: 100% 100%; | 48 | top: 16px; |
| 52 | top: 16px; | 49 | right: 26px; |
| 53 | right: 26px; | ||
| 54 | } | 50 | } |
| 55 | 51 | ||
| 56 | .rotate180 { | 52 | .rotate180 { |
| 57 | transform: rotate(180deg); | 53 | transform: rotate(180deg); |
| 58 | transition: all 0.5s; | 54 | transition: all 0.5s; |
| 59 | } | 55 | } |
| 60 | 56 | ||
| 61 | .cell-group { | 57 | .cell-group { |
| 62 | margin-bottom: 12px; | 58 | margin-bottom: 12px; |
| 63 | 59 | &:last-child { | |
| 64 | &:last-child { | 60 | margin-bottom: 0; |
| 65 | margin-bottom: 0; | ||
| 66 | } | ||
| 67 | |||
| 68 | div { | ||
| 69 | color: #4c4948; | ||
| 70 | } | ||
| 71 | |||
| 72 | .td { | ||
| 73 | position: relative; | ||
| 74 | @extend .fcc; | ||
| 75 | text-align: center; | ||
| 76 | } | ||
| 77 | |||
| 78 | .w1 { | ||
| 79 | width: 180px; | ||
| 80 | } | ||
| 81 | |||
| 82 | .w2 { | ||
| 83 | width: 240px; | ||
| 84 | } | ||
| 85 | |||
| 86 | .w3 { | ||
| 87 | width: 140px; | ||
| 88 | } | ||
| 89 | .w4 { | ||
| 90 | width: 120px; | ||
| 91 | } | ||
| 92 | .w5 { | ||
| 93 | width: 100px; | ||
| 94 | } | ||
| 95 | |||
| 96 | .table-header { | ||
| 97 | height: 50px; | ||
| 98 | border-top-left-radius: 8px; | ||
| 99 | border-top-right-radius: 8px; | ||
| 100 | background-color: #f2f2f2; | ||
| 101 | display: flex; | ||
| 102 | align-items: center; | ||
| 103 | |||
| 104 | .normal-header { | ||
| 105 | // width: 706px; | ||
| 106 | @extend .bb; | ||
| 107 | padding: 0 32px; | ||
| 108 | width: 100%; | ||
| 109 | margin: auto; | ||
| 110 | display: flex; | ||
| 111 | justify-content: space-between; | ||
| 112 | align-items: center; | ||
| 113 | |||
| 114 | .title { | ||
| 115 | font-weight: bold; | ||
| 116 | color: #575453; | ||
| 117 | } | ||
| 118 | |||
| 119 | .guide { | ||
| 120 | transition: all 0.5s; | ||
| 121 | cursor: pointer; | ||
| 122 | width: 12px; | ||
| 123 | height: 8px; | ||
| 124 | background: url("~@/assets/images/insurance-query/triangle-down.png") | ||
| 125 | no-repeat center center; | ||
| 126 | background-size: 100% 100%; | ||
| 127 | } | ||
| 128 | |||
| 129 | .rotate180 { | ||
| 130 | transform: rotate(180deg); | ||
| 131 | transition: all 0.5s; | ||
| 132 | } | ||
| 133 | } | 61 | } |
| 134 | } | 62 | div { |
| 135 | 63 | color: #4c4948; | |
| 136 | .table-content { | 64 | } |
| 137 | // width: 770px; | 65 | .td { |
| 138 | |||
| 139 | height: auto; | ||
| 140 | max-height: 600px; | ||
| 141 | // display: inline-block; | ||
| 142 | border-bottom-left-radius: 8px; | ||
| 143 | border-bottom-right-radius: 8px; | ||
| 144 | border-left: solid 1px #f2f2f2; | ||
| 145 | border-right: solid 1px #f2f2f2; | ||
| 146 | border-bottom: solid 1px #f2f2f2; | ||
| 147 | padding: 0 32px; | ||
| 148 | transition: max-height ease-out 0.3s !important; | ||
| 149 | overflow: auto; | ||
| 150 | |||
| 151 | .data-line { | ||
| 152 | // padding: 0 32px; | ||
| 153 | height: 50px; | ||
| 154 | margin: auto; | ||
| 155 | display: flex; | ||
| 156 | justify-content: space-between; | ||
| 157 | align-items: center; | ||
| 158 | |||
| 159 | .td { | ||
| 160 | position: relative; | 66 | position: relative; |
| 67 | @extend .fcc; | ||
| 68 | text-align: center; | ||
| 69 | } | ||
| 70 | .w1 { | ||
| 71 | width: 180px; | ||
| 72 | } | ||
| 73 | .w2 { | ||
| 74 | width: 240px; | ||
| 75 | } | ||
| 76 | .w3 { | ||
| 77 | width: 140px; | ||
| 78 | } | ||
| 79 | .w4 { | ||
| 80 | width: 120px; | ||
| 81 | } | ||
| 82 | .w5 { | ||
| 83 | width: 100px; | ||
| 84 | } | ||
| 85 | .table-header { | ||
| 86 | height: 50px; | ||
| 87 | border-top-left-radius: 8px; | ||
| 88 | border-top-right-radius: 8px; | ||
| 89 | background-color: #f2f2f2; | ||
| 161 | display: flex; | 90 | display: flex; |
| 162 | justify-content: center; | ||
| 163 | align-items: center; | 91 | align-items: center; |
| 164 | } | 92 | .normal-header { |
| 165 | 93 | // width: 706px; | |
| 166 | .cell1 { | 94 | @extend .bb; |
| 167 | width: 98%; | 95 | padding: 0 32px; |
| 168 | display: flex; | 96 | width: 100%; |
| 169 | justify-content: space-between; | 97 | margin: auto; |
| 170 | margin: auto; | 98 | display: flex; |
| 171 | } | 99 | justify-content: space-between; |
| 172 | 100 | align-items: center; | |
| 173 | .separator-v { | 101 | .title { |
| 174 | height: 30px; | 102 | font-weight: bold; |
| 175 | width: 2px; | 103 | color: #575453; |
| 176 | background-color: #f2f2f2; | 104 | } |
| 177 | margin: 0 11px; | 105 | .guide { |
| 178 | } | 106 | transition: all 0.5s; |
| 107 | cursor: pointer; | ||
| 108 | width: 12px; | ||
| 109 | height: 8px; | ||
| 110 | background: url("~@/assets/images/insurance-query/triangle-down.png") no-repeat center center; | ||
| 111 | background-size: 100% 100%; | ||
| 112 | } | ||
| 113 | .rotate180 { | ||
| 114 | transform: rotate(180deg); | ||
| 115 | transition: all 0.5s; | ||
| 116 | } | ||
| 117 | } | ||
| 179 | } | 118 | } |
| 180 | 119 | .table-content { | |
| 181 | .label span { | 120 | // width: 770px; |
| 182 | color: $cOrange; | 121 | height: auto; |
| 183 | margin-left: 7px; | 122 | max-height: 600px; |
| 184 | cursor: pointer; | 123 | // display: inline-block; |
| 185 | text-decoration: underline; | 124 | border-bottom-left-radius: 8px; |
| 125 | border-bottom-right-radius: 8px; | ||
| 126 | border-left: solid 1px #f2f2f2; | ||
| 127 | border-right: solid 1px #f2f2f2; | ||
| 128 | border-bottom: solid 1px #f2f2f2; | ||
| 129 | padding: 0 32px; | ||
| 130 | transition: max-height ease-out 0.3s !important; | ||
| 131 | overflow: auto; | ||
| 132 | .data-line { | ||
| 133 | // padding: 0 32px; | ||
| 134 | height: 58px; | ||
| 135 | margin: auto; | ||
| 136 | display: flex; | ||
| 137 | justify-content: space-between; | ||
| 138 | align-items: center; | ||
| 139 | .td { | ||
| 140 | position: relative; | ||
| 141 | display: flex; | ||
| 142 | justify-content: center; | ||
| 143 | align-items: center; | ||
| 144 | } | ||
| 145 | .cell1 { | ||
| 146 | width: 98%; | ||
| 147 | display: flex; | ||
| 148 | justify-content: space-between; | ||
| 149 | margin: auto; | ||
| 150 | } | ||
| 151 | .separator-v { | ||
| 152 | height: 30px; | ||
| 153 | width: 2px; | ||
| 154 | background-color: #f2f2f2; | ||
| 155 | margin: 0 11px; | ||
| 156 | } | ||
| 157 | } | ||
| 158 | .label span { | ||
| 159 | color: $cOrange; | ||
| 160 | margin-left: 7px; | ||
| 161 | cursor: pointer; | ||
| 162 | text-decoration: underline; | ||
| 163 | } | ||
| 164 | .separator-h { | ||
| 165 | width: 100%; | ||
| 166 | height: 2px; | ||
| 167 | background-color: #f2f2f2; | ||
| 168 | } | ||
| 186 | } | 169 | } |
| 187 | 170 | .orange { | |
| 188 | .separator-h { | 171 | background-color: $cOrange; |
| 189 | width: 100%; | 172 | div { |
| 190 | height: 1px; | 173 | color: #ffffff; |
| 191 | background-color: #f2f2f2; | 174 | } |
| 192 | } | 175 | } |
| 193 | } | 176 | .new { |
| 194 | 177 | @include linear-bg; | |
| 195 | .orange { | 178 | } |
| 196 | background-color: $cOrange; | 179 | .hide { |
| 197 | 180 | max-height: 0; | |
| 198 | div { | 181 | border-bottom: none; |
| 199 | color: #ffffff; | 182 | } |
| 183 | .sp { | ||
| 184 | text-decoration: underline; | ||
| 185 | padding: 0 4.8px; | ||
| 186 | } | ||
| 187 | .ac { | ||
| 188 | color: $cOrange !important; | ||
| 200 | } | 189 | } |
| 201 | } | ||
| 202 | |||
| 203 | .new { | ||
| 204 | @include linear-bg; | ||
| 205 | } | ||
| 206 | |||
| 207 | .hide { | ||
| 208 | max-height: 0; | ||
| 209 | border-bottom: none; | ||
| 210 | } | ||
| 211 | |||
| 212 | .sp { | ||
| 213 | text-decoration: underline; | ||
| 214 | padding: 0 4.8px; | ||
| 215 | } | ||
| 216 | |||
| 217 | .ac { | ||
| 218 | color: $cOrange !important; | ||
| 219 | } | ||
| 220 | } | 190 | } |
| 221 | 191 | ||
| 222 | .show-more-btn { | 192 | .show-more-btn { |
| 223 | width: 100%; | 193 | width: 100%; |
| 224 | color: $cOrange !important; | 194 | color: $cOrange !important; |
| 225 | text-decoration: underline; | 195 | text-decoration: underline; |
| 226 | cursor: pointer; | 196 | cursor: pointer; |
| 227 | justify-content: center !important; | 197 | justify-content: center !important; |
| 228 | } | 198 | } |
| 229 | 199 | ||
| 230 | .pointer { | 200 | .pointer { |
| 231 | cursor: pointer; | 201 | cursor: pointer; |
| 232 | } | 202 | } |
| 233 | 203 | ||
| 234 | .activity { | 204 | .activity { |
| 235 | background-color: $cOrange !important; | 205 | background-color: $cOrange !important; |
| 236 | opacity: 0.5; | 206 | opacity: 0.5; |
| 237 | 207 | div { | |
| 238 | div { | 208 | color: #ffffff !important; |
| 239 | color: #ffffff !important; | 209 | } |
| 240 | } | ||
| 241 | } | 210 | } |
| 242 | 211 | ||
| 243 | .empty { | 212 | .empty { |
| 244 | height: 500px; | 213 | height: 500px; |
| 245 | display: flex; | ||
| 246 | align-items: center; | ||
| 247 | justify-content: center; | ||
| 248 | |||
| 249 | .tips { | ||
| 250 | align-items: center; | ||
| 251 | display: flex; | 214 | display: flex; |
| 252 | 215 | align-items: center; | |
| 253 | .icon { | 216 | justify-content: center; |
| 254 | margin-right: 5px; | 217 | .tips { |
| 255 | display: inline-block; | 218 | align-items: center; |
| 256 | } | 219 | display: flex; |
| 257 | 220 | .icon { | |
| 258 | .btn { | 221 | margin-right: 5px; |
| 259 | color: $cOrange; | 222 | display: inline-block; |
| 223 | } | ||
| 224 | .btn { | ||
| 225 | color: $cOrange; | ||
| 226 | } | ||
| 260 | } | 227 | } |
| 261 | } | ||
| 262 | } | 228 | } |
| 263 | 229 | ||
| 264 | .down-arrow { | 230 | .down-arrow { |
| 265 | background-image: url("~@/assets/images/common/down-arrow-white.png"); | 231 | background-image: url("~@/assets/images/common/down-arrow-white.png"); |
| 266 | width: 16px; | 232 | width: 16px; |
| 267 | height: 12px; | 233 | height: 12px; |
| 268 | background-repeat: no-repeat; | 234 | background-repeat: no-repeat; |
| 269 | background-position: center; | 235 | background-position: center; |
| 270 | background-size: 100% 100%; | 236 | background-size: 100% 100%; |
| 271 | margin-left: 7px; | 237 | margin-left: 7px; |
| 272 | cursor: pointer; | 238 | cursor: pointer; |
| 273 | } | 239 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | import api from '@/api/api' | 1 | import api from "@/api/api"; |
| 2 | import { | 2 | import { httpGet, httpPost } from "@/api/fetch-api.js"; |
| 3 | httpGet, | ||
| 4 | httpPost | ||
| 5 | } from '@/api/fetch-api.js' | ||
| 6 | 3 | ||
| 7 | import { contactMethodCheck } from '@utils/utils.js'; | 4 | import { contactMethodCheck } from "@utils/utils.js"; |
| 8 | import { setTitle } from '@/utils/utils.js'; | 5 | import { setTitle } from "@/utils/utils.js"; |
| 9 | 6 | ||
| 10 | import Auth from '@components/auth/auth.vue'; | 7 | import Auth from "@components/auth/auth.vue"; |
| 11 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 8 | import modalComp from "@/components/modal-comp/modal-comp.vue"; |
| 12 | import PolicyHeadList from "./policy-head-list.vue"; | 9 | import PolicyHeadList from "./policy-head-list.vue"; |
| 13 | import Vue from 'vue'; | 10 | import Vue from "vue"; |
| 14 | import { Loading } from 'vant'; | 11 | import { Loading } from "vant"; |
| 15 | Vue.use(Loading); | 12 | Vue.use(Loading); |
| 16 | 13 | ||
| 17 | export default { | 14 | export default { |
| ... | @@ -19,7 +16,7 @@ export default { | ... | @@ -19,7 +16,7 @@ export default { |
| 19 | return { | 16 | return { |
| 20 | loading: false, | 17 | loading: false, |
| 21 | showForm: false, | 18 | showForm: false, |
| 22 | key: 'value', | 19 | key: "value", |
| 23 | checked1: false, | 20 | checked1: false, |
| 24 | checked2: false, | 21 | checked2: false, |
| 25 | checked3: false, | 22 | checked3: false, |
| ... | @@ -30,6 +27,8 @@ export default { | ... | @@ -30,6 +27,8 @@ export default { |
| 30 | mobile: "", | 27 | mobile: "", |
| 31 | email: "", | 28 | email: "", |
| 32 | address: "", | 29 | address: "", |
| 30 | |||
| 31 | areaCode: "" | ||
| 33 | }, | 32 | }, |
| 34 | errorTips: { | 33 | errorTips: { |
| 35 | e1: "", | 34 | e1: "", |
| ... | @@ -42,7 +41,30 @@ export default { | ... | @@ -42,7 +41,30 @@ export default { |
| 42 | targetPath: "", | 41 | targetPath: "", |
| 43 | modalIcon: "succ", | 42 | modalIcon: "succ", |
| 44 | modalContent: "", | 43 | modalContent: "", |
| 45 | } | 44 | |
| 45 | // 新增 | ||
| 46 | // 国际号码区号列表 | ||
| 47 | areaCodeList: [ | ||
| 48 | { | ||
| 49 | v: "abc", | ||
| 50 | n: "abc" | ||
| 51 | }, | ||
| 52 | { | ||
| 53 | v: "efg", | ||
| 54 | n: "efg" | ||
| 55 | } | ||
| 56 | ], | ||
| 57 | countryList:[ | ||
| 58 | { | ||
| 59 | v: "cn", | ||
| 60 | n: "中国" | ||
| 61 | }, | ||
| 62 | { | ||
| 63 | v: "en", | ||
| 64 | n: "美国" | ||
| 65 | } | ||
| 66 | ] | ||
| 67 | }; | ||
| 46 | }, | 68 | }, |
| 47 | components: { | 69 | components: { |
| 48 | Auth, | 70 | Auth, |
| ... | @@ -51,10 +73,12 @@ export default { | ... | @@ -51,10 +73,12 @@ export default { |
| 51 | }, | 73 | }, |
| 52 | computed: { | 74 | computed: { |
| 53 | locale() { | 75 | locale() { |
| 54 | return this.$i18n.locale || 'tc'; | 76 | return this.$i18n.locale || "tc"; |
| 55 | }, | 77 | }, |
| 56 | i18n() { | 78 | i18n() { |
| 57 | return this.$i18n.messages && this.$i18n.locale ? this.$i18n.messages[this.$i18n.locale] : {}; | 79 | return this.$i18n.messages && this.$i18n.locale |
| 80 | ? this.$i18n.messages[this.$i18n.locale] | ||
| 81 | : {}; | ||
| 58 | }, | 82 | }, |
| 59 | submitBtnDisabled() { | 83 | submitBtnDisabled() { |
| 60 | let b1 = !this.selectedPolicies || this.selectedPolicies.length == 0; | 84 | let b1 = !this.selectedPolicies || this.selectedPolicies.length == 0; |
| ... | @@ -100,27 +124,29 @@ export default { | ... | @@ -100,27 +124,29 @@ export default { |
| 100 | addressAcceptMsg: this.checked2 ? 1 : 0, | 124 | addressAcceptMsg: this.checked2 ? 1 : 0, |
| 101 | emailAcceptMsg: this.checked3 ? 1 : 0, | 125 | emailAcceptMsg: this.checked3 ? 1 : 0, |
| 102 | policies: policies | 126 | policies: policies |
| 103 | } | 127 | }; |
| 104 | this.loading = true; | 128 | this.loading = true; |
| 105 | httpPost({ | 129 | httpPost({ |
| 106 | url: api.updatePolicyContanct, | 130 | url: api.updatePolicyContanct, |
| 107 | data: data, | 131 | data: data, |
| 108 | sid: true | 132 | sid: true |
| 109 | }).then(() => { | ||
| 110 | this.loading = false; | ||
| 111 | this.showSuccess(); | ||
| 112 | }).catch(err => { | ||
| 113 | this.loading = false; | ||
| 114 | if (err.code == 404) { | ||
| 115 | this.$refs.auth.noAuth(); | ||
| 116 | } | ||
| 117 | }) | 133 | }) |
| 134 | .then(() => { | ||
| 135 | this.loading = false; | ||
| 136 | this.showSuccess(); | ||
| 137 | }) | ||
| 138 | .catch(err => { | ||
| 139 | this.loading = false; | ||
| 140 | if (err.code == 404) { | ||
| 141 | this.$refs.auth.noAuth(); | ||
| 142 | } | ||
| 143 | }); | ||
| 118 | } | 144 | } |
| 119 | }, | 145 | }, |
| 120 | checkMobile() { | 146 | checkMobile() { |
| 121 | if (this.data.mobile) { | 147 | if (this.data.mobile) { |
| 122 | let hkMobile = contactMethodCheck('hkmobile', this.data.mobile); | 148 | let hkMobile = contactMethodCheck("hkmobile", this.data.mobile); |
| 123 | let zhMobile = contactMethodCheck('mobile', this.data.mobile); | 149 | let zhMobile = contactMethodCheck("mobile", this.data.mobile); |
| 124 | if (!hkMobile && !zhMobile) { | 150 | if (!hkMobile && !zhMobile) { |
| 125 | this.errorTips.e1 = this.i18n.policyChangeContact.errorTips.e1; | 151 | this.errorTips.e1 = this.i18n.policyChangeContact.errorTips.e1; |
| 126 | return false; | 152 | return false; |
| ... | @@ -132,7 +158,7 @@ export default { | ... | @@ -132,7 +158,7 @@ export default { |
| 132 | return true; | 158 | return true; |
| 133 | }, | 159 | }, |
| 134 | checkEmail() { | 160 | checkEmail() { |
| 135 | if (this.data.email && !contactMethodCheck('email', this.data.email)) { | 161 | if (this.data.email && !contactMethodCheck("email", this.data.email)) { |
| 136 | this.errorTips.e3 = this.i18n.policyChangeContact.errorTips.e3; | 162 | this.errorTips.e3 = this.i18n.policyChangeContact.errorTips.e3; |
| 137 | return false; | 163 | return false; |
| 138 | } | 164 | } |
| ... | @@ -155,23 +181,25 @@ export default { | ... | @@ -155,23 +181,25 @@ export default { |
| 155 | url: api.policyDetail, | 181 | url: api.policyDetail, |
| 156 | data: param, | 182 | data: param, |
| 157 | sid: true | 183 | sid: true |
| 158 | }).then(response => { | 184 | }) |
| 159 | this.data = {}; | 185 | .then(response => { |
| 160 | if (response) { | 186 | this.data = {}; |
| 161 | this.loading = false; | 187 | if (response) { |
| 162 | this.dataInit = true; | 188 | this.loading = false; |
| 163 | this.data.mobile = response.clientMobileNo; | 189 | this.dataInit = true; |
| 164 | this.checked1 = "1" == response.clientMobileAcceptMessage; | 190 | this.data.mobile = response.clientMobileNo; |
| 165 | this.data.address = response.clientContactAddress; | 191 | this.checked1 = "1" == response.clientMobileAcceptMessage; |
| 166 | this.checked2 = "1" == response.clientAddressAcceptMessage; | 192 | this.data.address = response.clientContactAddress; |
| 167 | this.data.email = response.clientEmail; | 193 | this.checked2 = "1" == response.clientAddressAcceptMessage; |
| 168 | this.checked3 = "1" == response.clientEmailAcceptMessage; | 194 | this.data.email = response.clientEmail; |
| 169 | } | 195 | this.checked3 = "1" == response.clientEmailAcceptMessage; |
| 170 | }).catch(res => { | 196 | } |
| 171 | if (res.code == "404") { | 197 | }) |
| 172 | this.$refs.auth.noAuth(); | 198 | .catch(res => { |
| 173 | } | 199 | if (res.code == "404") { |
| 174 | }); | 200 | this.$refs.auth.noAuth(); |
| 201 | } | ||
| 202 | }); | ||
| 175 | }, | 203 | }, |
| 176 | handlePolicySelect(data) { | 204 | handlePolicySelect(data) { |
| 177 | this.selectedPolicies = data; | 205 | this.selectedPolicies = data; |
| ... | @@ -193,17 +221,17 @@ export default { | ... | @@ -193,17 +221,17 @@ export default { |
| 193 | } | 221 | } |
| 194 | }, | 222 | }, |
| 195 | watch: { | 223 | watch: { |
| 196 | 'data.mobile': function () { | 224 | "data.mobile": function() { |
| 197 | this.errorTips.e1 = ""; | 225 | this.errorTips.e1 = ""; |
| 198 | }, | 226 | }, |
| 199 | 'data.address': function () { | 227 | "data.address": function() { |
| 200 | this.errorTips.e2 = ""; | 228 | this.errorTips.e2 = ""; |
| 201 | }, | 229 | }, |
| 202 | 'data.email': function () { | 230 | "data.email": function() { |
| 203 | this.errorTips.e3 = ""; | 231 | this.errorTips.e3 = ""; |
| 204 | } | 232 | } |
| 205 | }, | 233 | }, |
| 206 | mounted() { | 234 | mounted() { |
| 207 | this.initTitle(); | 235 | this.initTitle(); |
| 208 | } | 236 | } |
| 209 | } | 237 | }; | ... | ... |
| 1 | @import '@/styles/_support.scss'; | 1 | @import "@/styles/_support.scss"; |
| 2 | .comp { | ||
| 3 | font-size: $fontSize-M2; | ||
| 4 | } | ||
| 2 | 5 | ||
| 3 | .container { | 6 | .container { |
| 4 | @extend .bb; | 7 | @extend .bb; |
| 5 | padding: 22px 36px 30px 26px; | 8 | padding: 24px 32px; |
| 6 | |||
| 7 | } | 9 | } |
| 8 | 10 | ||
| 9 | .border { | 11 | .border { |
| ... | @@ -15,29 +17,47 @@ | ... | @@ -15,29 +17,47 @@ |
| 15 | .form { | 17 | .form { |
| 16 | display: flex; | 18 | display: flex; |
| 17 | flex-wrap: wrap; | 19 | flex-wrap: wrap; |
| 18 | |||
| 19 | &-item { | 20 | &-item { |
| 20 | position: relative; | 21 | position: relative; |
| 21 | margin-bottom: 28px; | ||
| 22 | width: 100%; | 22 | width: 100%; |
| 23 | |||
| 24 | &:last-child { | 23 | &:last-child { |
| 25 | margin-bottom: 0; | 24 | margin-bottom: 0; |
| 26 | } | 25 | } |
| 27 | |||
| 28 | .label { | 26 | .label { |
| 29 | color: #f05a23; | ||
| 30 | display: flex; | 27 | display: flex; |
| 31 | align-items: center; | 28 | align-items: center; |
| 32 | margin-bottom: 8.4px; | 29 | margin-bottom: 8.4px; |
| 33 | |||
| 34 | .icon { | 30 | .icon { |
| 35 | width: 26px; | 31 | margin-right: 14px; |
| 36 | display: flex; | ||
| 37 | } | 32 | } |
| 38 | |||
| 39 | img { | 33 | img { |
| 40 | height: 12px; | 34 | } |
| 35 | } | ||
| 36 | |||
| 37 | .ipt-gird { | ||
| 38 | &-item { | ||
| 39 | margin: 0 auto 48px; | ||
| 40 | padding-left: 18px; | ||
| 41 | padding-right: 18px; | ||
| 42 | |||
| 43 | &:first-child { | ||
| 44 | margin-right: 0; | ||
| 45 | padding-left: 0; | ||
| 46 | } | ||
| 47 | &:last-child { | ||
| 48 | margin-right: 0; | ||
| 49 | padding-right: 0; | ||
| 50 | } | ||
| 51 | } | ||
| 52 | |||
| 53 | .w1 { | ||
| 54 | width: 210px; | ||
| 55 | } | ||
| 56 | .w2 { | ||
| 57 | width: 300px; | ||
| 58 | } | ||
| 59 | .w3 { | ||
| 60 | width: 360px; | ||
| 41 | } | 61 | } |
| 42 | } | 62 | } |
| 43 | 63 | ||
| ... | @@ -46,26 +66,18 @@ | ... | @@ -46,26 +66,18 @@ |
| 46 | justify-content: space-between; | 66 | justify-content: space-between; |
| 47 | align-items: center; | 67 | align-items: center; |
| 48 | position: relative; | 68 | position: relative; |
| 49 | |||
| 50 | // input和下拉 | 69 | // input和下拉 |
| 51 | .ipt { | 70 | .ipt { |
| 52 | flex: 1; | 71 | flex: 1; |
| 53 | } | 72 | } |
| 54 | |||
| 55 | .agree { | ||
| 56 | cursor: pointer; | ||
| 57 | } | ||
| 58 | |||
| 59 | .name-ipt { | 73 | .name-ipt { |
| 60 | width: 164px; | 74 | width: 164px; |
| 61 | } | 75 | } |
| 62 | |||
| 63 | .phone-ipt { | 76 | .phone-ipt { |
| 64 | width: 164px; | 77 | width: 164px; |
| 65 | } | 78 | } |
| 66 | 79 | .mail-ipt { | |
| 67 | .mail-ipt {} | 80 | } |
| 68 | |||
| 69 | // 长文本 | 81 | // 长文本 |
| 70 | .textarea { | 82 | .textarea { |
| 71 | min-height: 105px; | 83 | min-height: 105px; |
| ... | @@ -73,62 +85,58 @@ | ... | @@ -73,62 +85,58 @@ |
| 73 | @extend .bb; | 85 | @extend .bb; |
| 74 | padding: 9px; | 86 | padding: 9px; |
| 75 | } | 87 | } |
| 76 | |||
| 77 | .down-arrow { | 88 | .down-arrow { |
| 78 | position: absolute; | 89 | position: absolute; |
| 79 | top: 26.4px; | 90 | top: 26.4px; |
| 80 | right: 24px; | 91 | right: 24px; |
| 81 | background-image: url('~@/assets/images/reservation/re-down-arrow.png'); | 92 | background-image: url("~@/assets/images/reservation/re-down-arrow.png"); |
| 82 | width: 12px; | 93 | width: 12px; |
| 83 | height: 8px; | 94 | height: 8px; |
| 84 | pointer-events: none; | 95 | pointer-events: none; |
| 85 | cursor: default; | 96 | cursor: default; |
| 86 | } | 97 | } |
| 87 | |||
| 88 | .check-icon { | 98 | .check-icon { |
| 89 | display: inline-block; | 99 | display: inline-block; |
| 90 | margin-left: 26px; | 100 | margin-left: 26px; |
| 91 | margin-right: 8px; | 101 | margin-right: 8px; |
| 92 | } | 102 | } |
| 93 | } | 103 | } |
| 94 | |||
| 95 | .validator { | 104 | .validator { |
| 96 | color: $cOrange; | 105 | color: $cOrange2; |
| 97 | margin-top: 6px; | 106 | margin-top: 6px; |
| 98 | position: absolute; | 107 | position: absolute; |
| 99 | right: 192px; | 108 | // right: 0; |
| 109 | left: 0; | ||
| 100 | display: flex; | 110 | display: flex; |
| 101 | align-items: center; | 111 | align-items: center; |
| 102 | // bottom: 0; | 112 | // bottom: 0; |
| 103 | |||
| 104 | img { | 113 | img { |
| 105 | display: inline-block; | 114 | display: inline-block; |
| 106 | margin-right: 4.8px; | 115 | margin-right: 4.8px; |
| 107 | } | 116 | } |
| 108 | } | 117 | } |
| 109 | } | 118 | } |
| 119 | } | ||
| 110 | 120 | ||
| 121 | .agree { | ||
| 122 | width: 100%; | ||
| 123 | display: flex; | ||
| 124 | align-items: center; | ||
| 125 | // margin-top: 48px; | ||
| 126 | font-size: $fontSizeSmall-M2; | ||
| 127 | .check-icon { | ||
| 128 | margin-right: 8px; | ||
| 129 | width: 18px; | ||
| 130 | height: 18px; | ||
| 131 | } | ||
| 111 | } | 132 | } |
| 112 | 133 | ||
| 113 | .submit-btn { | 134 | .submit-btn { |
| 114 | width: 163px; | 135 | @include btc4(300px, 50px, 18px); |
| 115 | height: 49px; | 136 | width: 300px; |
| 116 | margin: 0 auto 0; | 137 | height: 50px; |
| 117 | line-height: 49px; | 138 | border-radius: 25px; |
| 118 | box-shadow: 0px 10px 13px 0 rgba(236, 100, 41, 0.2); | 139 | margin: 40px auto 0; |
| 119 | background-blend-mode: soft-light, ; | ||
| 120 | background-image: linear-gradient(to top, #000000, #ffffff), linear-gradient(to bottom, #ec6429, #ec6429); | ||
| 121 | text-align: center; | ||
| 122 | font-size: 15.5px; | ||
| 123 | color: #ffffff; | ||
| 124 | border-radius: 42px; | ||
| 125 | cursor: pointer; | ||
| 126 | border: none; | ||
| 127 | color: #ffffff; | ||
| 128 | background-color: #f05a23; | ||
| 129 | box-shadow: 0px 10px 13px 0 rgba(236, 100, 41, 0.2); | ||
| 130 | background-blend-mode: soft-light, ; | ||
| 131 | background-image: linear-gradient(to top, #000000, #ffffff), linear-gradient(to bottom, #ec6429, #ec6429); | ||
| 132 | } | 140 | } |
| 133 | 141 | ||
| 134 | .submit-btn:lang(zh) { | 142 | .submit-btn:lang(zh) { |
| ... | @@ -141,27 +149,23 @@ | ... | @@ -141,27 +149,23 @@ |
| 141 | overflow-x: auto; | 149 | overflow-x: auto; |
| 142 | -webkit-overflow-scrolling: touch; | 150 | -webkit-overflow-scrolling: touch; |
| 143 | width: 92vw; | 151 | width: 92vw; |
| 144 | |||
| 145 | } | 152 | } |
| 146 | } | 153 | } |
| 147 | 154 | ||
| 148 | |||
| 149 | @media (max-width: 768px) { | 155 | @media (max-width: 768px) { |
| 156 | .container { | ||
| 157 | padding: 24px 16px; | ||
| 158 | } | ||
| 150 | .form { | 159 | .form { |
| 151 | &-item { | 160 | &-item { |
| 152 | .ipt-wrap { | 161 | .ipt-wrap { |
| 153 | display: block; | 162 | display: block; |
| 154 | } | 163 | } |
| 155 | 164 | .ipt-gird { | |
| 156 | .agree { | 165 | &-item { |
| 157 | margin-top: $marginSmall-M; | 166 | padding: 0; |
| 158 | |||
| 159 | .check-icon { | ||
| 160 | margin-left: 0; | ||
| 161 | } | 167 | } |
| 162 | } | 168 | } |
| 163 | |||
| 164 | |||
| 165 | } | 169 | } |
| 166 | } | 170 | } |
| 167 | } | 171 | } | ... | ... |
| 1 | 1 | ||
| 2 | <template> | 2 | <template> |
| 3 | <div> | 3 | <div class="policy-change-contact"> |
| 4 | <auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true" ref="auth" :tipModel="'m2'"></auth> | 4 | <!-- 该input用于防止chrome自动填充 --> |
| 5 | <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp> | 5 | <input type="password" style="display: none;" /> |
| 6 | <template v-if="showForm"> | 6 | <auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true" ref="auth" :tipModel="'m2'"></auth> |
| 7 | <policy-head-list :multiSelectable="true" @onSelect="handlePolicySelect"></policy-head-list> | 7 | <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp> |
| 8 | <div class="container border" v-if="selectedPolicies.length > 0 && data"> | 8 | <template v-if="showForm"> |
| 9 | <div class="form"> | 9 | <policy-head-list :multiSelectable="true" @onSelect="handlePolicySelect"></policy-head-list> |
| 10 | <div class="form-item"> | ||
| 11 | <div class="label"> | ||
| 12 | <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-phone.png"></div>{{$t('policyChangeContact.phone')}} | ||
| 13 | </div> | ||
| 14 | <div class="ipt-wrap"> | ||
| 15 | <input class="ipt mail-ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="data.mobile"> | ||
| 16 | <div class="agree" @click="checked1 = !checked1"> | ||
| 17 | <img v-if="!checked1" class="check-icon pointer" src="@/assets/images/reservation/un-check.png"> | ||
| 18 | <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png"> | ||
| 19 | <span>{{$t("policyChangeContact.checkTips")}}</span> | ||
| 20 | </div> | ||
| 21 | 10 | ||
| 22 | </div> | 11 | <div class="container border" v-if="selectedPolicies.length > 0 && data"> |
| 23 | <div class="validator" v-if="errorTips.e1.length > 0"> | 12 | <!-- 表单 --> |
| 24 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e1}} | 13 | <div class="form"> |
| 25 | </div> | 14 | <!-- 1 --> |
| 26 | </div> | 15 | <div class="form-item"> |
| 27 | <div class="form-item"> | 16 | <div class="label"> |
| 28 | <div class="label"> | 17 | <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-phone.png"></div>{{$t('policyChangeContact.phone')}} |
| 29 | <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-location.png"></div>{{$t('policyChangeContact.address')}} | 18 | </div> |
| 30 | </div> | ||
| 31 | <div class="ipt-wrap"> | ||
| 32 | <input class="ipt mail-ipt" type="text" :class="{err : errorTips.e2.length > 0}" v-model="data.address"> | ||
| 33 | <div class="agree" @click="checked2 = !checked2"> | ||
| 34 | <img v-if="!checked2" class="check-icon pointer" src="@/assets/images/reservation/un-check.png"> | ||
| 35 | <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png"> | ||
| 36 | <span>{{$t("policyChangeContact.checkTips")}}</span> | ||
| 37 | </div> | ||
| 38 | </div> | ||
| 39 | <div class="validator" v-if="errorTips.e2.length > 0"> | ||
| 40 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}} | ||
| 41 | </div> | ||
| 42 | </div> | ||
| 43 | <div class="form-item"> | ||
| 44 | <div class="label"> | ||
| 45 | <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-mail.png"></div>{{$t('policyChangeContact.email')}} | ||
| 46 | </div> | ||
| 47 | <div class="ipt-wrap"> | ||
| 48 | <input class="ipt mail-ipt" type="text" :class="{err : errorTips.e3.length > 0}" v-model="data.email"> | ||
| 49 | <div class="agree" @click="checked3 = !checked3"> | ||
| 50 | <img v-if="!checked3" class="check-icon pointer" src="@/assets/images/reservation/un-check.png"> | ||
| 51 | <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png"> | ||
| 52 | <span>{{$t("policyChangeContact.checkTips")}}</span> | ||
| 53 | </div> | ||
| 54 | </div> | ||
| 55 | 19 | ||
| 56 | <div class="validator" v-if="errorTips.e3.length > 0"> | 20 | <div class="gird-g ipt-gird"> |
| 57 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e3}} | 21 | <div class="pure-u-1 pure-u-md-6-24 ipt-gird-item"> |
| 58 | </div> | 22 | <div class="ipt-wrap-linear"> |
| 59 | </div> | 23 | <div class="down-arrow"></div> |
| 60 | <div class="submit-btn flex-center" @click="updateContactsHandler" :class="{disabled: submitBtnDisabled}"> | 24 | <div class="cont"> |
| 61 | <van-loading v-if="loading" /> | 25 | <el-select class="ipt" v-model="data.areaCode" :placeholder="$t('policyChangeContact.form.InternationalArea')"> |
| 62 | <span>{{$t('policyChangeContact.submit')}}</span> | 26 | <el-option v-for="(item, index) in areaCodeList" :key="index" :label="item.n" :value="item.v"></el-option> |
| 63 | </div> | 27 | </el-select> |
| 64 | </div> | 28 | </div> |
| 29 | </div> | ||
| 30 | <div class="validator" v-if="errorTips.e1.length > 0"> | ||
| 31 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e1}} | ||
| 32 | </div> | ||
| 33 | </div> | ||
| 65 | 34 | ||
| 66 | </div> | 35 | <div class="pure-u-1 pure-u-md-8-24 ipt-gird-item"> |
| 67 | <!-- <div v-else style="height:400px"></div> --> | 36 | <div class="ipt-wrap-linear"> |
| 68 | </template> | 37 | <input class="ipt mail-ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="data.mobile" autocomplete="new-password" :placeholder="$t('policyChangeContact.form.Mobile')"> |
| 69 | </div> | 38 | </div> |
| 39 | <div class="validator" v-if="errorTips.e1.length > 0"> | ||
| 40 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e1}} | ||
| 41 | </div> | ||
| 42 | </div> | ||
| 43 | </div> | ||
| 44 | </div> | ||
| 45 | |||
| 46 | <!-- 2 --> | ||
| 47 | <div class="form-item"> | ||
| 48 | <div class="label"> | ||
| 49 | <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-location.png"></div>{{$t('policyChangeContact.address')}} | ||
| 50 | </div> | ||
| 51 | <div class="gird-g ipt-gird"> | ||
| 52 | <div class="pure-u-1 pure-u-md-6-24 ipt-gird-item"> | ||
| 53 | <div class="ipt-wrap-linear"> | ||
| 54 | <div class="down-arrow"></div> | ||
| 55 | <div class="cont"> | ||
| 56 | <el-select class="ipt" v-model="data.countryCode" :placeholder="$t('policyChangeContact.form.Nation')"> | ||
| 57 | <el-option v-for="(item, index) in countryList" :key="index" :label="item.n" :value="item.v"></el-option> | ||
| 58 | </el-select> | ||
| 59 | </div> | ||
| 60 | </div> | ||
| 61 | <div class="validator" v-if="errorTips.e2.length > 0"> | ||
| 62 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}} | ||
| 63 | </div> | ||
| 64 | </div> | ||
| 65 | |||
| 66 | <div class="pure-u-1 pure-u-md-6-24 ipt-gird-item"> | ||
| 67 | <div class="ipt-wrap-linear"> | ||
| 68 | <input class="ipt" type="text" :class="{err : errorTips.e2.length > 0}" v-model="data.address" autocomplete="new-password" :placeholder="$t('policyChangeContact.form.District')"> | ||
| 69 | </div> | ||
| 70 | <div class="validator" v-if="errorTips.e2.length > 0"> | ||
| 71 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}} | ||
| 72 | </div> | ||
| 73 | </div> | ||
| 74 | |||
| 75 | <div class="pure-u-1 pure-u-md-12-24 ipt-gird-item"> | ||
| 76 | <div class="ipt-wrap-linear"> | ||
| 77 | <input class="ipt" type="text" :class="{err : errorTips.e2.length > 0}" v-model="data.address" autocomplete="new-password" :placeholder="$t('policyChangeContact.form.Address')"> | ||
| 78 | </div> | ||
| 79 | <div class="validator" v-if="errorTips.e2.length > 0"> | ||
| 80 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}} | ||
| 81 | </div> | ||
| 82 | </div> | ||
| 83 | |||
| 84 | </div> | ||
| 85 | </div> | ||
| 86 | |||
| 87 | <!-- 3 --> | ||
| 88 | <div class="form-item"> | ||
| 89 | <div class="label"> | ||
| 90 | <div class="icon"><img src="@/assets/images/policy-change-contact/icon-pcc-mail.png"></div>{{$t('policyChangeContact.email')}} | ||
| 91 | </div> | ||
| 92 | <div class="gird-g ipt-gird"> | ||
| 93 | <div class="pure-u-1 ipt-gird-item"> | ||
| 94 | <div class="pure-u-1 pure-u-md-12-24 ipt-wrap-linear"> | ||
| 95 | <input class="ipt" type="text" :class="{err : errorTips.e3.length > 0}" v-model="data.email" autocomplete="new-password" :placeholder="$t('policyChangeContact.form.Mail')"> | ||
| 96 | </div> | ||
| 97 | <div class="validator" v-if="errorTips.e3.length > 0"> | ||
| 98 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e3}} | ||
| 99 | </div> | ||
| 100 | </div> | ||
| 101 | </div> | ||
| 102 | |||
| 103 | </div> | ||
| 104 | <div class="agree" @click="checked1 = !checked1"> | ||
| 105 | <img v-if="!checked1" class="check-icon pointer" src="@/assets/images/reservation/un-check.png"> | ||
| 106 | <img v-else class="check-icon pointer" src="@/assets/images/reservation/check.png"> | ||
| 107 | <span>{{$t("policyChangeContact.checkTips")}}</span> | ||
| 108 | </div> | ||
| 109 | |||
| 110 | <div class="submit-btn" @click="updateContactsHandler" :class="{disabled: submitBtnDisabled}"> | ||
| 111 | <van-loading v-if="loading" /> | ||
| 112 | <span>{{$t('policyChangeContact.submit')}}</span> | ||
| 113 | </div> | ||
| 114 | </div> | ||
| 115 | |||
| 116 | </div> | ||
| 117 | </template> | ||
| 118 | </div> | ||
| 70 | </template> | 119 | </template> |
| 71 | 120 | ||
| 72 | <script src="./policy-change-contact.js"></script> | 121 | <script src="./policy-change-contact.js"></script> | ... | ... |
| 1 | /** | ||
| 2 | * 组件描述:保单查询列表 | ||
| 3 | */ | ||
| 4 | |||
| 5 | import api from '@/api/api'; | ||
| 6 | import { | ||
| 7 | httpPost, | ||
| 8 | requestDomain | ||
| 9 | } from '@/api/fetch-api.js'; | ||
| 10 | |||
| 11 | import { | ||
| 12 | mapState | ||
| 13 | } from 'vuex'; | ||
| 14 | import { | ||
| 15 | formatMoney, | ||
| 16 | getInsuredPeriod, | ||
| 17 | getInsuredState, | ||
| 18 | getPolicyName | ||
| 19 | } from "@/utils/biz.js"; | ||
| 20 | import Modal2Comp from '@/components/modal2-comp/modal2-comp.vue'; | ||
| 21 | |||
| 22 | export default { | ||
| 23 | props: { | ||
| 24 | multiSelectable: { | ||
| 25 | type: Boolean, | ||
| 26 | default: false | ||
| 27 | }, | ||
| 28 | model: { | ||
| 29 | type: String, | ||
| 30 | default: "download" | ||
| 31 | }, | ||
| 32 | }, | ||
| 33 | name: "PolicyHeadList", | ||
| 34 | data() { | ||
| 35 | return { | ||
| 36 | myPolicyList: [], | ||
| 37 | maxShow: 2, | ||
| 38 | selectPolicyCode: "", | ||
| 39 | selectPolicyCodes: {}, | ||
| 40 | hide: false, | ||
| 41 | showDownloadError: false | ||
| 42 | } | ||
| 43 | }, | ||
| 44 | computed: { | ||
| 45 | ...mapState({ | ||
| 46 | policyList: state => state.policyList | ||
| 47 | }), | ||
| 48 | lan() { | ||
| 49 | return this.$i18n.locale; | ||
| 50 | }, | ||
| 51 | i18n() { | ||
| 52 | return this.$i18n.messages && this.$i18n.locale ? this.$i18n.messages[this.$i18n.locale] : {}; | ||
| 53 | }, | ||
| 54 | }, | ||
| 55 | methods: { | ||
| 56 | onShowTipsOverHandler(event, item, index) { | ||
| 57 | let child = event.currentTarget.childNodes[0]; | ||
| 58 | child.style.display = "block"; | ||
| 59 | }, | ||
| 60 | onShowTipsOutHandler(event, item, index) { | ||
| 61 | let child = event.currentTarget.childNodes[0]; | ||
| 62 | child.style.display = "none"; | ||
| 63 | }, | ||
| 64 | toContactUs() { | ||
| 65 | this.$router.push({ | ||
| 66 | path: "/custom/service", | ||
| 67 | query: { | ||
| 68 | q: "m1" | ||
| 69 | } | ||
| 70 | }); | ||
| 71 | }, | ||
| 72 | queryList() { | ||
| 73 | if (this.policyList && this.policyList.length > 0) { | ||
| 74 | this.myPolicyList = this.policyList; | ||
| 75 | this.myPolicyList.forEach(element => { | ||
| 76 | element.activity = false; | ||
| 77 | }) | ||
| 78 | this.initSelected(); | ||
| 79 | } else { | ||
| 80 | this.checkCustomer().then(() => { | ||
| 81 | httpPost({ | ||
| 82 | url: api.policyList, | ||
| 83 | sid: true | ||
| 84 | }).then(res => { | ||
| 85 | if (!res || res.length == 0) { | ||
| 86 | this.myPolicyList = null; | ||
| 87 | } else { | ||
| 88 | res.forEach(element => { | ||
| 89 | element.activity = false; | ||
| 90 | // let len = element.policyCode.length; | ||
| 91 | // element.policyCodeStr = element.policyCode && len > 5 ? | ||
| 92 | // element.policyCode.substring(0, 2) + "**********" | ||
| 93 | // + element.policyCode.substring(len - 4, len) : element.policyCode; | ||
| 94 | }); | ||
| 95 | this.$store.commit("CACHE_POLICY_LIST", res); | ||
| 96 | this.myPolicyList = res; | ||
| 97 | } | ||
| 98 | this.initSelected(); | ||
| 99 | }).catch(e => { | ||
| 100 | this.myPolicyList = null; | ||
| 101 | switch (e.code) { | ||
| 102 | case "2002": | ||
| 103 | // 不是客户,没有购买保单 | ||
| 104 | break; | ||
| 105 | } | ||
| 106 | }); | ||
| 107 | }); | ||
| 108 | |||
| 109 | } | ||
| 110 | }, | ||
| 111 | initSelected() { | ||
| 112 | let selectPolicy = null; | ||
| 113 | try { | ||
| 114 | let data = sessionStorage.getItem("_hklife_policy"); | ||
| 115 | if (data) { | ||
| 116 | sessionStorage.removeItem("_hklife_policy"); | ||
| 117 | selectPolicy = JSON.parse(decodeURIComponent(data)); | ||
| 118 | if (selectPolicy) { | ||
| 119 | if (this.multiSelectable) { | ||
| 120 | this.selectPolicyCodes[selectPolicy.code] = selectPolicy; | ||
| 121 | } else { | ||
| 122 | this.selectPolicyCode = selectPolicy.code; | ||
| 123 | } | ||
| 124 | this.$emit("onSelect", [selectPolicy]); | ||
| 125 | |||
| 126 | // 判断最大显示 | ||
| 127 | let index = -1; | ||
| 128 | for (let i = 0; i < this.myPolicyList.length; i++) { | ||
| 129 | if (selectPolicy.code == this.myPolicyList[i].policyCode) { | ||
| 130 | this.myPolicyList[i].activity = true; | ||
| 131 | index = i; | ||
| 132 | } | ||
| 133 | } | ||
| 134 | this.$set(this, "myPolicyList", this.myPolicyList); | ||
| 135 | if (index > 2) { | ||
| 136 | this.maxShow = this.myPolicyList.length; | ||
| 137 | } | ||
| 138 | } | ||
| 139 | } | ||
| 140 | } catch (e) { | ||
| 141 | |||
| 142 | } | ||
| 143 | if (!selectPolicy) { | ||
| 144 | let firstPolicy = this.myPolicyList[0]; | ||
| 145 | this.myPolicyList[0].activity = true; | ||
| 146 | selectPolicy = { | ||
| 147 | id: firstPolicy.policyId, | ||
| 148 | code: firstPolicy.policyCode | ||
| 149 | }; | ||
| 150 | if (this.multiSelectable) { | ||
| 151 | this.selectPolicyCodes[selectPolicy.code] = selectPolicy; | ||
| 152 | } else { | ||
| 153 | this.selectPolicyCode = selectPolicy.code; | ||
| 154 | } | ||
| 155 | this.$emit("onSelect", [selectPolicy]); | ||
| 156 | } | ||
| 157 | }, | ||
| 158 | handlePolicySelect(item, index) { | ||
| 159 | let code = item.policyCode; | ||
| 160 | if (this.multiSelectable) { | ||
| 161 | let c = this.selectPolicyCodes[code]; | ||
| 162 | if (!c || typeof c == "undefined") { | ||
| 163 | item.activity = true; | ||
| 164 | this.selectPolicyCodes[code] = { | ||
| 165 | code: code, | ||
| 166 | id: item.policyId | ||
| 167 | }; | ||
| 168 | } else { | ||
| 169 | item.activity = false; | ||
| 170 | delete this.selectPolicyCodes[code]; | ||
| 171 | } | ||
| 172 | // this.$set(this, 'myPolicyList', this.myPolicyList); | ||
| 173 | let data = []; | ||
| 174 | for (let key in this.selectPolicyCodes) { | ||
| 175 | data.push(this.selectPolicyCodes[key]); | ||
| 176 | } | ||
| 177 | this.$emit("onSelect", data); | ||
| 178 | } else { | ||
| 179 | if (code != this.selectPolicyCode) { | ||
| 180 | this.selectPolicyCode = code; | ||
| 181 | this.$emit("onSelect", [{ | ||
| 182 | code: code, | ||
| 183 | id: item.policyId | ||
| 184 | }]); | ||
| 185 | } | ||
| 186 | } | ||
| 187 | }, | ||
| 188 | isPolicySelect(item, index) { | ||
| 189 | let code = item.policyCode; | ||
| 190 | if (this.multiSelectable) { | ||
| 191 | let c = this.selectPolicyCodes[code]; | ||
| 192 | if (!c || typeof c == "undefined") { | ||
| 193 | return false; | ||
| 194 | } else { | ||
| 195 | return true; | ||
| 196 | } | ||
| 197 | } | ||
| 198 | return false; | ||
| 199 | }, | ||
| 200 | checkCustomer() { | ||
| 201 | return new Promise(resolve => { | ||
| 202 | resolve(); | ||
| 203 | // httpPost({ url: api.profile, sid: true }).then(res => { | ||
| 204 | // if (res.isCustomer == 1) { | ||
| 205 | // resolve(); | ||
| 206 | // } else { | ||
| 207 | // this.gotoCustomerAuthPage(); | ||
| 208 | // } | ||
| 209 | // }).catch(res => { | ||
| 210 | |||
| 211 | // }); | ||
| 212 | }); | ||
| 213 | }, | ||
| 214 | gotoCustomerAuthPage() { | ||
| 215 | let c = this.$route.fullPath; | ||
| 216 | this.$router.push({ | ||
| 217 | name: "customerAuth", | ||
| 218 | query: { | ||
| 219 | c: c | ||
| 220 | } | ||
| 221 | }); | ||
| 222 | }, | ||
| 223 | formatMoney(s, t) { | ||
| 224 | if (typeof t == "undefined") { | ||
| 225 | t = 1; | ||
| 226 | } | ||
| 227 | return formatMoney(s, t); | ||
| 228 | }, | ||
| 229 | // 保障年限,保n年 | ||
| 230 | formatInsuredPeriod(t, v) { | ||
| 231 | return getInsuredPeriod(this.$i18n.locale, t, v); | ||
| 232 | }, | ||
| 233 | formatInsuredState(c) { | ||
| 234 | return getInsuredState(this.$i18n.locale, c); | ||
| 235 | }, | ||
| 236 | formatPolicyName(c, n) { | ||
| 237 | return getPolicyName(this.$i18n.locale, c, n); | ||
| 238 | }, | ||
| 239 | downloadPolicy(policy) { | ||
| 240 | if (policy) { | ||
| 241 | httpPost({ | ||
| 242 | url: api.getDownloadPath, | ||
| 243 | sid: true, | ||
| 244 | data: { | ||
| 245 | policyCode: policy.policyCode | ||
| 246 | } | ||
| 247 | }).then(res => { | ||
| 248 | if (res) { | ||
| 249 | let url = requestDomain() + api.downloadPolicy + "/" + res; | ||
| 250 | window.open(url); | ||
| 251 | } else { | ||
| 252 | this.showDownloadError = true; | ||
| 253 | } | ||
| 254 | }); | ||
| 255 | } | ||
| 256 | } | ||
| 257 | }, | ||
| 258 | components: { | ||
| 259 | Modal2Comp | ||
| 260 | }, | ||
| 261 | mounted() { | ||
| 262 | this.queryList(); | ||
| 263 | }, | ||
| 264 | } |
| 1 | @import '@/styles/_support.scss'; | ||
| 2 | |||
| 3 | .list-container { | ||
| 4 | overflow-x: auto; | ||
| 5 | margin-bottom: 24px; | ||
| 6 | } | ||
| 7 | |||
| 8 | .hide { | ||
| 9 | max-height: 0; | ||
| 10 | border-bottom: none; | ||
| 11 | } | ||
| 12 | |||
| 13 | .table-contaner { | ||
| 14 | position: relative; | ||
| 15 | } | ||
| 16 | |||
| 17 | .download { | ||
| 18 | position: relative; | ||
| 19 | |||
| 20 | &-tips { | ||
| 21 | display: none; | ||
| 22 | position: absolute; | ||
| 23 | top: -3px; | ||
| 24 | left: 20px; | ||
| 25 | z-index: 11; | ||
| 26 | padding: 2px; | ||
| 27 | @include border-tans(); | ||
| 28 | min-width: 80px; | ||
| 29 | } | ||
| 30 | } | ||
| 31 | |||
| 32 | .guide { | ||
| 33 | position: absolute; | ||
| 34 | transition: all 0.5s; | ||
| 35 | cursor: pointer; | ||
| 36 | width: 12px; | ||
| 37 | height: 8px; | ||
| 38 | background: url("~@/assets/images/insurance-query/triangle-down2.png") no-repeat center center; | ||
| 39 | background-size: 100% 100%; | ||
| 40 | top: 16px; | ||
| 41 | right: 26px; | ||
| 42 | } | ||
| 43 | |||
| 44 | .rotate180 { | ||
| 45 | transform: rotate(180deg); | ||
| 46 | transition: all 0.5s; | ||
| 47 | } | ||
| 48 | |||
| 49 | .cell-group { | ||
| 50 | margin-bottom: 12px; | ||
| 51 | |||
| 52 | &:last-child { | ||
| 53 | margin-bottom: 0; | ||
| 54 | } | ||
| 55 | |||
| 56 | div { | ||
| 57 | color: #4c4948; | ||
| 58 | } | ||
| 59 | |||
| 60 | .w1 { | ||
| 61 | // width: 120px; | ||
| 62 | width: 240px; | ||
| 63 | text-align: center; | ||
| 64 | } | ||
| 65 | |||
| 66 | .w2 { | ||
| 67 | // width: 75px; | ||
| 68 | width: 150px; | ||
| 69 | text-align: center; | ||
| 70 | } | ||
| 71 | |||
| 72 | .table-header { | ||
| 73 | // width: 770px; | ||
| 74 | height: 39px; | ||
| 75 | border-top-left-radius: 8px; | ||
| 76 | border-top-right-radius: 8px; | ||
| 77 | background-color: #f2f2f2; | ||
| 78 | display: flex; | ||
| 79 | align-items: center; | ||
| 80 | |||
| 81 | .normal-header { | ||
| 82 | // width: 706px; | ||
| 83 | @extend .bb; | ||
| 84 | padding: 0 32px; | ||
| 85 | width: 100%; | ||
| 86 | margin: auto; | ||
| 87 | display: flex; | ||
| 88 | justify-content: space-between; | ||
| 89 | align-items: center; | ||
| 90 | |||
| 91 | .title { | ||
| 92 | font-weight: bold; | ||
| 93 | color: #575453; | ||
| 94 | } | ||
| 95 | |||
| 96 | .guide { | ||
| 97 | transition: all 0.5s; | ||
| 98 | cursor: pointer; | ||
| 99 | width: 12px; | ||
| 100 | height: 8px; | ||
| 101 | background: url("~@/assets/images/insurance-query/triangle-down.png") no-repeat center center; | ||
| 102 | background-size: 100% 100%; | ||
| 103 | } | ||
| 104 | |||
| 105 | .rotate180 { | ||
| 106 | transform: rotate(180deg); | ||
| 107 | transition: all 0.5s; | ||
| 108 | } | ||
| 109 | } | ||
| 110 | } | ||
| 111 | |||
| 112 | .table-content { | ||
| 113 | // width: 770px; | ||
| 114 | |||
| 115 | height: auto; | ||
| 116 | max-height: 600px; | ||
| 117 | // display: inline-block; | ||
| 118 | border-bottom-left-radius: 8px; | ||
| 119 | border-bottom-right-radius: 8px; | ||
| 120 | border-left: solid 1px #f2f2f2; | ||
| 121 | border-right: solid 1px #f2f2f2; | ||
| 122 | border-bottom: solid 1px #f2f2f2; | ||
| 123 | padding: 0 32px; | ||
| 124 | transition: max-height ease-out 0.3s !important; | ||
| 125 | overflow: auto; | ||
| 126 | |||
| 127 | .data-line { | ||
| 128 | // padding: 0 32px; | ||
| 129 | height: 50px; | ||
| 130 | margin: auto; | ||
| 131 | display: flex; | ||
| 132 | justify-content: space-between; | ||
| 133 | align-items: center; | ||
| 134 | |||
| 135 | .td { | ||
| 136 | display: flex; | ||
| 137 | justify-content: center; | ||
| 138 | align-items: center; | ||
| 139 | |||
| 140 | |||
| 141 | } | ||
| 142 | |||
| 143 | .cell1 { | ||
| 144 | width: 98%; | ||
| 145 | display: flex; | ||
| 146 | justify-content: space-between; | ||
| 147 | margin: auto; | ||
| 148 | } | ||
| 149 | |||
| 150 | .separator-v { | ||
| 151 | height: 30px; | ||
| 152 | width: 2px; | ||
| 153 | background-color: #f2f2f2; | ||
| 154 | margin: 0 11px; | ||
| 155 | } | ||
| 156 | } | ||
| 157 | |||
| 158 | .label span { | ||
| 159 | color: $cOrange; | ||
| 160 | margin-left: 7px; | ||
| 161 | cursor: pointer; | ||
| 162 | text-decoration: underline; | ||
| 163 | } | ||
| 164 | |||
| 165 | .separator-h { | ||
| 166 | width: 100%; | ||
| 167 | height: 1px; | ||
| 168 | background-color: #f2f2f2; | ||
| 169 | } | ||
| 170 | } | ||
| 171 | |||
| 172 | .orange { | ||
| 173 | background-color: $cOrange; | ||
| 174 | |||
| 175 | div { | ||
| 176 | color: #ffffff; | ||
| 177 | } | ||
| 178 | } | ||
| 179 | |||
| 180 | .hide { | ||
| 181 | max-height: 0; | ||
| 182 | border-bottom: none; | ||
| 183 | } | ||
| 184 | |||
| 185 | .sp { | ||
| 186 | text-decoration: underline; | ||
| 187 | padding: 0 4.8px; | ||
| 188 | } | ||
| 189 | |||
| 190 | .ac { | ||
| 191 | color: $cOrange !important; | ||
| 192 | } | ||
| 193 | } | ||
| 194 | |||
| 195 | .show-more-btn { | ||
| 196 | width: 100%; | ||
| 197 | color: $cOrange !important; | ||
| 198 | text-decoration: underline; | ||
| 199 | cursor: pointer; | ||
| 200 | justify-content: center !important; | ||
| 201 | } | ||
| 202 | |||
| 203 | .pointer { | ||
| 204 | cursor: pointer; | ||
| 205 | } | ||
| 206 | |||
| 207 | .activity { | ||
| 208 | background-color: $cOrange !important; | ||
| 209 | opacity: .5; | ||
| 210 | |||
| 211 | div { | ||
| 212 | color: #FFFFFF !important; | ||
| 213 | } | ||
| 214 | } | ||
| 215 | |||
| 216 | .empty { | ||
| 217 | height: 500px; | ||
| 218 | display: flex; | ||
| 219 | align-items: center; | ||
| 220 | justify-content: center; | ||
| 221 | |||
| 222 | .tips { | ||
| 223 | align-items: center; | ||
| 224 | display: flex; | ||
| 225 | |||
| 226 | .icon { | ||
| 227 | margin-right: 5px; | ||
| 228 | display: inline-block; | ||
| 229 | } | ||
| 230 | |||
| 231 | .btn { | ||
| 232 | color: $cOrange; | ||
| 233 | } | ||
| 234 | } | ||
| 235 | } | ||
| 236 |
| 1 | <template> | ||
| 2 | <div class="list-container"> | ||
| 3 | <modal2-comp :visible="showDownloadError" :close="()=>{showDownloadError = false}" :content="$t('glbalTips.sysError')"></modal2-comp> | ||
| 4 | <div class="cell-group"> | ||
| 5 | <div class="table-contaner"> | ||
| 6 | <div class="table-header orange" > | ||
| 7 | <div class="normal-header"> | ||
| 8 | <div class="td w1">{{$t('customService.insuranceQuery.InsurantNumber')}}</div> | ||
| 9 | <div class="td w2">{{$t('customService.insuranceQuery.policyState')}}</div> | ||
| 10 | <div class="td w2">{{$t('customService.insuranceQuery.activeDate')}}</div> | ||
| 11 | <div class="td w2">{{$t('customService.insuranceQuery.Insurant')}}</div> | ||
| 12 | <div class="td w1">{{$t('customService.insuranceQuery.InsurantName')}}</div> | ||
| 13 | <div class="td w2">{{$t('customService.insuranceQuery.InsurantAmount')}}</div> | ||
| 14 | <div class="td w2">{{$t('customService.insuranceQuery.effectiveDate')}}</div> | ||
| 15 | <div class="td w2">{{$t('customService.insuranceQuery.period')}}</div> | ||
| 16 | </div> | ||
| 17 | </div> | ||
| 18 | <div class="guide" :class="{rotate180 : hide}" @click="hide = !hide"></div> | ||
| 19 | </div> | ||
| 20 | <div class="table-content" :class="{hide : hide}"> | ||
| 21 | <template v-if="myPolicyList"> | ||
| 22 | <div v-for="(item,index) in myPolicyList" :key="index"> | ||
| 23 | <template v-if="index < maxShow"> | ||
| 24 | <div class="data-line" @click="handlePolicySelect(item,index)"> | ||
| 25 | <div class="td w1 pointer"> | ||
| 26 | <template v-if="multiSelectable"> | ||
| 27 | <img v-if="item.activity" class="icon-check pointer" src="@/assets/images/insurance-query/check.png"> | ||
| 28 | <img v-else class="icon-check pointer" src="@/assets/images/insurance-query/un-check.png"> | ||
| 29 | <span class="sp" :class="{ac: item.activity}">{{item.policyCode}}</span> | ||
| 30 | </template> | ||
| 31 | <template v-else> | ||
| 32 | <template v-if="model != 'download'"> | ||
| 33 | <img v-if="selectPolicyCode == item.policyCode" class="icon-check pointer" src="@/assets/images/insurance-query/check.png"> | ||
| 34 | <img v-else class="icon-check pointer" src="@/assets/images/insurance-query/un-check.png"> | ||
| 35 | </template> | ||
| 36 | <span class="sp" :class="{ac: selectPolicyCode == item.policyCode}">{{item.policyCode}}</span> | ||
| 37 | <template v-if="model == 'download'"> | ||
| 38 | <div class="download" @mouseover="onShowTipsOverHandler($event,item,index)" @mouseout="onShowTipsOutHandler($event,item,index)" @click="downloadPolicy(item)"> | ||
| 39 | <div class="download-tips"> | ||
| 40 | <div class="cont">{{$t('customService.insuranceQuery.downloadClick')}}</div> | ||
| 41 | </div> | ||
| 42 | <img class="icon-download" src="@/assets/images/insurance-query/icon-down-load.png" alt=""> | ||
| 43 | </div> | ||
| 44 | </template> | ||
| 45 | </template> | ||
| 46 | </div> | ||
| 47 | |||
| 48 | <div class="td w2">{{formatInsuredState(item.policyState)}}</div> | ||
| 49 | <div class="td w2">{{item.activeDate?item.activeDate.split(" ")[0]:""}}</div> | ||
| 50 | <div class="td w2">{{lan == 'en' ? (item.insuredNameEn ? item.insuredNameEn : item.insuredNameCn) : (item.insuredNameCn ? item.insuredNameCn : item.insuredNameEn)}}</div> | ||
| 51 | <div class="td w1">{{formatPolicyName(item.productCode, item.productName)}}</div> | ||
| 52 | <div class="td w2">{{item.moneyCode}} {{formatMoney(item.amount,0)}}</div> | ||
| 53 | <div class="td w2">{{item.expireAt?item.expireAt.split(" ")[0]:""}}</div> | ||
| 54 | <!-- <div class="td w2">{{item.guaranteeAge?item.guaranteeAge.split(" ")[0]:""}}</div> --> | ||
| 55 | <div class="td w2">{{formatInsuredPeriod(item.insuredPeriodType,item.insuredPeriodValue)}}</div> | ||
| 56 | |||
| 57 | </div> | ||
| 58 | <div class="separator-h" v-if="index < myPolicyList.length - 1 && index < maxShow - 1"></div> | ||
| 59 | </template> | ||
| 60 | </div> | ||
| 61 | <template v-if="!policyList || maxShow < policyList.length"> | ||
| 62 | <div class="separator-h"></div> | ||
| 63 | <div class="data-line show-more-btn" @click="maxShow = policyList.length">{{$t('customService.insuranceQuery.showMore')}}</div> | ||
| 64 | </template> | ||
| 65 | </template> | ||
| 66 | |||
| 67 | <template v-else> | ||
| 68 | <div class="empty"> | ||
| 69 | <div class="tips"> | ||
| 70 | <img class="icon" src="@/assets/images/common/icon-alert-i.png" alt=""> | ||
| 71 | <div class="txt"> | ||
| 72 | {{$t('customService.insuranceQuery.noPolicy')}} | ||
| 73 | <span class="pointer btn" @click="toContactUs">{{$t('customService.insuranceQuery.customService')}}</span> | ||
| 74 | </div> | ||
| 75 | </div> | ||
| 76 | </div> | ||
| 77 | </template> | ||
| 78 | </div> | ||
| 79 | </div> | ||
| 80 | </div> | ||
| 81 | </template> | ||
| 82 | |||
| 83 | |||
| 84 | <script src="./policy-head-list.js"></script> | ||
| 85 | <style lang="scss" scoped> | ||
| 86 | @import "./policy-head-list.scss"; | ||
| 87 | </style> |
| 1 | @import '@/styles/_support.scss'; | 1 | @import "@/styles/_support.scss"; |
| 2 | |||
| 3 | .list-container { | 2 | .list-container { |
| 4 | overflow-x: auto; | 3 | overflow-x: auto; |
| 5 | margin-bottom: 24px; | 4 | margin-bottom: 24px; |
| 5 | font-size: $fontSize-M2; | ||
| 6 | } | 6 | } |
| 7 | 7 | ||
| 8 | .hide { | 8 | .hide { |
| ... | @@ -16,7 +16,6 @@ | ... | @@ -16,7 +16,6 @@ |
| 16 | 16 | ||
| 17 | .download { | 17 | .download { |
| 18 | position: relative; | 18 | position: relative; |
| 19 | |||
| 20 | &-tips { | 19 | &-tips { |
| 21 | display: none; | 20 | display: none; |
| 22 | position: absolute; | 21 | position: absolute; |
| ... | @@ -35,7 +34,8 @@ | ... | @@ -35,7 +34,8 @@ |
| 35 | cursor: pointer; | 34 | cursor: pointer; |
| 36 | width: 12px; | 35 | width: 12px; |
| 37 | height: 8px; | 36 | height: 8px; |
| 38 | background: url("~@/assets/images/insurance-query/triangle-down2.png") no-repeat center center; | 37 | background: url("~@/assets/images/insurance-query/triangle-down2.png") |
| 38 | no-repeat center center; | ||
| 39 | background-size: 100% 100%; | 39 | background-size: 100% 100%; |
| 40 | top: 16px; | 40 | top: 16px; |
| 41 | right: 26px; | 41 | right: 26px; |
| ... | @@ -48,36 +48,30 @@ | ... | @@ -48,36 +48,30 @@ |
| 48 | 48 | ||
| 49 | .cell-group { | 49 | .cell-group { |
| 50 | margin-bottom: 12px; | 50 | margin-bottom: 12px; |
| 51 | |||
| 52 | &:last-child { | 51 | &:last-child { |
| 53 | margin-bottom: 0; | 52 | margin-bottom: 0; |
| 54 | } | 53 | } |
| 55 | |||
| 56 | div { | 54 | div { |
| 57 | color: #4c4948; | 55 | color: #4c4948; |
| 58 | } | 56 | } |
| 59 | |||
| 60 | .w1 { | 57 | .w1 { |
| 61 | // width: 120px; | 58 | // width: 120px; |
| 62 | width: 240px; | 59 | width: 240px; |
| 63 | text-align: center; | 60 | text-align: center; |
| 64 | } | 61 | } |
| 65 | |||
| 66 | .w2 { | 62 | .w2 { |
| 67 | // width: 75px; | 63 | // width: 75px; |
| 68 | width: 150px; | 64 | width: 150px; |
| 69 | text-align: center; | 65 | text-align: center; |
| 70 | } | 66 | } |
| 71 | |||
| 72 | .table-header { | 67 | .table-header { |
| 73 | // width: 770px; | 68 | // width: 770px; |
| 74 | height: 39px; | 69 | height: 50px; |
| 75 | border-top-left-radius: 8px; | 70 | border-top-left-radius: 8px; |
| 76 | border-top-right-radius: 8px; | 71 | border-top-right-radius: 8px; |
| 77 | background-color: #f2f2f2; | 72 | background-color: #f2f2f2; |
| 78 | display: flex; | 73 | display: flex; |
| 79 | align-items: center; | 74 | align-items: center; |
| 80 | |||
| 81 | .normal-header { | 75 | .normal-header { |
| 82 | // width: 706px; | 76 | // width: 706px; |
| 83 | @extend .bb; | 77 | @extend .bb; |
| ... | @@ -87,31 +81,27 @@ | ... | @@ -87,31 +81,27 @@ |
| 87 | display: flex; | 81 | display: flex; |
| 88 | justify-content: space-between; | 82 | justify-content: space-between; |
| 89 | align-items: center; | 83 | align-items: center; |
| 90 | |||
| 91 | .title { | 84 | .title { |
| 92 | font-weight: bold; | 85 | font-weight: bold; |
| 93 | color: #575453; | 86 | color: #575453; |
| 94 | } | 87 | } |
| 95 | |||
| 96 | .guide { | 88 | .guide { |
| 97 | transition: all 0.5s; | 89 | transition: all 0.5s; |
| 98 | cursor: pointer; | 90 | cursor: pointer; |
| 99 | width: 12px; | 91 | width: 12px; |
| 100 | height: 8px; | 92 | height: 8px; |
| 101 | background: url("~@/assets/images/insurance-query/triangle-down.png") no-repeat center center; | 93 | background: url("~@/assets/images/insurance-query/triangle-down.png") |
| 94 | no-repeat center center; | ||
| 102 | background-size: 100% 100%; | 95 | background-size: 100% 100%; |
| 103 | } | 96 | } |
| 104 | |||
| 105 | .rotate180 { | 97 | .rotate180 { |
| 106 | transform: rotate(180deg); | 98 | transform: rotate(180deg); |
| 107 | transition: all 0.5s; | 99 | transition: all 0.5s; |
| 108 | } | 100 | } |
| 109 | } | 101 | } |
| 110 | } | 102 | } |
| 111 | |||
| 112 | .table-content { | 103 | .table-content { |
| 113 | // width: 770px; | 104 | // width: 770px; |
| 114 | |||
| 115 | height: auto; | 105 | height: auto; |
| 116 | max-height: 600px; | 106 | max-height: 600px; |
| 117 | // display: inline-block; | 107 | // display: inline-block; |
| ... | @@ -123,30 +113,24 @@ | ... | @@ -123,30 +113,24 @@ |
| 123 | padding: 0 32px; | 113 | padding: 0 32px; |
| 124 | transition: max-height ease-out 0.3s !important; | 114 | transition: max-height ease-out 0.3s !important; |
| 125 | overflow: auto; | 115 | overflow: auto; |
| 126 | |||
| 127 | .data-line { | 116 | .data-line { |
| 128 | // padding: 0 32px; | 117 | // padding: 0 32px; |
| 129 | height: 50px; | 118 | height: 58px; |
| 130 | margin: auto; | 119 | margin: auto; |
| 131 | display: flex; | 120 | display: flex; |
| 132 | justify-content: space-between; | 121 | justify-content: space-between; |
| 133 | align-items: center; | 122 | align-items: center; |
| 134 | |||
| 135 | .td { | 123 | .td { |
| 136 | display: flex; | 124 | display: flex; |
| 137 | justify-content: center; | 125 | justify-content: center; |
| 138 | align-items: center; | 126 | align-items: center; |
| 139 | |||
| 140 | |||
| 141 | } | 127 | } |
| 142 | |||
| 143 | .cell1 { | 128 | .cell1 { |
| 144 | width: 98%; | 129 | width: 98%; |
| 145 | display: flex; | 130 | display: flex; |
| 146 | justify-content: space-between; | 131 | justify-content: space-between; |
| 147 | margin: auto; | 132 | margin: auto; |
| 148 | } | 133 | } |
| 149 | |||
| 150 | .separator-v { | 134 | .separator-v { |
| 151 | height: 30px; | 135 | height: 30px; |
| 152 | width: 2px; | 136 | width: 2px; |
| ... | @@ -154,39 +138,35 @@ | ... | @@ -154,39 +138,35 @@ |
| 154 | margin: 0 11px; | 138 | margin: 0 11px; |
| 155 | } | 139 | } |
| 156 | } | 140 | } |
| 157 | |||
| 158 | .label span { | 141 | .label span { |
| 159 | color: $cOrange; | 142 | color: $cOrange; |
| 160 | margin-left: 7px; | 143 | margin-left: 7px; |
| 161 | cursor: pointer; | 144 | cursor: pointer; |
| 162 | text-decoration: underline; | 145 | text-decoration: underline; |
| 163 | } | 146 | } |
| 164 | |||
| 165 | .separator-h { | 147 | .separator-h { |
| 166 | width: 100%; | 148 | width: 100%; |
| 167 | height: 1px; | 149 | height: 2px; |
| 168 | background-color: #f2f2f2; | 150 | background-color: #f2f2f2; |
| 169 | } | 151 | } |
| 170 | } | 152 | } |
| 171 | |||
| 172 | .orange { | 153 | .orange { |
| 173 | background-color: $cOrange; | 154 | background-color: $cOrange; |
| 174 | |||
| 175 | div { | 155 | div { |
| 176 | color: #ffffff; | 156 | color: #ffffff; |
| 177 | } | 157 | } |
| 178 | } | 158 | } |
| 179 | 159 | .new { | |
| 160 | @include linear-bg; | ||
| 161 | } | ||
| 180 | .hide { | 162 | .hide { |
| 181 | max-height: 0; | 163 | max-height: 0; |
| 182 | border-bottom: none; | 164 | border-bottom: none; |
| 183 | } | 165 | } |
| 184 | |||
| 185 | .sp { | 166 | .sp { |
| 186 | text-decoration: underline; | 167 | text-decoration: underline; |
| 187 | padding: 0 4.8px; | 168 | padding: 0 4.8px; |
| 188 | } | 169 | } |
| 189 | |||
| 190 | .ac { | 170 | .ac { |
| 191 | color: $cOrange !important; | 171 | color: $cOrange !important; |
| 192 | } | 172 | } |
| ... | @@ -206,10 +186,9 @@ | ... | @@ -206,10 +186,9 @@ |
| 206 | 186 | ||
| 207 | .activity { | 187 | .activity { |
| 208 | background-color: $cOrange !important; | 188 | background-color: $cOrange !important; |
| 209 | opacity: .5; | 189 | opacity: 0.5; |
| 210 | |||
| 211 | div { | 190 | div { |
| 212 | color: #FFFFFF !important; | 191 | color: #ffffff !important; |
| 213 | } | 192 | } |
| 214 | } | 193 | } |
| 215 | 194 | ||
| ... | @@ -218,19 +197,24 @@ | ... | @@ -218,19 +197,24 @@ |
| 218 | display: flex; | 197 | display: flex; |
| 219 | align-items: center; | 198 | align-items: center; |
| 220 | justify-content: center; | 199 | justify-content: center; |
| 221 | |||
| 222 | .tips { | 200 | .tips { |
| 223 | align-items: center; | 201 | align-items: center; |
| 224 | display: flex; | 202 | display: flex; |
| 225 | |||
| 226 | .icon { | 203 | .icon { |
| 227 | margin-right: 5px; | 204 | margin-right: 5px; |
| 228 | display: inline-block; | 205 | display: inline-block; |
| 229 | } | 206 | } |
| 230 | |||
| 231 | .btn { | 207 | .btn { |
| 232 | color: $cOrange; | 208 | color: $cOrange; |
| 233 | } | 209 | } |
| 234 | } | 210 | } |
| 235 | } | 211 | } |
| 236 | 212 | ||
| 213 | @media (max-width: 1200px) { | ||
| 214 | .list-container { | ||
| 215 | display: -webkit-box; | ||
| 216 | overflow-x: auto; | ||
| 217 | -webkit-overflow-scrolling: touch; | ||
| 218 | width: 92vw; | ||
| 219 | } | ||
| 220 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -3,11 +3,11 @@ | ... | @@ -3,11 +3,11 @@ |
| 3 | <modal2-comp :visible="showDownloadError" :close="()=>{showDownloadError = false}" :content="$t('glbalTips.sysError')"></modal2-comp> | 3 | <modal2-comp :visible="showDownloadError" :close="()=>{showDownloadError = false}" :content="$t('glbalTips.sysError')"></modal2-comp> |
| 4 | <div class="cell-group"> | 4 | <div class="cell-group"> |
| 5 | <div class="table-contaner"> | 5 | <div class="table-contaner"> |
| 6 | <div class="table-header orange" > | 6 | <div class="table-header orange new" > |
| 7 | <div class="normal-header"> | 7 | <div class="normal-header"> |
| 8 | <div class="td w1">{{$t('customService.insuranceQuery.InsurantNumber')}}</div> | 8 | <div class="td w1">{{$t('customService.insuranceQuery.InsurantNumber')}}</div> |
| 9 | <div class="td w2">{{$t('customService.insuranceQuery.policyState')}}</div> | 9 | <!-- <div class="td w2">{{$t('customService.insuranceQuery.policyState')}}</div> |
| 10 | <div class="td w2">{{$t('customService.insuranceQuery.activeDate')}}</div> | 10 | <div class="td w2">{{$t('customService.insuranceQuery.activeDate')}}</div> --> |
| 11 | <div class="td w2">{{$t('customService.insuranceQuery.Insurant')}}</div> | 11 | <div class="td w2">{{$t('customService.insuranceQuery.Insurant')}}</div> |
| 12 | <div class="td w1">{{$t('customService.insuranceQuery.InsurantName')}}</div> | 12 | <div class="td w1">{{$t('customService.insuranceQuery.InsurantName')}}</div> |
| 13 | <div class="td w2">{{$t('customService.insuranceQuery.InsurantAmount')}}</div> | 13 | <div class="td w2">{{$t('customService.insuranceQuery.InsurantAmount')}}</div> |
| ... | @@ -45,8 +45,8 @@ | ... | @@ -45,8 +45,8 @@ |
| 45 | </template> | 45 | </template> |
| 46 | </div> | 46 | </div> |
| 47 | 47 | ||
| 48 | <div class="td w2">{{formatInsuredState(item.policyState)}}</div> | 48 | <!-- <div class="td w2">{{formatInsuredState(item.policyState)}}</div> --> |
| 49 | <div class="td w2">{{item.activeDate?item.activeDate.split(" ")[0]:""}}</div> | 49 | <!-- <div class="td w2">{{item.activeDate?item.activeDate.split(" ")[0]:""}}</div> --> |
| 50 | <div class="td w2">{{lan == 'en' ? (item.insuredNameEn ? item.insuredNameEn : item.insuredNameCn) : (item.insuredNameCn ? item.insuredNameCn : item.insuredNameEn)}}</div> | 50 | <div class="td w2">{{lan == 'en' ? (item.insuredNameEn ? item.insuredNameEn : item.insuredNameCn) : (item.insuredNameCn ? item.insuredNameCn : item.insuredNameEn)}}</div> |
| 51 | <div class="td w1">{{formatPolicyName(item.productCode, item.productName)}}</div> | 51 | <div class="td w1">{{formatPolicyName(item.productCode, item.productName)}}</div> |
| 52 | <div class="td w2">{{item.moneyCode}} {{formatMoney(item.amount,0)}}</div> | 52 | <div class="td w2">{{item.moneyCode}} {{formatMoney(item.amount,0)}}</div> | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -87,20 +87,20 @@ | ... | @@ -87,20 +87,20 @@ |
| 87 | .eye-act { | 87 | .eye-act { |
| 88 | background-image: url("~@/assets/images/common/icon-eyes-on.png"); | 88 | background-image: url("~@/assets/images/common/icon-eyes-on.png"); |
| 89 | } | 89 | } |
| 90 | } | ||
| 91 | |||
| 92 | .ipt:focus { | ||
| 93 | border-color: $cOrange !important; | ||
| 94 | } | ||
| 95 | 90 | ||
| 96 | .ipt.err { | 91 | .ipt:focus { |
| 97 | border-color: $cOrange !important; | 92 | border-color: $cOrange !important; |
| 98 | } | 93 | } |
| 99 | 94 | ||
| 100 | .err { | 95 | .ipt.err { |
| 101 | .ipt { | ||
| 102 | border-color: $cOrange !important; | 96 | border-color: $cOrange !important; |
| 103 | } | 97 | } |
| 98 | |||
| 99 | .err { | ||
| 100 | .ipt { | ||
| 101 | border-color: $cOrange !important; | ||
| 102 | } | ||
| 103 | } | ||
| 104 | } | 104 | } |
| 105 | 105 | ||
| 106 | // 输入框 | 106 | // 输入框 |
| ... | @@ -115,14 +115,14 @@ | ... | @@ -115,14 +115,14 @@ |
| 115 | background-clip: padding-box, border-box; | 115 | background-clip: padding-box, border-box; |
| 116 | background-origin: padding-box, border-box; | 116 | background-origin: padding-box, border-box; |
| 117 | background-image: linear-gradient(90deg, #fff, #fff), | 117 | background-image: linear-gradient(90deg, #fff, #fff), |
| 118 | linear-gradient(90deg, #feab1b, #f15a08); | 118 | linear-gradient(90deg, #feab1b, #f15a08); |
| 119 | 119 | ||
| 120 | background-color: #ffffff; | 120 | background-color: #ffffff; |
| 121 | padding: 0 24px; | 121 | padding: 0 24px; |
| 122 | flex: 1; | 122 | flex: 1; |
| 123 | display: flex; | 123 | display: flex; |
| 124 | align-items: center; | 124 | align-items: center; |
| 125 | font-size: 22px; | 125 | font-size: 18px; |
| 126 | color: $cFontGray2; | 126 | color: $cFontGray2; |
| 127 | 127 | ||
| 128 | &:lang(zh) { | 128 | &:lang(zh) { | ... | ... |
| ... | @@ -10,160 +10,153 @@ | ... | @@ -10,160 +10,153 @@ |
| 10 | 10 | ||
| 11 | // 居中按钮样式 | 11 | // 居中按钮样式 |
| 12 | @mixin btn-center($width, $height) { | 12 | @mixin btn-center($width, $height) { |
| 13 | width: $width; | 13 | width: $width; |
| 14 | height: $height; | 14 | height: $height; |
| 15 | line-height: $height; | 15 | line-height: $height; |
| 16 | text-align: center; | 16 | text-align: center; |
| 17 | } | 17 | } |
| 18 | 18 | ||
| 19 | // 超过多少行自动省略 默认一行 | 19 | // 超过多少行自动省略 默认一行 |
| 20 | @mixin ellipsis($line:1) { | 20 | @mixin ellipsis($line: 1) { |
| 21 | display: -webkit-box; | 21 | display: -webkit-box; |
| 22 | word-break: break-all; | 22 | word-break: break-all; |
| 23 | -webkit-box-orient: vertical; | 23 | -webkit-box-orient: vertical; |
| 24 | -webkit-line-clamp: $line; | 24 | -webkit-line-clamp: $line; |
| 25 | overflow: hidden; | 25 | overflow: hidden; |
| 26 | text-overflow: ellipsis; | 26 | text-overflow: ellipsis; |
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | // 文字截取 | 29 | // 文字截取 |
| 30 | @mixin text-overflow() { | 30 | @mixin text-overflow() { |
| 31 | overflow: hidden; | 31 | overflow: hidden; |
| 32 | white-space: normal; | 32 | white-space: normal; |
| 33 | text-overflow: ellipsis; | 33 | text-overflow: ellipsis; |
| 34 | word-break: break-all; | 34 | word-break: break-all; |
| 35 | word-wrap: normal; | 35 | word-wrap: normal; |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | @mixin word-break() { | 38 | @mixin word-break() { |
| 39 | word-break: break-all; | 39 | word-break: break-all; |
| 40 | word-wrap: break-word; | 40 | word-wrap: break-word; |
| 41 | white-space: normal; | 41 | white-space: normal; |
| 42 | } | 42 | } |
| 43 | 43 | ||
| 44 | // No wrap | 44 | // No wrap |
| 45 | @mixin no-wrap() { | 45 | @mixin no-wrap() { |
| 46 | word-break: normal; | 46 | word-break: normal; |
| 47 | word-wrap: normal; | 47 | word-wrap: normal; |
| 48 | white-space: nowrap; | 48 | white-space: nowrap; |
| 49 | } | 49 | } |
| 50 | 50 | ||
| 51 | // 清除浮动 | 51 | // 清除浮动 |
| 52 | @mixin clearfix() { | 52 | @mixin clearfix() { |
| 53 | 53 | &:before, | |
| 54 | &:before, | 54 | &:after { |
| 55 | &:after { | 55 | content: " "; // 1 |
| 56 | content: " "; // 1 | 56 | display: table; // 2 |
| 57 | display: table; // 2 | 57 | } |
| 58 | } | 58 | &:after { |
| 59 | 59 | clear: both; | |
| 60 | &:after { | 60 | } |
| 61 | clear: both; | ||
| 62 | } | ||
| 63 | } | 61 | } |
| 64 | 62 | ||
| 65 | // Single side border-radius | 63 | // Single side border-radius |
| 66 | @mixin border-top-radius($radius) { | 64 | @mixin border-top-radius($radius) { |
| 67 | border-top-right-radius: $radius; | 65 | border-top-right-radius: $radius; |
| 68 | border-top-left-radius: $radius; | 66 | border-top-left-radius: $radius; |
| 69 | } | 67 | } |
| 70 | 68 | ||
| 71 | @mixin border-right-radius($radius) { | 69 | @mixin border-right-radius($radius) { |
| 72 | border-bottom-right-radius: $radius; | 70 | border-bottom-right-radius: $radius; |
| 73 | border-top-right-radius: $radius; | 71 | border-top-right-radius: $radius; |
| 74 | } | 72 | } |
| 75 | 73 | ||
| 76 | @mixin border-bottom-radius($radius) { | 74 | @mixin border-bottom-radius($radius) { |
| 77 | border-bottom-right-radius: $radius; | 75 | border-bottom-right-radius: $radius; |
| 78 | border-bottom-left-radius: $radius; | 76 | border-bottom-left-radius: $radius; |
| 79 | } | 77 | } |
| 80 | 78 | ||
| 81 | @mixin border-left-radius($radius) { | 79 | @mixin border-left-radius($radius) { |
| 82 | border-bottom-left-radius: $radius; | 80 | border-bottom-left-radius: $radius; |
| 83 | border-top-left-radius: $radius; | 81 | border-top-left-radius: $radius; |
| 84 | } | 82 | } |
| 85 | 83 | ||
| 86 | // Center-align a block level element | 84 | // Center-align a block level element |
| 87 | @mixin center-block() { | 85 | @mixin center-block() { |
| 88 | display: block; | 86 | display: block; |
| 89 | margin-left: auto; | 87 | margin-left: auto; |
| 90 | margin-right: auto; | 88 | margin-right: auto; |
| 91 | } | 89 | } |
| 92 | 90 | ||
| 93 | // CSS image replacement | 91 | // CSS image replacement |
| 94 | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 | 92 | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 |
| 95 | @mixin hide-text() { | 93 | @mixin hide-text() { |
| 96 | font-size: 0; | 94 | font-size: 0; |
| 97 | line-height: 0; | 95 | line-height: 0; |
| 98 | color: transparent; | 96 | color: transparent; |
| 99 | text-shadow: none; | 97 | text-shadow: none; |
| 100 | background-color: transparent; | 98 | background-color: transparent; |
| 101 | border: 0; | 99 | border: 0; |
| 102 | } | 100 | } |
| 103 | 101 | ||
| 104 | |||
| 105 | // 橙色按钮 | 102 | // 橙色按钮 |
| 106 | @mixin btc2($wid:63px, $hei:30px, $fontSize:12px) { | 103 | @mixin btc2($wid: 63px, $hei: 30px, $fontSize: 12px) { |
| 107 | width: $wid; | 104 | width: $wid; |
| 108 | height: $hei; | 105 | height: $hei; |
| 109 | line-height: $hei; | 106 | line-height: $hei; |
| 110 | font-size: $fontSize; | 107 | font-size: $fontSize; |
| 111 | border-radius: $hei; | 108 | border-radius: $hei; |
| 112 | text-align: center; | 109 | text-align: center; |
| 113 | color: #ffffff; | 110 | color: #ffffff; |
| 114 | background-color: #f05a23; | 111 | background-color: #f05a23; |
| 115 | // box-shadow: 0px 10px 13px 0 rgba(236, 100, 41, 0.2); | 112 | // box-shadow: 0px 10px 13px 0 rgba(236, 100, 41, 0.2); |
| 116 | // background-blend-mode: soft-light, ; | 113 | // background-blend-mode: soft-light, ; |
| 117 | // background-image: linear-gradient(to bottom, #f05f28, #f05021); | 114 | // background-image: linear-gradient(to bottom, #f05f28, #f05021); |
| 118 | box-shadow: 0px 10px 13px 0 rgba(236, 100, 41, 0.2); | 115 | box-shadow: 0px 10px 13px 0 rgba(236, 100, 41, 0.2); |
| 119 | background-blend-mode: soft-light; | 116 | background-blend-mode: soft-light; |
| 120 | background-image: linear-gradient(to bottom, #ec6429, #ec6429), linear-gradient(to top, #000000, #ffffff); | 117 | background-image: linear-gradient(to bottom, #ec6429, #ec6429), linear-gradient(to top, #000000, #ffffff); |
| 121 | // background-image: linear-gradient(to top, #000000, #ffffff), linear-gradient(to bottom, #ec6429, #ec6429); | 118 | // background-image: linear-gradient(to top, #000000, #ffffff), linear-gradient(to bottom, #ec6429, #ec6429); |
| 122 | 119 | } | |
| 123 | } | 120 | |
| 124 | 121 | @mixin btc3($wid: 63px, $hei: 30px, $fontSize: 12px) { | |
| 125 | 122 | width: $wid; | |
| 126 | @mixin btc3($wid:63px, $hei:30px, $fontSize:12px) { | 123 | height: $hei; |
| 127 | width: $wid; | 124 | line-height: $hei; |
| 128 | height: $hei; | 125 | font-size: $fontSize; |
| 129 | line-height: $hei; | 126 | border-radius: $hei; |
| 130 | font-size: $fontSize; | 127 | text-align: center; |
| 131 | border-radius: $hei; | 128 | color: #006441; |
| 132 | text-align: center; | 129 | border: solid 1px #006441; |
| 133 | color: #006441; | 130 | } |
| 134 | border: solid 1px #006441; | 131 | |
| 135 | } | 132 | @mixin btc4($wid: 288px, $hei: 60px, $fontSize: 18px) { |
| 136 | 133 | width: $wid; | |
| 137 | @mixin btc4($wid:288px, $hei:60px, $fontSize:12px) { | 134 | height: $hei; |
| 138 | width: $wid; | 135 | line-height: $hei; |
| 139 | height: $hei; | 136 | font-size: $fontSize; |
| 140 | line-height: $hei; | 137 | border-radius: $hei; |
| 141 | font-size: $fontSize; | 138 | text-align: center; |
| 142 | border-radius: $hei; | 139 | background-image: linear-gradient(135deg, #f15a08, #feab1b), linear-gradient(90deg, #fff, #fff); |
| 143 | text-align: center; | 140 | color: white; |
| 144 | background-image: linear-gradient(135deg, #f15a08, #feab1b), linear-gradient(90deg, #fff, #fff); | 141 | font-weight: 600; |
| 145 | color: white; | 142 | cursor: pointer; |
| 146 | font-weight: 600; | 143 | letter-spacing: 1.4px; |
| 147 | cursor: pointer; | 144 | } |
| 148 | letter-spacing: 1.4px; | 145 | |
| 149 | } | 146 | @mixin content-percent($percent: 4%) { |
| 150 | 147 | box-sizing: border-box; | |
| 151 | 148 | padding: 0 $percent; | |
| 152 | @mixin content-percent($percent:4%) { | 149 | } |
| 153 | box-sizing: border-box; | 150 | |
| 154 | padding: 0 $percent; | 151 | @mixin border-tans($borderRadius: 1px, $borderSize: 2px) { |
| 155 | 152 | border: $borderSize solid transparent; | |
| 156 | } | 153 | background-clip: padding-box, border-box; |
| 157 | 154 | background-origin: padding-box, border-box; | |
| 158 | @mixin border-tans($borderRadius:1px, $borderSize:2px) { | 155 | background-image: linear-gradient(90deg, #fff, #fff), linear-gradient(90deg, #feab1b, #f15a08); |
| 159 | border: $borderSize solid transparent; | 156 | border-radius: $borderRadius; |
| 160 | background-clip: padding-box, border-box; | ||
| 161 | background-origin: padding-box, border-box; | ||
| 162 | background-image: linear-gradient(90deg, #fff, #fff), linear-gradient(90deg, #feab1b, #f15a08); | ||
| 163 | border-radius: $borderRadius; | ||
| 164 | } | 157 | } |
| 165 | 158 | ||
| 166 | @mixin linear-bg() { | 159 | @mixin linear-bg() { |
| 167 | background-color: transparent; | 160 | background-color: transparent; |
| 168 | background-image: linear-gradient(135deg, #f15a08, #feab1b), linear-gradient(90deg, #fff, #fff); | 161 | background-image: linear-gradient(135deg, #f15a08, #feab1b), linear-gradient(90deg, #fff, #fff); |
| 169 | } | 162 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -60,3 +60,8 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts"; | ... | @@ -60,3 +60,8 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts"; |
| 60 | font-size: 22px; | 60 | font-size: 22px; |
| 61 | font-weight: bold; | 61 | font-weight: bold; |
| 62 | } | 62 | } |
| 63 | |||
| 64 | .policy-change-contact .el-input__inner { | ||
| 65 | font-size: 18px; | ||
| 66 | color: $cFontGray2; | ||
| 67 | } | ... | ... |
-
Please register or sign in to post a comment