e4f94203 by joe

部分BUG修复

1 parent 6be746b0
...@@ -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}}
......
1 @import '@/styles/_support'; 1 @import '@/styles/_support';
2 2
3 3
4 .contact-us-container {} 4 .contact-us-container {
5 .info-item {
6 padding-right: 1.25rem;
7 }
8 }
5 9
6 .border { 10 .border {
7 @extend .bb; 11 @extend .bb;
......
...@@ -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 },
......
...@@ -197,6 +197,7 @@ ...@@ -197,6 +197,7 @@
197 197
198 .region-tel { 198 .region-tel {
199 margin-right: .8rem; 199 margin-right: .8rem;
200 max-width: 30%;
200 } 201 }
201 202
202 .verify-btn { 203 .verify-btn {
......
...@@ -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}">
......
...@@ -201,6 +201,7 @@ ...@@ -201,6 +201,7 @@
201 201
202 .region-tel { 202 .region-tel {
203 margin-right: .8rem; 203 margin-right: .8rem;
204 max-width: 30%;
204 } 205 }
205 206
206 207
......
...@@ -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}">
......
...@@ -56,6 +56,8 @@ ...@@ -56,6 +56,8 @@
56 padding: 0 2rem; 56 padding: 0 2rem;
57 flex: 1; 57 flex: 1;
58 letter-spacing: 0.1rem; 58 letter-spacing: 0.1rem;
59 display: flex;
60 align-items: center;
59 } 61 }
60 62
61 .down-arrow { 63 .down-arrow {
......
...@@ -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
......