部分BUG修复
Showing
29 changed files
with
224 additions
and
142 deletions
... | @@ -21,6 +21,9 @@ module.exports = { | ... | @@ -21,6 +21,9 @@ module.exports = { |
21 | back: "證件反面", | 21 | back: "證件反面", |
22 | } | 22 | } |
23 | }, | 23 | }, |
24 | error : { | ||
25 | nameTip : "name illegal" | ||
26 | }, | ||
24 | nav: { | 27 | nav: { |
25 | loginData: { | 28 | loginData: { |
26 | name: "Login", | 29 | name: "Login", |
... | @@ -686,8 +689,8 @@ module.exports = { | ... | @@ -686,8 +689,8 @@ module.exports = { |
686 | }, | 689 | }, |
687 | pulbic: { | 690 | pulbic: { |
688 | title: "Official WeChat Account", | 691 | title: "Official WeChat Account", |
689 | m1: "Login to the \"WeChat\" APP, press the \"+\" button in the upper right corner and select \"Add Friend\", select \"Public Account\" Enter and search \"Ping An Life Hong Kong\"", | 692 | m1: "(1):Login to the \"WeChat\" APP, press the "+" button in the upper right corner and select \"Add Friend\", select \"Public Account\" Enter and search \"Ping An Life Hong Kong\"", |
690 | m2: "Log in to the WeChat APP, press the \"+\" button in the upper right corner and select \"Scan\" to scan the QR code below(QR Code here)" | 693 | m2: "(2):Log in to the WeChat APP, press the "+" button in the upper right corner and select \"Scan\" to scan the QR code below(QR Code here)" |
691 | }, | 694 | }, |
692 | qrcode: { | 695 | qrcode: { |
693 | title: "Official WeChat Account" | 696 | title: "Official WeChat Account" | ... | ... |
... | @@ -21,6 +21,9 @@ module.exports = { | ... | @@ -21,6 +21,9 @@ module.exports = { |
21 | back: "證件反面", | 21 | back: "證件反面", |
22 | } | 22 | } |
23 | }, | 23 | }, |
24 | error : { | ||
25 | nameTip : "請輸入合法的名字" | ||
26 | }, | ||
24 | nav: { | 27 | nav: { |
25 | loginData: { | 28 | loginData: { |
26 | name: "登入", | 29 | name: "登入", |
... | @@ -667,14 +670,14 @@ module.exports = { | ... | @@ -667,14 +670,14 @@ module.exports = { |
667 | service: { | 670 | service: { |
668 | center: { | 671 | center: { |
669 | title: "客戶服務中心", | 672 | title: "客戶服務中心", |
670 | address: "地址:香港尖沙嘴港威永金融大樓", | 673 | address: "地址:香港九龍尖沙咀港威塔樓第5座35樓組織3501-7和14", |
671 | time: "服務時間:星期壹至五9:00-18:00", | 674 | time: "服務時間:星期一至五,上午9時 - 下午6時", |
672 | }, | 675 | }, |
673 | hotline: { | 676 | hotline: { |
674 | title: "客戶服務熱線", | 677 | title: "客戶服務熱線", |
675 | hk: "香港號碼:(852)2983 8866", | 678 | hk: "香港號碼:(852)2983 8866", |
676 | cn: "內地號碼:(86)40078 95511", | 679 | cn: "內地號碼:(86)40078 95511", |
677 | time: "服務時間:星期壹至五9:00-18:00" | 680 | time: "服務時間:星期一至五,上午9時 - 下午6時" |
678 | }, | 681 | }, |
679 | mail: { | 682 | mail: { |
680 | title: "客戶服務電郵", | 683 | title: "客戶服務電郵", |
... | @@ -683,8 +686,8 @@ module.exports = { | ... | @@ -683,8 +686,8 @@ module.exports = { |
683 | }, | 686 | }, |
684 | pulbic: { | 687 | pulbic: { |
685 | title: "微信公眾號", | 688 | title: "微信公眾號", |
686 | m1: "登陸「微信」APP, 按右上角的「+」按鈕並選擇「添加朋友」,選擇「公眾號」 輸入並搜索「平安人壽香港」", | 689 | m1: "方法一:登入「微信」APP,按右上角的「+」按鈕並選擇「添加朋友」,選擇「公眾號」輸入並蒐索「平安人壽香港」", |
687 | m2: "登陸「微信」APP, 按右上角的「+」按鈕並選擇「掃壹掃」掃描下方二維碼(放置二維碼)" | 690 | m2: "方法二:登入「微信」APP,按右上角的「+」按鈕並選擇「掃一掃」掃描下方二維碼(放置二維碼)" |
688 | }, | 691 | }, |
689 | qrcode: { | 692 | qrcode: { |
690 | title: "官方公眾號" | 693 | title: "官方公眾號" | ... | ... |
... | @@ -21,6 +21,9 @@ module.exports = { | ... | @@ -21,6 +21,9 @@ module.exports = { |
21 | back: "证件反面", | 21 | back: "证件反面", |
22 | } | 22 | } |
23 | }, | 23 | }, |
24 | error : { | ||
25 | nameTip : "请输入合法的名字" | ||
26 | }, | ||
24 | nav: { | 27 | nav: { |
25 | loginData: { | 28 | loginData: { |
26 | name: "登入", | 29 | name: "登入", |
... | @@ -668,14 +671,14 @@ module.exports = { | ... | @@ -668,14 +671,14 @@ module.exports = { |
668 | service: { | 671 | service: { |
669 | center: { | 672 | center: { |
670 | title: "客户服务中心", | 673 | title: "客户服务中心", |
671 | address: "地址:香港尖沙嘴港威永金融大楼", | 674 | address: "地址:香港九龙尖沙咀港威大厦第5座35楼单位3501-7和14", |
672 | time: "服务时间:星期一至五9:00-18:00", | 675 | time: "服务时间:星期一至五, 上午9时 - 下午6时", |
673 | }, | 676 | }, |
674 | hotline: { | 677 | hotline: { |
675 | title: "客户服务热线", | 678 | title: "客户服务热线", |
676 | hk: "香港号码:(852)2983 8866", | 679 | hk: "香港号码:(852)2983 8866", |
677 | cn: "内地号码:(86)40078 95511", | 680 | cn: "内地号码:(86)40078 95511", |
678 | time: "服务时间:星期一至五9:00-18:00" | 681 | time: "服务时间:星期一至五, 上午9时 - 下午6时" |
679 | }, | 682 | }, |
680 | mail: { | 683 | mail: { |
681 | title: "客户服务电邮", | 684 | title: "客户服务电邮", |
... | @@ -684,8 +687,8 @@ module.exports = { | ... | @@ -684,8 +687,8 @@ module.exports = { |
684 | }, | 687 | }, |
685 | pulbic: { | 688 | pulbic: { |
686 | title: "微信公众号", | 689 | title: "微信公众号", |
687 | m1: "登陆「微信」APP, 按右上角的「+」按钮並选择「添加朋友」,选择「公众号」 输入并搜索「平安人寿香港」", | 690 | m1: "方法一:登陆「微信」APP, 按右上角的「+」按钮并选择「添加朋友」,选择「公众号」 输入并搜索「平安人寿香港」", |
688 | m2: "登陆「微信」APP, 按右上角的「+」按钮並选择「扫一扫」扫描下方二维码(放置二维码)" | 691 | m2: "方法二:登陆「微信」APP, 按右上角的「+」按钮并选择「扫一扫」扫描下方二维码(放置二维码)" |
689 | }, | 692 | }, |
690 | qrcode: { | 693 | qrcode: { |
691 | title: "官方公众号" | 694 | title: "官方公众号" | ... | ... |
... | @@ -68,7 +68,9 @@ export default { | ... | @@ -68,7 +68,9 @@ export default { |
68 | 68 | ||
69 | }, | 69 | }, |
70 | loading: false, | 70 | loading: false, |
71 | contactDateError: false | 71 | contactDateError: false, |
72 | // 判断是否有合法的保单 | ||
73 | policyIllegal: true, | ||
72 | } | 74 | } |
73 | }, | 75 | }, |
74 | components: { | 76 | components: { |
... | @@ -100,7 +102,9 @@ export default { | ... | @@ -100,7 +102,9 @@ export default { |
100 | let b8 = this.data.HT41Uploading || this.data.HT26Uploading || this.data.HT29Uploading || this.data.HT34Uploading || this.data.HT16Uploading; | 102 | let b8 = this.data.HT41Uploading || this.data.HT26Uploading || this.data.HT29Uploading || this.data.HT34Uploading || this.data.HT16Uploading; |
101 | let b9 = !this.agress; | 103 | let b9 = !this.agress; |
102 | 104 | ||
103 | return b1 || b2 || b3 || b4 || b5 || b6 || b7 || b8 || b9; | 105 | let b10 = this.policyIllegal; |
106 | |||
107 | return b1 || b2 || b3 || b4 || b5 || b6 || b7 || b8 || b9 || b10; | ||
104 | } | 108 | } |
105 | }, | 109 | }, |
106 | methods: { | 110 | methods: { |
... | @@ -125,7 +129,7 @@ export default { | ... | @@ -125,7 +129,7 @@ export default { |
125 | } | 129 | } |
126 | }, | 130 | }, |
127 | uploadSuccess(data) { | 131 | uploadSuccess(data) { |
128 | console.log(data); | 132 | // console.log(data); |
129 | switch (data.type) { | 133 | switch (data.type) { |
130 | case "HT41": | 134 | case "HT41": |
131 | this.data.HT41Uploading = false; | 135 | this.data.HT41Uploading = false; |
... | @@ -150,7 +154,7 @@ export default { | ... | @@ -150,7 +154,7 @@ export default { |
150 | } | 154 | } |
151 | }, | 155 | }, |
152 | beforeUpload(data) { | 156 | beforeUpload(data) { |
153 | console.log(data); | 157 | // console.log(data); |
154 | switch (data.type) { | 158 | switch (data.type) { |
155 | case "HT41": | 159 | case "HT41": |
156 | this.data.HT41Uploading = true; | 160 | this.data.HT41Uploading = true; |
... | @@ -176,9 +180,6 @@ export default { | ... | @@ -176,9 +180,6 @@ export default { |
176 | }, | 180 | }, |
177 | checkDate(data) { | 181 | checkDate(data) { |
178 | this.contactDateError = data.disable; | 182 | this.contactDateError = data.disable; |
179 | if (this.contactDateError) { | ||
180 | |||
181 | } | ||
182 | }, | 183 | }, |
183 | toContact() { | 184 | toContact() { |
184 | this.$router.push({ | 185 | this.$router.push({ |
... | @@ -211,17 +212,19 @@ export default { | ... | @@ -211,17 +212,19 @@ export default { |
211 | cid: this.cid, | 212 | cid: this.cid, |
212 | insuredId: insured.insuredId, | 213 | insuredId: insured.insuredId, |
213 | policyId: policy.policyId, | 214 | policyId: policy.policyId, |
214 | accidentTime : this.data.contactDate, | 215 | accidentTime: this.data.contactDate, |
215 | applyReasonList: this.typeSelected.join(","), | 216 | applyReasonList: this.typeSelected.join(","), |
216 | treatmentAmount: this.data.amount, | 217 | treatmentAmount: this.data.amount, |
217 | imageList: imageList | 218 | imageList: imageList |
218 | } | 219 | } |
219 | console.log("params == ", params); | ||
220 | httpPost({ url: api.clarmsRegisterCase, data: params }).then(res => { | 220 | httpPost({ url: api.clarmsRegisterCase, data: params }).then(res => { |
221 | this.$emit("showModal", 2); | 221 | this.$emit("showModal", 2); |
222 | this.loading = false; | 222 | this.loading = false; |
223 | this.agress = false; | ||
223 | }).catch(e => { | 224 | }).catch(e => { |
224 | this.loading = false; | 225 | this.loading = false; |
226 | this.showTips = true; | ||
227 | this.agress = false; | ||
225 | }) | 228 | }) |
226 | }, | 229 | }, |
227 | checkPolicy() { | 230 | checkPolicy() { |
... | @@ -251,10 +254,21 @@ export default { | ... | @@ -251,10 +254,21 @@ export default { |
251 | }, | 254 | }, |
252 | watch: { | 255 | watch: { |
253 | "data.insuredIndex": function () { | 256 | "data.insuredIndex": function () { |
254 | this.checkPolicy(); | 257 | if (this.checkPolicy()) { |
258 | this.policyIllegal = false; | ||
259 | } else { | ||
260 | this.policyIllegal = true; | ||
261 | } | ||
255 | }, | 262 | }, |
256 | "data.contactDate": function () { | 263 | "data.contactDate": function () { |
257 | this.checkPolicy(); | 264 | if (this.checkPolicy()) { |
265 | this.policyIllegal = false; | ||
266 | } else { | ||
267 | this.policyIllegal = true; | ||
268 | } | ||
269 | }, | ||
270 | 'agree': function () { | ||
271 | this.showTips = false; | ||
258 | } | 272 | } |
259 | }, | 273 | }, |
260 | mounted() { | 274 | mounted() { | ... | ... |
... | @@ -7,7 +7,7 @@ input { | ... | @@ -7,7 +7,7 @@ input { |
7 | } | 7 | } |
8 | 8 | ||
9 | .orange { | 9 | .orange { |
10 | color: $cOrange; | 10 | color: #ff6839; |
11 | } | 11 | } |
12 | 12 | ||
13 | .gray { | 13 | .gray { |
... | @@ -32,7 +32,7 @@ input { | ... | @@ -32,7 +32,7 @@ input { |
32 | .reservation-container-2 { | 32 | .reservation-container-2 { |
33 | @extend .bb; | 33 | @extend .bb; |
34 | border-radius: .666667rem; | 34 | border-radius: .666667rem; |
35 | border: solid .083333rem $cOrange; | 35 | border: solid .083333rem #ff6839; |
36 | background-color: #ffffff; | 36 | background-color: #ffffff; |
37 | padding: 1.666667rem 10rem 2.833333rem 10rem; | 37 | padding: 1.666667rem 10rem 2.833333rem 10rem; |
38 | 38 | ||
... | @@ -51,7 +51,7 @@ input { | ... | @@ -51,7 +51,7 @@ input { |
51 | 51 | ||
52 | .title { | 52 | .title { |
53 | font-size: 1.333333rem; | 53 | font-size: 1.333333rem; |
54 | color: $cOrange; | 54 | color: #ff6839; |
55 | text-align: center; | 55 | text-align: center; |
56 | margin: 1.666667rem auto 0 auto; | 56 | margin: 1.666667rem auto 0 auto; |
57 | display: flex; | 57 | display: flex; |
... | @@ -159,24 +159,24 @@ input { | ... | @@ -159,24 +159,24 @@ input { |
159 | span { | 159 | span { |
160 | font-size: 1rem ; | 160 | font-size: 1rem ; |
161 | margin-left: .833333rem; | 161 | margin-left: .833333rem; |
162 | color: $cOrange; | 162 | color: #ff6839; |
163 | } | 163 | } |
164 | } | 164 | } |
165 | 165 | ||
166 | .contact { | 166 | .contact { |
167 | text-align: center; | 167 | text-align: center; |
168 | cursor: pointer; | 168 | cursor: pointer; |
169 | color: $cOrange; | 169 | color: #ff6839; |
170 | font-weight: 600; | 170 | font-weight: 600; |
171 | } | 171 | } |
172 | 172 | ||
173 | 173 | ||
174 | 174 | ||
175 | .tips { | 175 | .fail-tips { |
176 | align-items: center; | 176 | align-items: center; |
177 | justify-content: center; | 177 | justify-content: center; |
178 | display: flex; | 178 | display: flex; |
179 | font-size: 1.333333rem; | 179 | font-size: 1.166667rem; |
180 | 180 | ||
181 | .icon { | 181 | .icon { |
182 | width:1.333333rem; | 182 | width:1.333333rem; |
... | @@ -186,9 +186,9 @@ input { | ... | @@ -186,9 +186,9 @@ input { |
186 | 186 | ||
187 | .btn { | 187 | .btn { |
188 | margin-left: 0; | 188 | margin-left: 0; |
189 | color: $cOrange; | 189 | color: #ff6839; |
190 | font-weight: 600; | 190 | font-weight: 600; |
191 | font-size: 1.333333rem; | 191 | font-size: 1.166667rem; |
192 | } | 192 | } |
193 | } | 193 | } |
194 | } | 194 | } |
... | @@ -203,13 +203,13 @@ input { | ... | @@ -203,13 +203,13 @@ input { |
203 | font-size: 1.333333rem ; | 203 | font-size: 1.333333rem ; |
204 | font-weight: 600; | 204 | font-weight: 600; |
205 | text-align: left; | 205 | text-align: left; |
206 | color: $cOrange; | 206 | color: #ff6839; |
207 | padding-left: 15px; | 207 | padding-left: 15px; |
208 | } | 208 | } |
209 | 209 | ||
210 | .ipt-date { | 210 | .ipt-date { |
211 | width: 100%; | 211 | width: 100%; |
212 | border: 1px solid $cOrange !important; | 212 | border: 1px solid #ff6839 !important; |
213 | border-radius: .416667rem ; | 213 | border-radius: .416667rem ; |
214 | height: 3rem; | 214 | height: 3rem; |
215 | align-items: center; | 215 | align-items: center; |
... | @@ -238,7 +238,7 @@ input { | ... | @@ -238,7 +238,7 @@ input { |
238 | 238 | ||
239 | // input和下拉 | 239 | // input和下拉 |
240 | .ipt { | 240 | .ipt { |
241 | border: 1px solid $cOrange !important; | 241 | border: 1px solid #ff6839 !important; |
242 | border-radius: .416667rem ; | 242 | border-radius: .416667rem ; |
243 | height: 3rem; | 243 | height: 3rem; |
244 | display:flex; | 244 | display:flex; |
... | @@ -267,7 +267,7 @@ input { | ... | @@ -267,7 +267,7 @@ input { |
267 | } | 267 | } |
268 | 268 | ||
269 | .validator { | 269 | .validator { |
270 | color: $cOrange; | 270 | color: #ff6839; |
271 | margin-top: 0.5rem; | 271 | margin-top: 0.5rem; |
272 | position: absolute; | 272 | position: absolute; |
273 | right: 1rem; | 273 | right: 1rem; |
... | @@ -298,7 +298,7 @@ input { | ... | @@ -298,7 +298,7 @@ input { |
298 | 298 | ||
299 | .main-label { | 299 | .main-label { |
300 | font-size: 1.5rem ; | 300 | font-size: 1.5rem ; |
301 | color: $cOrange; | 301 | color: #ff6839; |
302 | } | 302 | } |
303 | } | 303 | } |
304 | 304 | ||
... | @@ -314,7 +314,7 @@ input { | ... | @@ -314,7 +314,7 @@ input { |
314 | 314 | ||
315 | // input和下拉 | 315 | // input和下拉 |
316 | .ipt { | 316 | .ipt { |
317 | border: 1px solid $cOrange !important; | 317 | border: 1px solid #ff6839 !important; |
318 | border-radius: .416667rem ; | 318 | border-radius: .416667rem ; |
319 | height: 3rem; | 319 | height: 3rem; |
320 | display:flex; | 320 | display:flex; | ... | ... |
... | @@ -134,7 +134,7 @@ | ... | @@ -134,7 +134,7 @@ |
134 | 134 | ||
135 | <div class="contact" v-if="!showTips" @click="toContact">{{$t('clarms.step2.contact')}}</div> | 135 | <div class="contact" v-if="!showTips" @click="toContact">{{$t('clarms.step2.contact')}}</div> |
136 | 136 | ||
137 | <div class="tips" v-if="showTips"> | 137 | <div class="fail-tips" v-if="showTips"> |
138 | <img class="icon" src="@/assets/images/common/icon-alert-i.png" alt=""> | 138 | <img class="icon" src="@/assets/images/common/icon-alert-i.png" alt=""> |
139 | <div class="txt"> | 139 | <div class="txt"> |
140 | {{$t('clarms.step2.failure')}} | 140 | {{$t('clarms.step2.failure')}} | ... | ... |
1 | import { mapState } from "vuex"; | ||
1 | import api from '@/api/api' | 2 | import api from '@/api/api' |
2 | import { | 3 | import { |
3 | httpGet, | 4 | httpGet, |
... | @@ -9,7 +10,10 @@ import { getPolicyIdTypeList } from '@/utils/biz.js'; | ... | @@ -9,7 +10,10 @@ import { getPolicyIdTypeList } from '@/utils/biz.js'; |
9 | import Vue from 'vue'; | 10 | import Vue from 'vue'; |
10 | import DatePicker from '@/components/date-picker/date-picker.vue'; | 11 | import DatePicker from '@/components/date-picker/date-picker.vue'; |
11 | import { Loading } from 'vant'; | 12 | import { Loading } from 'vant'; |
12 | import { Selector, Options } from 'element-ui'; | 13 | import { Select, Option } from 'element-ui'; |
14 | |||
15 | Vue.use(Select); | ||
16 | Vue.use(Option); | ||
13 | Vue.use(Loading); | 17 | Vue.use(Loading); |
14 | 18 | ||
15 | export default { | 19 | export default { |
... | @@ -19,17 +23,17 @@ export default { | ... | @@ -19,17 +23,17 @@ export default { |
19 | loading: false, | 23 | loading: false, |
20 | showTips: false, | 24 | showTips: false, |
21 | data: { | 25 | data: { |
22 | // firstName: "玛丽", | 26 | firstName: "玛丽", |
23 | // lastName: "何", | 27 | lastName: "何", |
24 | // birthDate: "1999-07-15", | 28 | birthDate: "1999-07-15", |
25 | // idNo: "H4099030", | 29 | idNo: "H4099030", |
26 | // idType: "40" | 30 | idType: "40" |
27 | 31 | ||
28 | firstName: "", | 32 | // firstName: "", |
29 | lastName: "", | 33 | // lastName: "", |
30 | birthDate: "", | 34 | // birthDate: "", |
31 | idNo: "", | 35 | // idNo: "", |
32 | idType: "" | 36 | // idType: "" |
33 | } | 37 | } |
34 | } | 38 | } |
35 | }, | 39 | }, |
... | @@ -37,6 +41,10 @@ export default { | ... | @@ -37,6 +41,10 @@ export default { |
37 | DatePicker | 41 | DatePicker |
38 | }, | 42 | }, |
39 | computed: { | 43 | computed: { |
44 | ...mapState({ | ||
45 | userInfo: state => state.userInfo, | ||
46 | policyList: state => state.policyList | ||
47 | }), | ||
40 | i18n() { | 48 | i18n() { |
41 | return this.$i18n.messages && this.$i18n.locale ? this.$i18n.messages[this.$i18n.locale] : {}; | 49 | return this.$i18n.messages && this.$i18n.locale ? this.$i18n.messages[this.$i18n.locale] : {}; |
42 | }, | 50 | }, | ... | ... |
1 | <template> | 1 | <template> |
2 | <div class="reservation-container"> | 2 | <div class="reservation-container"> |
3 | <div class="title"><u><span class="pointer" @click="toRegisterPage">{{$t('clarms.step1.register')}}</span>/<span class="pointer" @click="toLoginPage">{{$t('clarms.step1.login')}}</span></u>{{$t('clarms.step1.t1')}}</div> | 3 | <div class="title" v-if="!(userInfo && userInfo.name)"><u><span class="pointer" @click="toRegisterPage">{{$t('clarms.step1.register')}}</span>/<span class="pointer" @click="toLoginPage">{{$t('clarms.step1.login')}}</span></u>{{$t('clarms.step1.t1')}}</div> |
4 | <div class="form-name default-mt"> {{$t('clarms.step1.label0')}}</div> | 4 | <div class="form-name default-mt"> {{$t('clarms.step1.label0')}}</div> |
5 | <div class="gird-g form default-mt"> | 5 | <div class="gird-g form default-mt"> |
6 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | 6 | <div class="pure-u-1 pure-u-md-1-2 form-item"> | ... | ... |
... | @@ -21,7 +21,7 @@ | ... | @@ -21,7 +21,7 @@ |
21 | 21 | ||
22 | @extend .bb; | 22 | @extend .bb; |
23 | max-width: 450px; | 23 | max-width: 450px; |
24 | min-width: 100%; | 24 | min-width: 350px; |
25 | height: 320px; | 25 | height: 320px; |
26 | border-radius: $borderRadius; | 26 | border-radius: $borderRadius; |
27 | background-color: wheat; | 27 | background-color: wheat; | ... | ... |
... | @@ -67,7 +67,7 @@ export default { | ... | @@ -67,7 +67,7 @@ export default { |
67 | if (this.policyList) { | 67 | if (this.policyList) { |
68 | for (let index = 0; index < this.policyList.length; index++) { | 68 | for (let index = 0; index < this.policyList.length; index++) { |
69 | let policy = this.policyList[index]; | 69 | let policy = this.policyList[index]; |
70 | if (policy.checkFlag == "Y") { | 70 | if (policy.checkFlag == "N") { |
71 | continue; | 71 | continue; |
72 | } | 72 | } |
73 | if (this.ignorePolicyCodes.indexOf(policy.policyCode) >= 0) { | 73 | if (this.ignorePolicyCodes.indexOf(policy.policyCode) >= 0) { |
... | @@ -164,6 +164,7 @@ export default { | ... | @@ -164,6 +164,7 @@ export default { |
164 | }, | 164 | }, |
165 | toContact() { | 165 | toContact() { |
166 | this.showPolicy = false; | 166 | this.showPolicy = false; |
167 | sessionStorage.setItem("hidePolicy", "true"); | ||
167 | this.$router.push({ | 168 | this.$router.push({ |
168 | path: "/custom/service?q=m1" | 169 | path: "/custom/service?q=m1" |
169 | }); | 170 | }); | ... | ... |
... | @@ -22,7 +22,12 @@ | ... | @@ -22,7 +22,12 @@ |
22 | 22 | ||
23 | 23 | ||
24 | .orange { | 24 | .orange { |
25 | color: $cOrange; | 25 | color: #ff6839; |
26 | } | ||
27 | |||
28 | .bold { | ||
29 | font-weight: 600; | ||
30 | letter-spacing: .083333rem; | ||
26 | } | 31 | } |
27 | 32 | ||
28 | .modal { | 33 | .modal { |
... | @@ -33,11 +38,13 @@ | ... | @@ -33,11 +38,13 @@ |
33 | border-radius: .8333rem; | 38 | border-radius: .8333rem; |
34 | background-color: #ffffff; | 39 | background-color: #ffffff; |
35 | padding: 3.5rem 2rem 2.5rem; | 40 | padding: 3.5rem 2rem 2.5rem; |
36 | border: .083333rem solid $cOrange; | 41 | border: .083333rem solid #ff6839; |
37 | 42 | ||
38 | .title { | 43 | .title { |
39 | font-size: 1.5rem ; | 44 | letter-spacing: .083333rem ; |
40 | color: $cOrange; | 45 | font-size: 1.666667rem; |
46 | font-weight: 900; | ||
47 | color: #ff6839; | ||
41 | } | 48 | } |
42 | 49 | ||
43 | .content { | 50 | .content { |
... | @@ -68,7 +75,7 @@ | ... | @@ -68,7 +75,7 @@ |
68 | 75 | ||
69 | .download-btn { | 76 | .download-btn { |
70 | cursor: pointer; | 77 | cursor: pointer; |
71 | border: 1px solid $cOrange; | 78 | border: 1px solid #ff6839; |
72 | border-radius: .416667rem; | 79 | border-radius: .416667rem; |
73 | padding: .5rem; | 80 | padding: .5rem; |
74 | margin: 2rem auto; | 81 | margin: 2rem auto; | ... | ... |
1 | 1 | ||
2 | <template> | 2 | <template> |
3 | <div class="comp" v-if="policyDetail && showPolicy"> | 3 | <div class="comp" v-if="policyDetail && showPolicy"> |
4 | <div @click="onOverLayHandler()" class="overlay"></div> | 4 | <div @click="handleIgnorePolicy" class="overlay"></div> |
5 | <div class="modal"> | 5 | <div class="modal"> |
6 | <div class="close" @click="onOverLayHandler()"><img src="@/assets/images/vhis/close.png"></div> | 6 | <div class="close" @click="onOverLayHandler()"><img src="@/assets/images/vhis/close.png"></div> |
7 | <div class="title">{{$t('vhis.title')}}</div> | 7 | <div class="title">{{$t('vhis.title')}}</div> | ... | ... |
... | @@ -53,6 +53,8 @@ export default { | ... | @@ -53,6 +53,8 @@ export default { |
53 | }, | 53 | }, |
54 | methods: { | 54 | methods: { |
55 | initData() { | 55 | initData() { |
56 | // this.step = 2; | ||
57 | // return; | ||
56 | if (this.userInfo && this.userInfo.name) { | 58 | if (this.userInfo && this.userInfo.name) { |
57 | this.loadCidIfLogin(); | 59 | this.loadCidIfLogin(); |
58 | sessionStorage.removeItem("clarmsRequestCid") | 60 | sessionStorage.removeItem("clarmsRequestCid") | ... | ... |
... | @@ -8,10 +8,16 @@ import { contactMethodCheck, policyNumberCheck } from '@utils/utils.js'; | ... | @@ -8,10 +8,16 @@ import { contactMethodCheck, policyNumberCheck } from '@utils/utils.js'; |
8 | 8 | ||
9 | import Auth from '@components/auth/auth.vue'; | 9 | import Auth from '@components/auth/auth.vue'; |
10 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 10 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
11 | import DatePicker from '@/components/date-picker/date-picker.vue' | 11 | import DatePicker from '@/components/date-picker/date-picker.vue'; |
12 | |||
13 | import { checkName } from '@/utils/utils.js'; | ||
14 | import { Select, Option } from 'element-ui'; | ||
15 | |||
12 | import Vue from 'vue'; | 16 | import Vue from 'vue'; |
13 | import { Loading } from 'vant'; | 17 | import { Loading } from 'vant'; |
14 | Vue.use(Loading); | 18 | Vue.use(Loading); |
19 | Vue.use(Select); | ||
20 | Vue.use(Option); | ||
15 | 21 | ||
16 | export default { | 22 | export default { |
17 | data() { | 23 | data() { |
... | @@ -66,7 +72,7 @@ export default { | ... | @@ -66,7 +72,7 @@ export default { |
66 | submitBtnDisabled() { | 72 | submitBtnDisabled() { |
67 | let b1 = !this.checked; | 73 | let b1 = !this.checked; |
68 | let b2 = this.data.contactDate ? false : true; | 74 | let b2 = this.data.contactDate ? false : true; |
69 | let b3 = this.data.name ? false : true; | 75 | let b3 = checkName(this.data.name) ? false : true; |
70 | let b4 = this.checkContactMethod() ? true : false; | 76 | let b4 = this.checkContactMethod() ? true : false; |
71 | let b5 = this.data.complain ? false : true; | 77 | let b5 = this.data.complain ? false : true; |
72 | let b6 = this.contactDateError; | 78 | let b6 = this.contactDateError; |
... | @@ -203,7 +209,13 @@ export default { | ... | @@ -203,7 +209,13 @@ export default { |
203 | }, | 209 | }, |
204 | watch: { | 210 | watch: { |
205 | 'data.name': function () { | 211 | 'data.name': function () { |
206 | this.errorTips.nameErr = ""; | 212 | // this.errorTips.nameErr = ""; |
213 | |||
214 | if (checkName(this.data.name)) { | ||
215 | this.errorTips.nameErr = ""; | ||
216 | } else { | ||
217 | this.errorTips.nameErr = this.i18n.error.nameTip; | ||
218 | } | ||
207 | }, | 219 | }, |
208 | 'data.contactType': function (val) { | 220 | 'data.contactType': function (val) { |
209 | this.errorTips.contactTypeErr = ""; | 221 | this.errorTips.contactTypeErr = ""; | ... | ... |
... | @@ -24,9 +24,9 @@ | ... | @@ -24,9 +24,9 @@ |
24 | </div> | 24 | </div> |
25 | <div class="ipt-wrap"> | 25 | <div class="ipt-wrap"> |
26 | <div class="down-arrow"></div> | 26 | <div class="down-arrow"></div> |
27 | <select class="ipt phone-ipt" v-model="data.contactType"> | 27 | <el-select class="ipt phone-ipt" v-model="data.contactType"> |
28 | <option v-for="(item,index) in contactTypes" :key="index" :value="item.value">{{item.name}}</option> | 28 | <el-option v-for="(item,index) in contactTypes" :key="index" :value="item.value" :label="item.name"></el-option> |
29 | </select> | 29 | </el-select> |
30 | </div> | 30 | </div> |
31 | <div class="validator" v-if="errorTips.contactTypeErr.length > 0"> | 31 | <div class="validator" v-if="errorTips.contactTypeErr.length > 0"> |
32 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.contactTypeErr}} | 32 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.contactTypeErr}} | ... | ... |
... | @@ -48,11 +48,11 @@ | ... | @@ -48,11 +48,11 @@ |
48 | <div class="ipt-wrap"> | 48 | <div class="ipt-wrap"> |
49 | <div class="down-arrow"></div> | 49 | <div class="down-arrow"></div> |
50 | 50 | ||
51 | <select disabled class="ipt disable" v-model="data.sex"> | 51 | <el-select disabled class="ipt disable" v-model="data.sex"> |
52 | <template v-if="sexCandidates"> | 52 | <template v-if="sexCandidates"> |
53 | <option v-for="(item,index) in sexCandidates" :key="index" :value="item.value">{{item.name}}</option> | 53 | <el-option v-for="(item,index) in sexCandidates" :key="index" :value="item.value" :label="item.name">{{item.name}}</el-option> |
54 | </template> | 54 | </template> |
55 | </select> | 55 | </el-select> |
56 | </div> | 56 | </div> |
57 | </div> | 57 | </div> |
58 | 58 | ||
... | @@ -80,9 +80,9 @@ | ... | @@ -80,9 +80,9 @@ |
80 | </div> | 80 | </div> |
81 | <div class="ipt-wrap"> | 81 | <div class="ipt-wrap"> |
82 | <div class="down-arrow"></div> | 82 | <div class="down-arrow"></div> |
83 | <select class="ipt" v-model="data.idType"> | 83 | <el-select class="ipt" v-model="data.idType"> |
84 | <option v-for="(item,index) in policyIdTypeList" :key="index" :value="item.v">{{item.n}}</option> | 84 | <el-option v-for="(item,index) in policyIdTypeList" :key="index" :value="item.v" :label="item.n"></el-option> |
85 | </select> | 85 | </el-select> |
86 | </div> | 86 | </div> |
87 | </div> | 87 | </div> |
88 | 88 | ||
... | @@ -119,9 +119,9 @@ | ... | @@ -119,9 +119,9 @@ |
119 | <!-- <input class="ipt" type="text" v-model="data.nature"> --> | 119 | <!-- <input class="ipt" type="text" v-model="data.nature"> --> |
120 | 120 | ||
121 | <div class="down-arrow"></div> | 121 | <div class="down-arrow"></div> |
122 | <select class="ipt" v-model="data.nature"> | 122 | <el-select class="ipt" v-model="data.nature"> |
123 | <option v-for="(item,index) in nationList" :key="index" :value="item.v">{{item.n}}</option> | 123 | <el-option v-for="(item,index) in nationList" :key="index" :value="item.v" :label="item.n"></el-option> |
124 | </select> | 124 | </el-select> |
125 | </div> | 125 | </div> |
126 | </div> | 126 | </div> |
127 | 127 | ||
... | @@ -144,9 +144,9 @@ | ... | @@ -144,9 +144,9 @@ |
144 | <div class="down-arrow"></div> | 144 | <div class="down-arrow"></div> |
145 | 145 | ||
146 | <!-- <input class="ipt" type="text" v-model="data.marriage"> --> | 146 | <!-- <input class="ipt" type="text" v-model="data.marriage"> --> |
147 | <select class="ipt" v-model="data.marriage"> | 147 | <el-select class="ipt" v-model="data.marriage"> |
148 | <option v-for="(item,index) in marryList" :key="index" :value="item.v">{{item.n}}</option> | 148 | <el-option v-for="(item,index) in marryList" :key="index" :value="item.v" :label="item.n"></el-option> |
149 | </select> | 149 | </el-select> |
150 | </div> | 150 | </div> |
151 | </div> | 151 | </div> |
152 | 152 | ... | ... |
... | @@ -9,6 +9,9 @@ import { contactMethodCheck } from '@utils/utils.js'; | ... | @@ -9,6 +9,9 @@ import { contactMethodCheck } from '@utils/utils.js'; |
9 | import DatePicker from '@/components/date-picker/date-picker.vue'; | 9 | import DatePicker from '@/components/date-picker/date-picker.vue'; |
10 | import Auth from '@components/auth/auth.vue'; | 10 | import Auth from '@components/auth/auth.vue'; |
11 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 11 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
12 | |||
13 | import { checkName } from '@/utils/utils.js'; | ||
14 | |||
12 | import Vue from 'vue'; | 15 | import Vue from 'vue'; |
13 | import { Loading } from 'vant'; | 16 | import { Loading } from 'vant'; |
14 | Vue.use(Loading); | 17 | Vue.use(Loading); |
... | @@ -68,7 +71,7 @@ export default { | ... | @@ -68,7 +71,7 @@ export default { |
68 | submitBtnDisabled() { | 71 | submitBtnDisabled() { |
69 | let b1 = !this.checked; | 72 | let b1 = !this.checked; |
70 | let b2 = this.data.contactDate ? false : true; | 73 | let b2 = this.data.contactDate ? false : true; |
71 | let b3 = this.data.name ? false : true; | 74 | let b3 = checkName(this.data.name) ? false : true; |
72 | let b4 = this.checkContactMethod() ? true : false; | 75 | let b4 = this.checkContactMethod() ? true : false; |
73 | let b5 = this.contactDateError; | 76 | let b5 = this.contactDateError; |
74 | return b1 || b2 || b3 || b4 || b5; | 77 | return b1 || b2 || b3 || b4 || b5; |
... | @@ -186,7 +189,12 @@ export default { | ... | @@ -186,7 +189,12 @@ export default { |
186 | watch: { | 189 | watch: { |
187 | 'data.name': function () { | 190 | 'data.name': function () { |
188 | this.errorTips.e8 = ""; | 191 | this.errorTips.e8 = ""; |
189 | this.errorTips.e1 = ""; | 192 | |
193 | if (checkName(this.data.name)) { | ||
194 | this.errorTips.e1 = ""; | ||
195 | } else { | ||
196 | this.errorTips.e1 = this.i18n.error.nameTip; | ||
197 | } | ||
190 | }, | 198 | }, |
191 | 'data.contactMethod': function () { | 199 | 'data.contactMethod': function () { |
192 | this.errorTips.e8 = ""; | 200 | this.errorTips.e8 = ""; | ... | ... |
... | @@ -24,9 +24,9 @@ | ... | @@ -24,9 +24,9 @@ |
24 | </div> | 24 | </div> |
25 | <div class="ipt-wrap"> | 25 | <div class="ipt-wrap"> |
26 | <div class="down-arrow"></div> | 26 | <div class="down-arrow"></div> |
27 | <select class="ipt" v-model="data.contactType"> | 27 | <el-select class="ipt" v-model="data.contactType"> |
28 | <option v-for="(item,index) in contactTypes" :key="index" :value="item.value">{{item.name}}</option> | 28 | <el-option v-for="(item,index) in contactTypes" :key="index" :value="item.value" :label="item.name"></el-option> |
29 | </select> | 29 | </el-select> |
30 | </div> | 30 | </div> |
31 | </div> | 31 | </div> |
32 | 32 | ||
... | @@ -48,9 +48,9 @@ | ... | @@ -48,9 +48,9 @@ |
48 | </div> | 48 | </div> |
49 | <div class="ipt-wrap"> | 49 | <div class="ipt-wrap"> |
50 | <div class="down-arrow"></div> | 50 | <div class="down-arrow"></div> |
51 | <select class="ipt" v-model="data.reservationType"> | 51 | <el-select class="ipt" v-model="data.reservationType"> |
52 | <option v-for="(item,index) in reservationTypes" :key="index" :value="item.value">{{item.name}}</option> | 52 | <el-option v-for="(item,index) in reservationTypes" :key="index" :value="item.value" :label="item.name"></el-option> |
53 | </select> | 53 | </el-select> |
54 | </div> | 54 | </div> |
55 | </div> | 55 | </div> |
56 | 56 | ... | ... |
... | @@ -38,11 +38,11 @@ | ... | @@ -38,11 +38,11 @@ |
38 | </div> | 38 | </div> |
39 | <div class="ipt-wrap"> | 39 | <div class="ipt-wrap"> |
40 | <div class="down-arrow"></div> | 40 | <div class="down-arrow"></div> |
41 | <select class="ipt" :class="{err : errorTips.e2.length > 0}" v-model="information.sex"> | 41 | <el-select class="ipt" :class="{err : errorTips.e2.length > 0}" v-model="information.sex"> |
42 | <template v-if="sexCandidates"> | 42 | <template v-if="sexCandidates"> |
43 | <option v-for="(item,index) in sexCandidates" :key="index" :value="item.value">{{item.name}}</option> | 43 | <el-option v-for="(item,index) in sexCandidates" :key="index" :value="item.value" :label="item.name"></el-option> |
44 | </template> | 44 | </template> |
45 | </select> | 45 | </el-select> |
46 | </div> | 46 | </div> |
47 | </div> | 47 | </div> |
48 | 48 | ||
... | @@ -62,11 +62,11 @@ | ... | @@ -62,11 +62,11 @@ |
62 | </div> | 62 | </div> |
63 | <div class="ipt-wrap"> | 63 | <div class="ipt-wrap"> |
64 | <div class="down-arrow"></div> | 64 | <div class="down-arrow"></div> |
65 | <select class="ipt" :class="{err : errorTips.e4.length > 0}" v-model="information.idType"> | 65 | <el-select class="ipt" :class="{err : errorTips.e4.length > 0}" v-model="information.idType"> |
66 | <template v-if="idTypeCandidates"> | 66 | <template v-if="idTypeCandidates"> |
67 | <option v-for="(item,index) in idTypeCandidates" :key="index" :value="item.value">{{item.name}}</option> | 67 | <el-option v-for="(item,index) in idTypeCandidates" :key="index" :value="item.value" :label="item.name"></el-option> |
68 | </template> | 68 | </template> |
69 | </select> | 69 | </el-select> |
70 | </div> | 70 | </div> |
71 | </div> | 71 | </div> |
72 | 72 | ... | ... |
... | @@ -11,7 +11,10 @@ import { | ... | @@ -11,7 +11,10 @@ import { |
11 | import Auth from '@components/auth/auth.vue'; | 11 | import Auth from '@components/auth/auth.vue'; |
12 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 12 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
13 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; | 13 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; |
14 | import DatePicker from '@/components/date-picker/date-picker.vue' | 14 | import DatePicker from '@/components/date-picker/date-picker.vue'; |
15 | |||
16 | import { checkName } from '@/utils/utils.js'; | ||
17 | |||
15 | import Vue from 'vue'; | 18 | import Vue from 'vue'; |
16 | import { Loading } from 'vant'; | 19 | import { Loading } from 'vant'; |
17 | Vue.use(Loading); | 20 | Vue.use(Loading); |
... | @@ -44,6 +47,8 @@ export default { | ... | @@ -44,6 +47,8 @@ export default { |
44 | idType: "" | 47 | idType: "" |
45 | }, | 48 | }, |
46 | errorTips: { | 49 | errorTips: { |
50 | fn: "", | ||
51 | ln: "", | ||
47 | e1: "", | 52 | e1: "", |
48 | e2: "", | 53 | e2: "", |
49 | e3: "", | 54 | e3: "", |
... | @@ -82,8 +87,8 @@ export default { | ... | @@ -82,8 +87,8 @@ export default { |
82 | return i18n.infomationImprove.candidates.idType; | 87 | return i18n.infomationImprove.candidates.idType; |
83 | }, | 88 | }, |
84 | submitBtnDisabled() { | 89 | submitBtnDisabled() { |
85 | let b1 = !this.information.firstName ? true : false; | 90 | let b1 = !checkName(this.information.firstName) ? true : false; |
86 | let b2 = !this.information.lastName ? true : false; | 91 | let b2 = !checkName(this.information.lastName) ? true : false; |
87 | let b3 = !this.information.sex ? true : false; | 92 | let b3 = !this.information.sex ? true : false; |
88 | let b4 = !this.information.birthDate ? true : false; | 93 | let b4 = !this.information.birthDate ? true : false; |
89 | let b5 = !this.information.idNo ? true : false; | 94 | let b5 = !this.information.idNo ? true : false; |
... | @@ -223,7 +228,7 @@ export default { | ... | @@ -223,7 +228,7 @@ export default { |
223 | message = this.i18n.infomationImprove.successMsg; | 228 | message = this.i18n.infomationImprove.successMsg; |
224 | let path = this.$route.query.c || "/"; | 229 | let path = this.$route.query.c || "/"; |
225 | this.targetPath = path; | 230 | this.targetPath = path; |
226 | 231 | ||
227 | let userInfo = JSON.parse(JSON.stringify(this.userInfo)); | 232 | let userInfo = JSON.parse(JSON.stringify(this.userInfo)); |
228 | userInfo.hadFullInfo = 1; | 233 | userInfo.hadFullInfo = 1; |
229 | userInfo.name = this.information.lastName + this.information.firstName; | 234 | userInfo.name = this.information.lastName + this.information.firstName; |
... | @@ -362,8 +367,20 @@ export default { | ... | @@ -362,8 +367,20 @@ export default { |
362 | this.initData(); | 367 | this.initData(); |
363 | }, | 368 | }, |
364 | watch: { | 369 | watch: { |
365 | 'information.cnName': function () { | 370 | |
366 | this.errorTips.e1 = ""; | 371 | 'information.firstName': function () { |
372 | if (checkName(this.information.firstName)) { | ||
373 | this.errorTips.fn = ""; | ||
374 | } else { | ||
375 | this.errorTips.fn = this.i18n.error.nameTip; | ||
376 | } | ||
377 | }, | ||
378 | 'information.lastName': function () { | ||
379 | if (checkName(this.information.lastName)) { | ||
380 | this.errorTips.ln = ""; | ||
381 | } else { | ||
382 | this.errorTips.ln = this.i18n.error.nameTip; | ||
383 | } | ||
367 | }, | 384 | }, |
368 | 'information.sex': function () { | 385 | 'information.sex': function () { |
369 | this.errorTips.e2 = ""; | 386 | this.errorTips.e2 = ""; | ... | ... |
... | @@ -20,10 +20,10 @@ | ... | @@ -20,10 +20,10 @@ |
20 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-user.png"> {{$t('infomationImprove.t1c1')}} | 20 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-user.png"> {{$t('infomationImprove.t1c1')}} |
21 | </div> | 21 | </div> |
22 | <div class="ipt-wrap"> | 22 | <div class="ipt-wrap"> |
23 | <input class="ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="information.lastName"> | 23 | <input class="ipt" :class="{err : errorTips.ln.length > 0}" type="text" v-model="information.lastName"> |
24 | </div> | 24 | </div> |
25 | <div class="validator" v-if="errorTips.e1.length > 0 "> | 25 | <div class="validator" v-if="errorTips.ln.length > 0 "> |
26 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e1}} | 26 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.ln}} |
27 | </div> | 27 | </div> |
28 | </div> | 28 | </div> |
29 | 29 | ||
... | @@ -32,10 +32,10 @@ | ... | @@ -32,10 +32,10 @@ |
32 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-user.png"> {{$t('infomationImprove.t1c2')}} | 32 | <img src="@/assets/images/improve-infomation/icon-improve-infomation-user.png"> {{$t('infomationImprove.t1c2')}} |
33 | </div> | 33 | </div> |
34 | <div class="ipt-wrap"> | 34 | <div class="ipt-wrap"> |
35 | <input class="ipt" :class="{err : errorTips.e1.length > 0}" type="text" v-model="information.firstName"> | 35 | <input class="ipt" :class="{err : errorTips.fn.length > 0}" type="text" v-model="information.firstName"> |
36 | </div> | 36 | </div> |
37 | <div class="validator" v-if="errorTips.e1.length > 0 "> | 37 | <div class="validator" v-if="errorTips.fn.length > 0 "> |
38 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e1}} | 38 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.fn}} |
39 | </div> | 39 | </div> |
40 | </div> | 40 | </div> |
41 | 41 | ||
... | @@ -45,11 +45,11 @@ | ... | @@ -45,11 +45,11 @@ |
45 | </div> | 45 | </div> |
46 | <div class="ipt-wrap"> | 46 | <div class="ipt-wrap"> |
47 | <div class="down-arrow"></div> | 47 | <div class="down-arrow"></div> |
48 | <select class="ipt" :class="{err : errorTips.e2.length > 0}" v-model="information.sex"> | 48 | <el-select class="ipt" :class="{err : errorTips.e2.length > 0}" v-model="information.sex"> |
49 | <template v-if="sexCandidates"> | 49 | <template v-if="sexCandidates"> |
50 | <option v-for="(item,index) in sexCandidates" :key="index" :value="item.value">{{item.name}}</option> | 50 | <el-option v-for="(item,index) in sexCandidates" :key="index" :value="item.value" :label="item.name" ></el-option> |
51 | </template> | 51 | </template> |
52 | </select> | 52 | </el-select> |
53 | </div> | 53 | </div> |
54 | <div class="validator" v-if="errorTips.e2.length > 0 "> | 54 | <div class="validator" v-if="errorTips.e2.length > 0 "> |
55 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e2}} | 55 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e2}} |
... | @@ -75,11 +75,11 @@ | ... | @@ -75,11 +75,11 @@ |
75 | </div> | 75 | </div> |
76 | <div class="ipt-wrap"> | 76 | <div class="ipt-wrap"> |
77 | <div class="down-arrow"></div> | 77 | <div class="down-arrow"></div> |
78 | <select class="ipt" :class="{err : errorTips.e4.length > 0}" v-model="information.idType"> | 78 | <el-select class="ipt" :class="{err : errorTips.e4.length > 0}" v-model="information.idType"> |
79 | <template v-if="idTypeCandidates"> | 79 | <template v-if="idTypeCandidates"> |
80 | <option v-for="(item,index) in idTypeCandidates" :key="index" :value="item.value">{{item.name}}</option> | 80 | <el-option v-for="(item,index) in idTypeCandidates" :key="index" :value="item.value" :label="item.name"></el-option> |
81 | </template> | 81 | </template> |
82 | </select> | 82 | </el-select> |
83 | </div> | 83 | </div> |
84 | <div class="validator" v-if="errorTips.e4.length > 0 "> | 84 | <div class="validator" v-if="errorTips.e4.length > 0 "> |
85 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e4}} | 85 | <img src="@/assets/images/common/icon-notice.png" alt=""> {{errorTips.e4}} | ... | ... |
... | @@ -11,7 +11,7 @@ import { | ... | @@ -11,7 +11,7 @@ import { |
11 | } from '@/api/fetch-api.js' | 11 | } from '@/api/fetch-api.js' |
12 | 12 | ||
13 | 13 | ||
14 | import { contactMethodCheck ,checkVerifyCode} from '@utils/utils.js'; | 14 | import { contactMethodCheck, checkVerifyCode } from '@utils/utils.js'; |
15 | 15 | ||
16 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 16 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
17 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; | 17 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; |
... | @@ -88,7 +88,7 @@ export default { | ... | @@ -88,7 +88,7 @@ export default { |
88 | modalVisiable: false, | 88 | modalVisiable: false, |
89 | modalSimpleVisiable: false, | 89 | modalSimpleVisiable: false, |
90 | modalUploadCardVisiable: false, | 90 | modalUploadCardVisiable: false, |
91 | modalProtocolVisiable:false, | 91 | modalProtocolVisiable: false, |
92 | targetPath: "", | 92 | targetPath: "", |
93 | modalIcon: "succ", | 93 | modalIcon: "succ", |
94 | modalContent: "" | 94 | modalContent: "" |
... | @@ -200,10 +200,17 @@ export default { | ... | @@ -200,10 +200,17 @@ export default { |
200 | }); | 200 | }); |
201 | }, | 201 | }, |
202 | _handlerIsShowImageVcodeResponse(response) { | 202 | _handlerIsShowImageVcodeResponse(response) { |
203 | if (response.returnCode == "0" && response.data.isShowVcode == "N") { | 203 | if (response.returnCode == "0") { |
204 | return true; | 204 | this.values.token = response.data.token; |
205 | if (response.data.isShowVcode == "N") { | ||
206 | return true; | ||
207 | } else { | ||
208 | // image 值: | ||
209 | this.loginCheck.showImageCode = true; | ||
210 | this.values.vcodeuuid = response.data.vcodeuuid; | ||
211 | this.values.imageBase64 = response.data.image; | ||
212 | } | ||
205 | } | 213 | } |
206 | this.values.token = response.data.token; | ||
207 | return false; | 214 | return false; |
208 | }, | 215 | }, |
209 | handlerRefreshVcode() { | 216 | handlerRefreshVcode() { |
... | @@ -439,10 +446,10 @@ export default { | ... | @@ -439,10 +446,10 @@ export default { |
439 | _handlerIsShowImageVcode() { | 446 | _handlerIsShowImageVcode() { |
440 | return new Promise((resolve, reject) => { | 447 | return new Promise((resolve, reject) => { |
441 | // 如果这个值不为空,标识出现了图片验证码,不需要重新询问是否需要图像验证码了 | 448 | // 如果这个值不为空,标识出现了图片验证码,不需要重新询问是否需要图像验证码了 |
442 | if (this.values.vcodeuuid) { | 449 | // if (this.values.vcodeuuid) { |
443 | resolve(); | 450 | // resolve(); |
444 | return; | 451 | // return; |
445 | } | 452 | // } |
446 | httpPost({ | 453 | httpPost({ |
447 | url: api.stdIsShowImageVcode, | 454 | url: api.stdIsShowImageVcode, |
448 | data: { | 455 | data: { |
... | @@ -451,24 +458,9 @@ export default { | ... | @@ -451,24 +458,9 @@ export default { |
451 | } | 458 | } |
452 | }).then(response => { | 459 | }).then(response => { |
453 | // 判断是否显示图形验证码 | 460 | // 判断是否显示图形验证码 |
454 | if (response.returnCode == "0") { | 461 | if (this._handlerIsShowImageVcodeResponse(response)) { |
455 | this.values.token = response.data.token; | 462 | resolve(response); |
456 | if (response.data.isShowVcode == "N") { | ||
457 | // if (!this.values.vcodeuuid) { | ||
458 | // this.loginCheck.showImageCode = true; | ||
459 | // this.values.vcodeuuid = "123456"; | ||
460 | // return; | ||
461 | // } | ||
462 | this.values.vcodeuuid = null; | ||
463 | resolve(response); | ||
464 | } else { | ||
465 | // image 值: | ||
466 | this.loginCheck.showImageCode = true; | ||
467 | this.values.vcodeuuid = response.data.vcodeuuid; | ||
468 | this.values.imageBase64 = response.data.image; | ||
469 | } | ||
470 | } | 463 | } |
471 | return false; | ||
472 | }) | 464 | }) |
473 | }); | 465 | }); |
474 | }, | 466 | }, | ... | ... |
... | @@ -102,9 +102,9 @@ | ... | @@ -102,9 +102,9 @@ |
102 | <div class="ipt-wrap"> | 102 | <div class="ipt-wrap"> |
103 | <div class="region-tel ipt-wrap"> | 103 | <div class="region-tel ipt-wrap"> |
104 | <img class="down-arrow" src="@/assets/images/reservation/re-down-arrow.png" alt=""> | 104 | <img class="down-arrow" src="@/assets/images/reservation/re-down-arrow.png" alt=""> |
105 | <select class="ipt" v-model="mobileNoType"> | 105 | <el-select class="ipt" v-model="mobileNoType"> |
106 | <option v-for="(item,index) in mobileOptions" :key="index" :value="item.type">{{item.areaCode}}</option> | 106 | <el-option v-for="(item,index) in mobileOptions" :key="index" :value="item.type" :label="item.areaCode"></el-option> |
107 | </select> | 107 | </el-select> |
108 | </div> | 108 | </div> |
109 | 109 | ||
110 | <div class="ipt ipt2" :class="{err : errorTips.oe1.length > 0}"> | 110 | <div class="ipt ipt2" :class="{err : errorTips.oe1.length > 0}"> | ... | ... |
... | @@ -36,9 +36,9 @@ | ... | @@ -36,9 +36,9 @@ |
36 | 36 | ||
37 | <div class="region-tel ipt-wrap"> | 37 | <div class="region-tel ipt-wrap"> |
38 | <img class="down-arrow" src="@/assets/images/reservation/re-down-arrow.png" alt=""> | 38 | <img class="down-arrow" src="@/assets/images/reservation/re-down-arrow.png" alt=""> |
39 | <select class="ipt" v-model="mobileNoType"> | 39 | <el-select class="ipt" v-model="mobileNoType"> |
40 | <option v-for="(item,index) in mobileOptions" :key="index" :value="item.type">{{item.areaCode}}</option> | 40 | <el-option v-for="(item,index) in mobileOptions" :key="index" :value="item.type" :label="item.areaCode">{{item.areaCode}}</el-option> |
41 | </select> | 41 | </el-select> |
42 | </div> | 42 | </div> |
43 | 43 | ||
44 | <div class="ipt ipt2" :class="{err : errorTips.p1.length > 0}"> | 44 | <div class="ipt ipt2" :class="{err : errorTips.p1.length > 0}"> | ... | ... |
... | @@ -277,4 +277,8 @@ export function policyNumberCheck(policyNumber) { | ... | @@ -277,4 +277,8 @@ export function policyNumberCheck(policyNumber) { |
277 | 277 | ||
278 | export function checkVerifyCode(verifyCode) { | 278 | export function checkVerifyCode(verifyCode) { |
279 | return /^\d{6}$/.test(verifyCode) | 279 | return /^\d{6}$/.test(verifyCode) |
280 | } | ||
281 | |||
282 | export function checkName(name) { | ||
283 | return /^\D+$/.test(name); | ||
280 | } | 284 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or sign in to post a comment