2
Showing
6 changed files
with
263 additions
and
131 deletions
... | @@ -2,7 +2,8 @@ import api from "@/api/api"; | ... | @@ -2,7 +2,8 @@ import api from "@/api/api"; |
2 | import { httpGet, httpPost } from "@/api/fetch-api.js"; | 2 | import { httpGet, httpPost } from "@/api/fetch-api.js"; |
3 | 3 | ||
4 | import { contactMethodCheck } from "@utils/utils.js"; | 4 | import { contactMethodCheck } from "@utils/utils.js"; |
5 | import { setTitle } from "@/utils/utils.js"; | 5 | import { setTitle, ascSort } from "@/utils/utils.js"; |
6 | import { getNationsList, getNationsPhoneCodeList } from "@/utils/biz.js"; | ||
6 | 7 | ||
7 | import Auth from "@components/auth/auth.vue"; | 8 | import Auth from "@components/auth/auth.vue"; |
8 | import modalComp from "@/components/modal-comp/modal-comp.vue"; | 9 | import modalComp from "@/components/modal-comp/modal-comp.vue"; |
... | @@ -23,12 +24,26 @@ export default { | ... | @@ -23,12 +24,26 @@ export default { |
23 | dataInit: false, | 24 | dataInit: false, |
24 | selectedPolicies: [], | 25 | selectedPolicies: [], |
25 | data: { | 26 | data: { |
27 | // 国际号码区号列表 | ||
26 | mobileAreaCode: "", | 28 | mobileAreaCode: "", |
29 | // 电话 | ||
27 | mobile: "", | 30 | mobile: "", |
28 | email: "", | 31 | // 国际地区区号 |
32 | countryId: "", | ||
33 | // 省 | ||
34 | provinceId: "", | ||
35 | // 市 | ||
36 | cityId: "", | ||
37 | // 地址 | ||
29 | address: "", | 38 | address: "", |
39 | // 同意接收宣传信息 1:同意 0:不同意 | ||
40 | acceptMessage: 1, | ||
30 | 41 | ||
31 | areaCode: "" | 42 | // 上传信息 |
43 | iobsKey: "a", | ||
44 | fileFormat: "xlsx", | ||
45 | fileSize: 123, | ||
46 | fileContentType: "mp4" | ||
32 | }, | 47 | }, |
33 | errorTips: { | 48 | errorTips: { |
34 | e1: "", | 49 | e1: "", |
... | @@ -42,28 +57,10 @@ export default { | ... | @@ -42,28 +57,10 @@ export default { |
42 | modalIcon: "succ", | 57 | modalIcon: "succ", |
43 | modalContent: "", | 58 | modalContent: "", |
44 | 59 | ||
45 | // 新增 | ||
46 | // 国际号码区号列表 | 60 | // 国际号码区号列表 |
47 | areaCodeList: [ | 61 | nationsPhoneCodeList: [], |
48 | { | 62 | // 国际地区区号 |
49 | v: "abc", | 63 | nationsList: [] |
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 | }; | 64 | }; |
68 | }, | 65 | }, |
69 | components: { | 66 | components: { |
... | @@ -108,7 +105,7 @@ export default { | ... | @@ -108,7 +105,7 @@ export default { |
108 | let b2 = this.checkEmail(); | 105 | let b2 = this.checkEmail(); |
109 | let b3 = this.checkAddress(); | 106 | let b3 = this.checkAddress(); |
110 | let b = b1 & b2 & b3; | 107 | let b = b1 & b2 & b3; |
111 | if (b) { | 108 | if (!b) { |
112 | if (this.loading) { | 109 | if (this.loading) { |
113 | return; | 110 | return; |
114 | } | 111 | } |
... | @@ -125,6 +122,8 @@ export default { | ... | @@ -125,6 +122,8 @@ export default { |
125 | emailAcceptMsg: this.checked3 ? 1 : 0, | 122 | emailAcceptMsg: this.checked3 ? 1 : 0, |
126 | policies: policies | 123 | policies: policies |
127 | }; | 124 | }; |
125 | console.log("data:", JSON.stringify(data)); | ||
126 | return; | ||
128 | this.loading = true; | 127 | this.loading = true; |
129 | httpPost({ | 128 | httpPost({ |
130 | url: api.updatePolicyContanct, | 129 | url: api.updatePolicyContanct, |
... | @@ -165,6 +164,29 @@ export default { | ... | @@ -165,6 +164,29 @@ export default { |
165 | return true; | 164 | return true; |
166 | }, | 165 | }, |
167 | initData() { | 166 | initData() { |
167 | let nationsPhoneCodeListTemp = getNationsPhoneCodeList(); | ||
168 | // 去重 | ||
169 | let obj = {}; | ||
170 | let nationsPhoneCodeList = nationsPhoneCodeListTemp.reduce( | ||
171 | (cur, next) => { | ||
172 | //设置cur默认类型为数组,并且初始值为空的数组 | ||
173 | obj[next.n] ? "" : (obj[next.n] = true && cur.push(next)); | ||
174 | return cur; | ||
175 | }, | ||
176 | [] | ||
177 | ); | ||
178 | |||
179 | // // 加数字属性标号用于排序 | ||
180 | // nationsPhoneCodeList.forEach(element => { | ||
181 | // element.num = parseInt(element.n); | ||
182 | // }); | ||
183 | // // 排序 | ||
184 | // nationsPhoneCodeList = nationsPhoneCodeList.sort(ascSort("num", "")); | ||
185 | |||
186 | this.nationsPhoneCodeList = nationsPhoneCodeList; | ||
187 | |||
188 | this.nationsList = getNationsList(this.$i18n.locale); | ||
189 | |||
168 | if (this.dataInit) { | 190 | if (this.dataInit) { |
169 | return; | 191 | return; |
170 | } | 192 | } |
... | @@ -203,6 +225,7 @@ export default { | ... | @@ -203,6 +225,7 @@ export default { |
203 | }, | 225 | }, |
204 | handlePolicySelect(data) { | 226 | handlePolicySelect(data) { |
205 | this.selectedPolicies = data; | 227 | this.selectedPolicies = data; |
228 | console.log("this.selectedPolicies:", this.selectedPolicies); | ||
206 | this.initData(); | 229 | this.initData(); |
207 | }, | 230 | }, |
208 | userLogout() { | 231 | userLogout() { |
... | @@ -220,49 +243,91 @@ export default { | ... | @@ -220,49 +243,91 @@ export default { |
220 | } | 243 | } |
221 | }, | 244 | }, |
222 | updatePolicyContact() { | 245 | updatePolicyContact() { |
223 | let param={ | 246 | let param = { |
224 | "policyContactCode":"", | 247 | policyContactCode: "", |
225 | "policyId":"4655100", | 248 | policyId: "4655100", |
226 | "policyCode":"P000200000000009", | 249 | policyCode: "P000200000000009", |
227 | "mobileAreaCode":"0668", | 250 | mobileAreaCode: "0668", |
228 | "mobile":"13727826666", | 251 | mobile: "13727826666", |
229 | "countryId":"156", | 252 | countryId: "156", |
230 | "provinceId":"1", | 253 | provinceId: "1", |
231 | "cityId":"304", | 254 | cityId: "304", |
232 | "address":"上海迪士尼乐园", | 255 | address: "上海迪士尼乐园", |
233 | "acceptMessage":1, | 256 | acceptMessage: 1, |
234 | "iobsKey":"a", | 257 | iobsKey: "a", |
235 | "fileFormat":"xlsx", | 258 | fileFormat: "xlsx", |
236 | "fileSize":123, | 259 | fileSize: 123, |
237 | "fileContentType":"mp4/" | 260 | fileContentType: "mp4/" |
238 | } | 261 | }; |
239 | httpPost({ | 262 | httpPost({ |
240 | url: api.policyContactApi, | 263 | url: api.policyContactApi, |
241 | data: param, | 264 | data: param, |
242 | sid: true | 265 | sid: true |
243 | }).then(response => { | 266 | }) |
244 | console.log("response:", response) | 267 | .then(response => { |
245 | }).catch(res => { | 268 | console.log("response:", response); |
246 | 269 | }) | |
247 | }); | 270 | .catch(res => {}); |
248 | |||
249 | }, | 271 | }, |
250 | uploadExcel(){ | 272 | uploadExcel() {} |
251 | |||
252 | } | ||
253 | }, | 273 | }, |
254 | watch: { | 274 | watch: { |
255 | "data.mobile": function() { | 275 | "data.mobileAreaCode": function() { |
256 | this.errorTips.e1 = ""; | 276 | this.errorTips.e1 = ""; |
257 | }, | 277 | }, |
258 | "data.address": function() { | 278 | "data.mobile": function() { |
259 | this.errorTips.e2 = ""; | 279 | this.errorTips.e2 = ""; |
260 | }, | 280 | }, |
261 | "data.email": function() { | 281 | "data.countryId": function() { |
262 | this.errorTips.e3 = ""; | 282 | this.errorTips.e3 = ""; |
263 | } | 283 | }, |
284 | "data.provinceId": function() { | ||
285 | this.errorTips.e4 = ""; | ||
286 | }, | ||
287 | "data.cityId": function() { | ||
288 | this.errorTips.e5 = ""; | ||
289 | }, | ||
290 | "data.address": function() { | ||
291 | this.errorTips.e6 = ""; | ||
292 | }, | ||
264 | }, | 293 | }, |
265 | mounted() { | 294 | mounted() { |
266 | this.initTitle(); | 295 | this.initTitle(); |
296 | }, | ||
297 | created() { | ||
298 | // this.loading = true; | ||
299 | this.$root.eventBus.$on("langChange", () => { | ||
300 | try { | ||
301 | this.initData(); | ||
302 | } catch (e) {} | ||
303 | }); | ||
267 | } | 304 | } |
268 | }; | 305 | }; |
306 | |||
307 | // var ttt = { | ||
308 | // areaCode:"", | ||
309 | // mobileNo: "1232321", | ||
310 | // address: "CHINA, GuangdongShenzhen咯农户心情来来来", | ||
311 | // email: "zhangwenjun110@ocft.com", | ||
312 | // mobileNoAcceptMsg: 0, | ||
313 | // addressAcceptMsg: 0, | ||
314 | // emailAcceptMsg: 0, | ||
315 | // policies: [{ policyId: "4661690", policyCode: "P000200000000458" }] | ||
316 | // }; | ||
317 | |||
318 | var tttt2 = { | ||
319 | policyContactCode: "", | ||
320 | policyId: "4655100", | ||
321 | policyCode: "P000200000000009", | ||
322 | mobileAreaCode: "0668", | ||
323 | mobile: "13727826666", | ||
324 | countryId: "156", | ||
325 | provinceId: "1", | ||
326 | cityId: "304", | ||
327 | address: "上海迪士尼乐园", | ||
328 | acceptMessage: 1, | ||
329 | iobsKey: "a", | ||
330 | fileFormat: "xlsx", | ||
331 | fileSize: 123, | ||
332 | fileContentType: "mp4" | ||
333 | }; | ... | ... |
... | @@ -22,8 +22,8 @@ | ... | @@ -22,8 +22,8 @@ |
22 | <div class="ipt-wrap-linear"> | 22 | <div class="ipt-wrap-linear"> |
23 | <div class="down-arrow"></div> | 23 | <div class="down-arrow"></div> |
24 | <div class="cont"> | 24 | <div class="cont"> |
25 | <el-select class="ipt" v-model="data.areaCode" :placeholder="$t('policyChangeContact.form.InternationalArea')"> | 25 | <el-select class="ipt" v-model="data.mobileAreaCode" :placeholder="$t('policyChangeContact.form.InternationalArea')"> |
26 | <el-option v-for="(item, index) in areaCodeList" :key="index" :label="item.n" :value="item.v"></el-option> | 26 | <el-option v-for="(item, index) in nationsPhoneCodeList" :key="index" :label="item.n" :value="item.n"></el-option> |
27 | </el-select> | 27 | </el-select> |
28 | </div> | 28 | </div> |
29 | </div> | 29 | </div> |
... | @@ -53,8 +53,8 @@ | ... | @@ -53,8 +53,8 @@ |
53 | <div class="ipt-wrap-linear"> | 53 | <div class="ipt-wrap-linear"> |
54 | <div class="down-arrow"></div> | 54 | <div class="down-arrow"></div> |
55 | <div class="cont"> | 55 | <div class="cont"> |
56 | <el-select class="ipt" v-model="data.countryCode" :placeholder="$t('policyChangeContact.form.Nation')"> | 56 | <el-select class="ipt" v-model="data.countryId" :placeholder="$t('policyChangeContact.form.Nation')"> |
57 | <el-option v-for="(item, index) in countryList" :key="index" :label="item.n" :value="item.v"></el-option> | 57 | <el-option v-for="(item, index) in nationsList" :key="index" :label="item.n" :value="item.v"></el-option> |
58 | </el-select> | 58 | </el-select> |
59 | </div> | 59 | </div> |
60 | </div> | 60 | </div> |
... | @@ -63,16 +63,25 @@ | ... | @@ -63,16 +63,25 @@ |
63 | </div> | 63 | </div> |
64 | </div> | 64 | </div> |
65 | 65 | ||
66 | <div class="pure-u-1 pure-u-md-6-24 ipt-gird-item"> | 66 | <!-- <div class="pure-u-1 pure-u-md-6-24 ipt-gird-item"> |
67 | <div class="ipt-wrap-linear"> | 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')"> | 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> | 69 | </div> |
70 | <div class="validator" v-if="errorTips.e2.length > 0"> | 70 | <div class="validator" v-if="errorTips.e2.length > 0"> |
71 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}} | 71 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e6}} |
72 | </div> | ||
72 | </div> | 73 | </div> |
74 | |||
75 | <div class="pure-u-1 pure-u-md-6-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.District')"> | ||
78 | </div> | ||
79 | <div class="validator" v-if="errorTips.e2.length > 0"> | ||
80 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e6}} | ||
73 | </div> | 81 | </div> |
82 | </div> --> | ||
74 | 83 | ||
75 | <div class="pure-u-1 pure-u-md-12-24 ipt-gird-item"> | 84 | <div class="pure-u-1 pure-u-md-18-24 ipt-gird-item"> |
76 | <div class="ipt-wrap-linear"> | 85 | <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')"> | 86 | <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> | 87 | </div> | ... | ... |
... | @@ -37,7 +37,7 @@ | ... | @@ -37,7 +37,7 @@ |
37 | background: url("~@/assets/images/insurance-query/triangle-down2.png") | 37 | background: url("~@/assets/images/insurance-query/triangle-down2.png") |
38 | no-repeat center center; | 38 | no-repeat center center; |
39 | background-size: 100% 100%; | 39 | background-size: 100% 100%; |
40 | top: 16px; | 40 | top: 21px; |
41 | right: 26px; | 41 | right: 26px; |
42 | } | 42 | } |
43 | 43 | ... | ... |
... | @@ -92,7 +92,7 @@ | ... | @@ -92,7 +92,7 @@ |
92 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e1}} | 92 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e1}} |
93 | </div> | 93 | </div> |
94 | </div> | 94 | </div> |
95 | <!-- <div class="pure-u-1 form-item"> | 95 | <div class="pure-u-1 form-item"> |
96 | <div class="label"> | 96 | <div class="label"> |
97 | <img src="@/assets/images/login/icon-login-password.png"> {{$t('login.password')}} | 97 | <img src="@/assets/images/login/icon-login-password.png"> {{$t('login.password')}} |
98 | </div> | 98 | </div> |
... | @@ -102,7 +102,7 @@ | ... | @@ -102,7 +102,7 @@ |
102 | <div class="validator" v-if="errorTips.e2.length > 0 "> | 102 | <div class="validator" v-if="errorTips.e2.length > 0 "> |
103 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}} | 103 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e2}} |
104 | </div> | 104 | </div> |
105 | </div> --> | 105 | </div> |
106 | <div class="pure-u-1 form-item"> | 106 | <div class="pure-u-1 form-item"> |
107 | <div class="label"> | 107 | <div class="label"> |
108 | <img src="@/assets/images/login/icon-login-phone.png"> {{$t('login.SMSVerificationCode')}} | 108 | <img src="@/assets/images/login/icon-login-phone.png"> {{$t('login.SMSVerificationCode')}} | ... | ... |
This diff is collapsed.
Click to expand it.
1 | // 正在表达式 | 1 | // 正在表达式 |
2 | export const REGEXPS = { | 2 | export const REGEXPS = { |
3 | "mobile": /^1\d{10}$/ | 3 | mobile: /^1\d{10}$/ |
4 | } | 4 | }; |
5 | 5 | ||
6 | // 验证手机 | 6 | // 验证手机 |
7 | export function checkMobile(str) { | 7 | export function checkMobile(str) { |
... | @@ -14,9 +14,9 @@ export function checkMobile(str) { | ... | @@ -14,9 +14,9 @@ export function checkMobile(str) { |
14 | * @param {*} url | 14 | * @param {*} url |
15 | */ | 15 | */ |
16 | export function param2Obj(url) { | 16 | export function param2Obj(url) { |
17 | const search = url.split('?')[1] | 17 | const search = url.split("?")[1]; |
18 | if (!search) { | 18 | if (!search) { |
19 | return {} | 19 | return {}; |
20 | } | 20 | } |
21 | return JSON.parse( | 21 | return JSON.parse( |
22 | '{"' + | 22 | '{"' + |
... | @@ -25,26 +25,27 @@ export function param2Obj(url) { | ... | @@ -25,26 +25,27 @@ export function param2Obj(url) { |
25 | .replace(/&/g, '","') | 25 | .replace(/&/g, '","') |
26 | .replace(/=/g, '":"') + | 26 | .replace(/=/g, '":"') + |
27 | '"}' | 27 | '"}' |
28 | ) | 28 | ); |
29 | } | 29 | } |
30 | 30 | ||
31 | |||
32 | |||
33 | //获取cookie、 | 31 | //获取cookie、 |
34 | export function getCookie(name) { | 32 | export function getCookie(name) { |
35 | var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); | 33 | var arr, |
36 | if (arr = document.cookie.match(reg)) | 34 | reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); |
37 | return (arr[2]); | 35 | if ((arr = document.cookie.match(reg))) return arr[2]; |
38 | else | 36 | else return null; |
39 | return null; | ||
40 | } | 37 | } |
41 | 38 | ||
42 | //设置cookie | 39 | //设置cookie |
43 | export function setCookie(c_name, value, second) { | 40 | export function setCookie(c_name, value, second) { |
44 | var exdate = new Date(); | 41 | var exdate = new Date(); |
45 | exdate.setTime(exdate.getTime() + second * 1000); | 42 | exdate.setTime(exdate.getTime() + second * 1000); |
46 | document.cookie = c_name + "=" + escape(value) + ((second == null) ? "" : ";expires=" + exdate.toGMTString()); | 43 | document.cookie = |
47 | }; | 44 | c_name + |
45 | "=" + | ||
46 | escape(value) + | ||
47 | (second == null ? "" : ";expires=" + exdate.toGMTString()); | ||
48 | } | ||
48 | 49 | ||
49 | //删除cookie | 50 | //删除cookie |
50 | export function delCookie(name) { | 51 | export function delCookie(name) { |
... | @@ -53,8 +54,7 @@ export function delCookie(name) { | ... | @@ -53,8 +54,7 @@ export function delCookie(name) { |
53 | var cval = getCookie(name); | 54 | var cval = getCookie(name); |
54 | if (cval != null) | 55 | if (cval != null) |
55 | document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString(); | 56 | document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString(); |
56 | }; | 57 | } |
57 | |||
58 | 58 | ||
59 | /** | 59 | /** |
60 | * 获取环境信息 | 60 | * 获取环境信息 |
... | @@ -63,12 +63,12 @@ export function delCookie(name) { | ... | @@ -63,12 +63,12 @@ export function delCookie(name) { |
63 | export function getEnv() { | 63 | export function getEnv() { |
64 | var nav = window.navigator; | 64 | var nav = window.navigator; |
65 | var env = { | 65 | var env = { |
66 | "iphone": false, | 66 | iphone: false, |
67 | "ipad": false, | 67 | ipad: false, |
68 | "android": false, | 68 | android: false, |
69 | "pc": false, | 69 | pc: false, |
70 | "ios": false, | 70 | ios: false, |
71 | "ver": "0" | 71 | ver: "0" |
72 | }; | 72 | }; |
73 | 73 | ||
74 | var ua = nav.userAgent; | 74 | var ua = nav.userAgent; |
... | @@ -76,15 +76,15 @@ export function getEnv() { | ... | @@ -76,15 +76,15 @@ export function getEnv() { |
76 | var ipad = ua.match(/(iPad).*OS\s([\d_]+)/); | 76 | var ipad = ua.match(/(iPad).*OS\s([\d_]+)/); |
77 | var iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/); | 77 | var iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/); |
78 | if (ipad) { | 78 | if (ipad) { |
79 | env.ipad = ipad[1] && true || false; | 79 | env.ipad = (ipad[1] && true) || false; |
80 | env.ver = ipad[2] && ipad[2].replace(/-/g, ".") || ""; | 80 | env.ver = (ipad[2] && ipad[2].replace(/-/g, ".")) || ""; |
81 | env.ios = true; | 81 | env.ios = true; |
82 | } else if (iphone) { | 82 | } else if (iphone) { |
83 | env.iphone = iphone[1] && true || false; | 83 | env.iphone = (iphone[1] && true) || false; |
84 | env.ver = iphone[2] && iphone[2].replace(/-/g, ".") || ""; | 84 | env.ver = (iphone[2] && iphone[2].replace(/-/g, ".")) || ""; |
85 | env.ios = true; | 85 | env.ios = true; |
86 | } else if (android) { | 86 | } else if (android) { |
87 | env.android = android[1] && true || false; | 87 | env.android = (android[1] && true) || false; |
88 | env.ver = android[2]; | 88 | env.ver = android[2]; |
89 | } else { | 89 | } else { |
90 | env.pc = true; | 90 | env.pc = true; |
... | @@ -104,16 +104,20 @@ export function setTitle(title) { | ... | @@ -104,16 +104,20 @@ export function setTitle(title) { |
104 | document.title = title; | 104 | document.title = title; |
105 | // if (ENV.ios && navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1) { | 105 | // if (ENV.ios && navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1) { |
106 | // 修复微信端IOS无法修改document.title的情况 | 106 | // 修复微信端IOS无法修改document.title的情况 |
107 | if (getEnv().ios && (navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1 || navigator.userAgent.toLowerCase().indexOf("alipay") !== -1)) { | 107 | if ( |
108 | getEnv().ios && | ||
109 | (navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1 || | ||
110 | navigator.userAgent.toLowerCase().indexOf("alipay") !== -1) | ||
111 | ) { | ||
108 | //修复IOS微信端和支付宝无法修改document.title的情况 | 112 | //修复IOS微信端和支付宝无法修改document.title的情况 |
109 | var $iframe = document.createElement('iframe'); | 113 | var $iframe = document.createElement("iframe"); |
110 | $iframe.className = "C-hiddenIframe"; | 114 | $iframe.className = "C-hiddenIframe"; |
111 | $iframe.src = "/" + location.pathname.split('/')[1] + "/favicon.ico"; | 115 | $iframe.src = "/" + location.pathname.split("/")[1] + "/favicon.ico"; |
112 | $iframe.style.visibility = 'hidden'; | 116 | $iframe.style.visibility = "hidden"; |
113 | $iframe.style.width = '1px'; | 117 | $iframe.style.width = "1px"; |
114 | $iframe.style.height = '1px'; | 118 | $iframe.style.height = "1px"; |
115 | $iframe.onload = function onIframeLoad() { | 119 | $iframe.onload = function onIframeLoad() { |
116 | setTimeout(function () { | 120 | setTimeout(function() { |
117 | $iframe.onload = null; | 121 | $iframe.onload = null; |
118 | onIframeLoad = null; | 122 | onIframeLoad = null; |
119 | document.body.removeChild($iframe); | 123 | document.body.removeChild($iframe); |
... | @@ -126,23 +130,22 @@ export function setTitle(title) { | ... | @@ -126,23 +130,22 @@ export function setTitle(title) { |
126 | 130 | ||
127 | // 为链接添加参数 | 131 | // 为链接添加参数 |
128 | export function addQuery(url, query) { | 132 | export function addQuery(url, query) { |
129 | query = query || {} | 133 | query = query || {}; |
130 | query = (function (query) { | 134 | query = (function(query) { |
131 | var q = [] | 135 | var q = []; |
132 | Object.keys(query).forEach(function (_q) { | 136 | Object.keys(query).forEach(function(_q) { |
133 | q.push(_q + '=' + query[_q]) | 137 | q.push(_q + "=" + query[_q]); |
134 | }) | 138 | }); |
135 | return q.join('&') | 139 | return q.join("&"); |
136 | })(query) | 140 | })(query); |
137 | if (url.indexOf('?') !== -1) { | 141 | if (url.indexOf("?") !== -1) { |
138 | url += '&' + query | 142 | url += "&" + query; |
139 | } else { | 143 | } else { |
140 | url += '?' + query | 144 | url += "?" + query; |
141 | } | 145 | } |
142 | return url | 146 | return url; |
143 | } | 147 | } |
144 | 148 | ||
145 | |||
146 | /** | 149 | /** |
147 | * 获得当前页面的path | 150 | * 获得当前页面的path |
148 | * @return {String} 页面path | 151 | * @return {String} 页面path |
... | @@ -157,7 +160,63 @@ export function getPath() { | ... | @@ -157,7 +160,63 @@ export function getPath() { |
157 | 160 | ||
158 | // 获取 url 参数 | 161 | // 获取 url 参数 |
159 | export function getQuery(name) { | 162 | export function getQuery(name) { |
160 | return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null; | 163 | return ( |
164 | decodeURIComponent( | ||
165 | (new RegExp("[?|&]" + name + "=" + "([^&;]+?)(&|#|;|$)").exec( | ||
166 | location.href | ||
167 | ) || [, ""])[1].replace(/\+/g, "%20") | ||
168 | ) || null | ||
169 | ); | ||
170 | } | ||
171 | |||
172 | /** | ||
173 | * 升序排列 | ||
174 | * @param name 主要参数 | ||
175 | * @param minor 次要参数 主要参数相同时,比较次要参数 | ||
176 | */ | ||
177 | export function ascSort(name, minor) { | ||
178 | return function(o, p) { | ||
179 | var a, b; | ||
180 | if (o && p && typeof o === "object" && typeof p === "object") { | ||
181 | a = o[name]; | ||
182 | b = p[name]; | ||
183 | if (a === b) { | ||
184 | return typeof minor === "function" ? minor(o, p) : 0; | ||
185 | } | ||
186 | if (typeof a === typeof b) { | ||
187 | return a < b ? -1 : 1; | ||
188 | } | ||
189 | return typeof a < typeof b ? -1 : 1; | ||
190 | } else { | ||
191 | // throw ("error"); | ||
192 | return null; | ||
193 | } | ||
194 | }; | ||
195 | } | ||
196 | |||
197 | /** | ||
198 | * 升序排列 | ||
199 | * @param name 主要参数 | ||
200 | * @param minor 次要参数 主要参数相同时,比较次要参数 | ||
201 | */ | ||
202 | export function descSort(name, minor) { | ||
203 | return function(o, p) { | ||
204 | var a, b; | ||
205 | if (o && p && typeof o === "object" && typeof p === "object") { | ||
206 | a = o[name]; | ||
207 | b = p[name]; | ||
208 | if (a === b) { | ||
209 | return typeof minor === "function" ? minor(o, p) : 0; | ||
210 | } | ||
211 | if (typeof a === typeof b) { | ||
212 | return a > b ? -1 : 1; | ||
213 | } | ||
214 | return typeof a > typeof b ? -1 : 1; | ||
215 | } else { | ||
216 | // throw ("error"); | ||
217 | return null; | ||
218 | } | ||
219 | }; | ||
161 | } | 220 | } |
162 | 221 | ||
163 | /** | 222 | /** |
... | @@ -182,16 +241,15 @@ export function getObjByListKeyValue(value, key, list) { | ... | @@ -182,16 +241,15 @@ export function getObjByListKeyValue(value, key, list) { |
182 | * 用{{}}会当成字符串把 html渲染出来 | 241 | * 用{{}}会当成字符串把 html渲染出来 |
183 | */ | 242 | */ |
184 | export function formatBr(str) { | 243 | export function formatBr(str) { |
185 | str = str.replace(/\n/g, '<br/>') | 244 | str = str.replace(/\n/g, "<br/>"); |
186 | return str | 245 | return str; |
187 | }; | 246 | } |
188 | 247 | ||
189 | // dd-MM-yyyy转yyyy-MM-dd | 248 | // dd-MM-yyyy转yyyy-MM-dd |
190 | export function ddMMyyyy2yyyyMMdd(str) { | 249 | export function ddMMyyyy2yyyyMMdd(str) { |
191 | return str.replace(/-/g, '').replace(/^(\d{2})(\d{2})(\d{4})$/, "$3-$2-$1"); | 250 | return str.replace(/-/g, "").replace(/^(\d{2})(\d{2})(\d{4})$/, "$3-$2-$1"); |
192 | } | 251 | } |
193 | 252 | ||
194 | |||
195 | /** | 253 | /** |
196 | * @desc 函数防抖 | 254 | * @desc 函数防抖 |
197 | * @param func 函数 | 255 | * @param func 函数 |
... | @@ -201,7 +259,7 @@ export function ddMMyyyy2yyyyMMdd(str) { | ... | @@ -201,7 +259,7 @@ export function ddMMyyyy2yyyyMMdd(str) { |
201 | export function debounce(func, wait, immediate) { | 259 | export function debounce(func, wait, immediate) { |
202 | let timeout; | 260 | let timeout; |
203 | 261 | ||
204 | return function () { | 262 | return function() { |
205 | let context = this; | 263 | let context = this; |
206 | let args = arguments; | 264 | let args = arguments; |
207 | 265 | ||
... | @@ -210,14 +268,14 @@ export function debounce(func, wait, immediate) { | ... | @@ -210,14 +268,14 @@ export function debounce(func, wait, immediate) { |
210 | var callNow = !timeout; | 268 | var callNow = !timeout; |
211 | timeout = setTimeout(() => { | 269 | timeout = setTimeout(() => { |
212 | timeout = null; | 270 | timeout = null; |
213 | }, wait) | 271 | }, wait); |
214 | if (callNow) func.apply(context, args) | 272 | if (callNow) func.apply(context, args); |
215 | } else { | 273 | } else { |
216 | timeout = setTimeout(function () { | 274 | timeout = setTimeout(function() { |
217 | func.apply(context, args) | 275 | func.apply(context, args); |
218 | }, wait); | 276 | }, wait); |
219 | } | 277 | } |
220 | } | 278 | }; |
221 | } | 279 | } |
222 | 280 | ||
223 | /** | 281 | /** |
... | @@ -233,7 +291,7 @@ export function throttle(func, wait, type) { | ... | @@ -233,7 +291,7 @@ export function throttle(func, wait, type) { |
233 | } else if (type === 2) { | 291 | } else if (type === 2) { |
234 | var timeout; | 292 | var timeout; |
235 | } | 293 | } |
236 | return function () { | 294 | return function() { |
237 | let context = this; | 295 | let context = this; |
238 | let args = arguments; | 296 | let args = arguments; |
239 | if (type === 1) { | 297 | if (type === 1) { |
... | @@ -247,11 +305,11 @@ export function throttle(func, wait, type) { | ... | @@ -247,11 +305,11 @@ export function throttle(func, wait, type) { |
247 | if (!timeout) { | 305 | if (!timeout) { |
248 | timeout = setTimeout(() => { | 306 | timeout = setTimeout(() => { |
249 | timeout = null; | 307 | timeout = null; |
250 | func.apply(context, args) | 308 | func.apply(context, args); |
251 | }, wait) | 309 | }, wait); |
252 | } | ||
253 | } | 310 | } |
254 | } | 311 | } |
312 | }; | ||
255 | } | 313 | } |
256 | 314 | ||
257 | /** | 315 | /** |
... | @@ -260,17 +318,17 @@ export function throttle(func, wait, type) { | ... | @@ -260,17 +318,17 @@ export function throttle(func, wait, type) { |
260 | * @param {string} value | 318 | * @param {string} value |
261 | */ | 319 | */ |
262 | export function contactMethodCheck(type, value) { | 320 | export function contactMethodCheck(type, value) { |
263 | if (type == 'hkmobile') { | 321 | if (type == "hkmobile") { |
264 | // return /^[5689]{1}\d{7}$/.test(value); | 322 | // return /^[5689]{1}\d{7}$/.test(value); |
265 | return /^(\+)?(852)?(\-)?(5|6|8|9)\d{7}$/.test(value); | 323 | return /^(\+)?(852)?(\-)?(5|6|8|9)\d{7}$/.test(value); |
266 | } | 324 | } |
267 | 325 | ||
268 | if (type == 'mobile') { | 326 | if (type == "mobile") { |
269 | // return /^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0-9])|(18[0-9])|(19[0-9]))\d{8}$/.test(value); | 327 | // return /^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0-9])|(18[0-9])|(19[0-9]))\d{8}$/.test(value); |
270 | return /^(\+)?(86)?(\-)?1\d{10}$/.test(value); | 328 | return /^(\+)?(86)?(\-)?1\d{10}$/.test(value); |
271 | } | 329 | } |
272 | 330 | ||
273 | if (type == 'email') { | 331 | if (type == "email") { |
274 | return /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/.test(value); | 332 | return /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/.test(value); |
275 | } | 333 | } |
276 | return true; | 334 | return true; |
... | @@ -281,7 +339,7 @@ export function policyNumberCheck(policyNumber) { | ... | @@ -281,7 +339,7 @@ export function policyNumberCheck(policyNumber) { |
281 | } | 339 | } |
282 | 340 | ||
283 | export function checkVerifyCode(verifyCode) { | 341 | export function checkVerifyCode(verifyCode) { |
284 | return /^\d{6}$/.test(verifyCode) | 342 | return /^\d{6}$/.test(verifyCode); |
285 | } | 343 | } |
286 | 344 | ||
287 | export function checkName(name) { | 345 | export function checkName(name) { | ... | ... |
-
Please register or sign in to post a comment