#10美国税务文件处理
用户体系三语
Showing
9 changed files
with
109 additions
and
59 deletions
... | @@ -240,7 +240,6 @@ module.exports = { | ... | @@ -240,7 +240,6 @@ module.exports = { |
240 | oe3: "Please enter the picture verification code", | 240 | oe3: "Please enter the picture verification code", |
241 | oe4: "Your verify code is not correct. Please try again", | 241 | oe4: "Your verify code is not correct. Please try again", |
242 | }, | 242 | }, |
243 | accountPlaceholder:"Please setup user name ", | ||
244 | }, | 243 | }, |
245 | session: { | 244 | session: { |
246 | sidExpire: "It has not been operated for a long time. For the sake of your account security, please restart", | 245 | sidExpire: "It has not been operated for a long time. For the sake of your account security, please restart", |
... | @@ -288,7 +287,7 @@ module.exports = { | ... | @@ -288,7 +287,7 @@ module.exports = { |
288 | e14: "Please enter your name" | 287 | e14: "Please enter your name" |
289 | }, | 288 | }, |
290 | account:"Account", | 289 | account:"Account", |
291 | accountPlaceholder:"please enter user name", | 290 | accountPlaceholder:"Please setup user name", |
292 | }, | 291 | }, |
293 | passwordCheck: { | 292 | passwordCheck: { |
294 | error1: "Password length cannot be less than 8 bits", | 293 | error1: "Password length cannot be less than 8 bits", | ... | ... |
... | @@ -288,7 +288,7 @@ module.exports = { | ... | @@ -288,7 +288,7 @@ module.exports = { |
288 | e14: "請輸入您的姓名" | 288 | e14: "請輸入您的姓名" |
289 | }, | 289 | }, |
290 | account:"賬號", | 290 | account:"賬號", |
291 | accountPlaceholder:"請設置用戶名", | 291 | accountPlaceholder:"請設置用戶名稱", |
292 | }, | 292 | }, |
293 | session: { | 293 | session: { |
294 | sidExpire: "長時間未操作,為了您賬戶的安全,請登入後再操作" | 294 | sidExpire: "長時間未操作,為了您賬戶的安全,請登入後再操作" | ... | ... |
... | @@ -214,7 +214,7 @@ module.exports = { | ... | @@ -214,7 +214,7 @@ module.exports = { |
214 | loginType1: "动态密码登录", | 214 | loginType1: "动态密码登录", |
215 | loginType2: "动态密码登入", | 215 | loginType2: "动态密码登入", |
216 | account: "账号", | 216 | account: "账号", |
217 | accountPlaceholder: "请输入用户名称", | 217 | accountPlaceholder: "请输入用户名", |
218 | password: "密码", | 218 | password: "密码", |
219 | passwordPlaceholder: "输入登入密码", | 219 | passwordPlaceholder: "输入登入密码", |
220 | verifyPlaceholder: "请输入验证码", | 220 | verifyPlaceholder: "请输入验证码", | ... | ... |
1 | import api from "@/api/api"; | 1 | import api from "@/api/api"; |
2 | import { httpGet, httpPost } from "@/api/fetch-api.js"; | 2 | import { |
3 | httpGet, | ||
4 | httpPost | ||
5 | } from "@/api/fetch-api.js"; | ||
3 | 6 | ||
4 | import { contactMethodCheck } from "@utils/utils.js"; | 7 | import { |
5 | import { setTitle, ascSort } from "@/utils/utils.js"; | 8 | contactMethodCheck |
9 | } from "@utils/utils.js"; | ||
10 | import { | ||
11 | setTitle, | ||
12 | ascSort | ||
13 | } from "@/utils/utils.js"; | ||
6 | import { | 14 | import { |
7 | getNationsList, | 15 | getNationsList, |
8 | getNationsPhoneCodeList, | 16 | getNationsPhoneCodeList, |
... | @@ -16,7 +24,9 @@ import PolicyHeadList from "./policy-head-list.vue"; | ... | @@ -16,7 +24,9 @@ import PolicyHeadList from "./policy-head-list.vue"; |
16 | import modalComp from "@/components/modal-comp/modal-comp.vue"; | 24 | import modalComp from "@/components/modal-comp/modal-comp.vue"; |
17 | import Modal2Comp from "@/components/modal2-comp/modal2-comp.vue"; | 25 | import Modal2Comp from "@/components/modal2-comp/modal2-comp.vue"; |
18 | import Vue from "vue"; | 26 | import Vue from "vue"; |
19 | import { Loading } from "vant"; | 27 | import { |
28 | Loading | ||
29 | } from "vant"; | ||
20 | Vue.use(Loading); | 30 | Vue.use(Loading); |
21 | 31 | ||
22 | export default { | 32 | export default { |
... | @@ -94,16 +104,14 @@ export default { | ... | @@ -94,16 +104,14 @@ export default { |
94 | return this.$i18n.locale || "tc"; | 104 | return this.$i18n.locale || "tc"; |
95 | }, | 105 | }, |
96 | i18n() { | 106 | i18n() { |
97 | return this.$i18n.messages && this.$i18n.locale | 107 | return this.$i18n.messages && this.$i18n.locale ? |
98 | ? this.$i18n.messages[this.$i18n.locale] | 108 | this.$i18n.messages[this.$i18n.locale] : {}; |
99 | : {}; | ||
100 | }, | 109 | }, |
101 | submitBtnDisabled() { | 110 | submitBtnDisabled() { |
102 | // let b1 = !this.selectedPolicies || this.selectedPolicies.length == 0; | 111 | // let b1 = !this.selectedPolicies || this.selectedPolicies.length == 0; |
103 | // let b2 = !this.data.address && !this.data.email && !this.data.mobile; | 112 | // let b2 = !this.data.address && !this.data.email && !this.data.mobile; |
104 | let b1 = !this.selectedPolicies || this.selectedPolicies.length == 0; | 113 | let b1 = !this.selectedPolicies || this.selectedPolicies.length == 0; |
105 | let b2 = | 114 | let b2 = !this.data.address || |
106 | !this.data.address || | ||
107 | !this.data.email || | 115 | !this.data.email || |
108 | !this.data.mobile || | 116 | !this.data.mobile || |
109 | !this.data.mobileAreaCode || | 117 | !this.data.mobileAreaCode || |
... | @@ -141,11 +149,21 @@ export default { | ... | @@ -141,11 +149,21 @@ export default { |
141 | this.showModal(this.i18n.policyChangeContact.success); | 149 | this.showModal(this.i18n.policyChangeContact.success); |
142 | }, | 150 | }, |
143 | showUploadSuccess() { | 151 | showUploadSuccess() { |
152 | this.usTaxFormUploadCompVisible = false; | ||
144 | this.showModal(this.i18n.policyChangeContact.uploadSuccess); | 153 | this.showModal(this.i18n.policyChangeContact.uploadSuccess); |
145 | this.modalVisiableTimeoutIndex = setTimeout(() => { | 154 | this.modalVisiableTimeoutIndex = setTimeout(() => { |
146 | this.modalVisiable = false; | 155 | this.modalVisiable = false; |
147 | }, 3000); | 156 | }, 3000); |
148 | }, | 157 | }, |
158 | // 判断 美国地区需要上传文件 | ||
159 | checkShowUSATax() { | ||
160 | let result = this.isUSA && !this.data.iobsKey; | ||
161 | if (result){ | ||
162 | this.usTaxFormUploadCompVisible = true; | ||
163 | this.$refs.usTax.initData(); | ||
164 | } | ||
165 | return result; | ||
166 | }, | ||
149 | // 提交前准备 | 167 | // 提交前准备 |
150 | updateContactsHandler() { | 168 | updateContactsHandler() { |
151 | if (this.submitBtnDisabled) { | 169 | if (this.submitBtnDisabled) { |
... | @@ -172,9 +190,7 @@ export default { | ... | @@ -172,9 +190,7 @@ export default { |
172 | 190 | ||
173 | if (b) { | 191 | if (b) { |
174 | // 判断是否美国 出 | 192 | // 判断是否美国 出 |
175 | if (this.isUSA) { | 193 | if (!this.checkShowUSATax()) { |
176 | this.usTaxFormUploadCompVisible = true; | ||
177 | } else { | ||
178 | this.doSubmit(); | 194 | this.doSubmit(); |
179 | } | 195 | } |
180 | } | 196 | } |
... | @@ -183,13 +199,15 @@ export default { | ... | @@ -183,13 +199,15 @@ export default { |
183 | * 提交表单 | 199 | * 提交表单 |
184 | */ | 200 | */ |
185 | doSubmit(val = {}) { | 201 | doSubmit(val = {}) { |
186 | // this.usTaxFormUploadCompVisible = false; | ||
187 | if (this.loading) { | 202 | if (this.loading) { |
188 | return; | 203 | return; |
189 | } | 204 | } |
190 | let policies = []; | 205 | let policies = []; |
191 | this.selectedPolicies.forEach(element => { | 206 | this.selectedPolicies.forEach(element => { |
192 | policies.push({ policyId: element.id, policyCode: element.code }); | 207 | policies.push({ |
208 | policyId: element.id, | ||
209 | policyCode: element.code | ||
210 | }); | ||
193 | }); | 211 | }); |
194 | 212 | ||
195 | let data = Object.assign(this.data, val); | 213 | let data = Object.assign(this.data, val); |
... | @@ -203,11 +221,12 @@ export default { | ... | @@ -203,11 +221,12 @@ export default { |
203 | data.policyCode = ""; | 221 | data.policyCode = ""; |
204 | 222 | ||
205 | this.loading = true; | 223 | this.loading = true; |
224 | console.log("data:",data); | ||
206 | httpPost({ | 225 | httpPost({ |
207 | url: api.policyContactApi, | 226 | url: api.policyContactApi, |
208 | data: data, | 227 | data: data, |
209 | sid: true | 228 | sid: true |
210 | }) | 229 | }) |
211 | .then(() => { | 230 | .then(() => { |
212 | this.loading = false; | 231 | this.loading = false; |
213 | this.usTaxFormUploadCompVisible = false; | 232 | this.usTaxFormUploadCompVisible = false; |
... | @@ -225,7 +244,9 @@ export default { | ... | @@ -225,7 +244,9 @@ export default { |
225 | * 从美国税务表单组件提交 | 244 | * 从美国税务表单组件提交 |
226 | */ | 245 | */ |
227 | onUsTaxSubmit(val) { | 246 | onUsTaxSubmit(val) { |
228 | this.doSubmit(val); | 247 | console.log("val:",val); |
248 | this.data.iobsKey = val; | ||
249 | // this.doSubmit(val); | ||
229 | }, | 250 | }, |
230 | 251 | ||
231 | checkMobile() { | 252 | checkMobile() { |
... | @@ -290,6 +311,9 @@ export default { | ... | @@ -290,6 +311,9 @@ export default { |
290 | * 选择国家 | 311 | * 选择国家 |
291 | */ | 312 | */ |
292 | onChangeNations() { | 313 | onChangeNations() { |
314 | if (!this.isUSA) { | ||
315 | this.data.iobsKey = ""; | ||
316 | } | ||
293 | // this.checkProvince(); | 317 | // this.checkProvince(); |
294 | }, | 318 | }, |
295 | /** | 319 | /** |
... | @@ -354,13 +378,12 @@ export default { | ... | @@ -354,13 +378,12 @@ export default { |
354 | this.lastPolicyCode = param.policyCode; | 378 | this.lastPolicyCode = param.policyCode; |
355 | 379 | ||
356 | httpPost({ | 380 | httpPost({ |
357 | url: api.policyContactDetailApi, | 381 | url: api.policyContactDetailApi, |
358 | data: param, | 382 | data: param, |
359 | sid: true | 383 | sid: true |
360 | }) | 384 | }) |
361 | .then(response => { | 385 | .then(response => { |
362 | this.loading = false; | 386 | this.loading = false; |
363 | this.dataInit = true; | ||
364 | if (response) { | 387 | if (response) { |
365 | this.data = Object.assign(this.data, response); | 388 | this.data = Object.assign(this.data, response); |
366 | if (response.provinceId) { | 389 | if (response.provinceId) { |
... | @@ -370,6 +393,10 @@ export default { | ... | @@ -370,6 +393,10 @@ export default { |
370 | ); | 393 | ); |
371 | } | 394 | } |
372 | } | 395 | } |
396 | // 最后执行,确保data不被watch | ||
397 | setTimeout(() => { | ||
398 | this.dataInit = true; | ||
399 | }, 0); | ||
373 | }) | 400 | }) |
374 | .catch(res => { | 401 | .catch(res => { |
375 | this.loading = false; | 402 | this.loading = false; |
... | @@ -418,6 +445,17 @@ export default { | ... | @@ -418,6 +445,17 @@ export default { |
418 | }, | 445 | }, |
419 | "data.cityId": function () { | 446 | "data.cityId": function () { |
420 | this.errorTips.e7 = ""; | 447 | this.errorTips.e7 = ""; |
448 | }, | ||
449 | /** | ||
450 | * 那就客户进行下一步任意操作的时候弹 | ||
451 | */ | ||
452 | data: { | ||
453 | deep: true, | ||
454 | handler: function (newVal, oldVal) { | ||
455 | if (this.dataInit) { | ||
456 | this.checkShowUSATax(); | ||
457 | } | ||
458 | } | ||
421 | } | 459 | } |
422 | }, | 460 | }, |
423 | mounted() { | 461 | mounted() { |
... | @@ -427,8 +465,7 @@ export default { | ... | @@ -427,8 +465,7 @@ export default { |
427 | this.$root.eventBus.$on("langChange", () => { | 465 | this.$root.eventBus.$on("langChange", () => { |
428 | try { | 466 | try { |
429 | this.initData(); | 467 | this.initData(); |
430 | } catch (e) { } | 468 | } catch (e) {} |
431 | }); | 469 | }); |
432 | } | 470 | } |
433 | }; | 471 | }; |
434 | ... | ... |
... | @@ -6,7 +6,7 @@ | ... | @@ -6,7 +6,7 @@ |
6 | <auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true" ref="auth" :tipModel="'m2'"></auth> | 6 | <auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true" ref="auth" :tipModel="'m2'"></auth> |
7 | <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp> | 7 | <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp> |
8 | <modal2-comp :visible="uploadErrorVisible" :close="()=>{uploadErrorVisible = false}" :content="$t('glbalTips.sysError')"></modal2-comp> | 8 | <modal2-comp :visible="uploadErrorVisible" :close="()=>{uploadErrorVisible = false}" :content="$t('glbalTips.sysError')"></modal2-comp> |
9 | <us-tax-form-upload-comp :visible="usTaxFormUploadCompVisible" @close="usTaxFormUploadCompVisible = false" @submit="onUsTaxSubmit" @uploadsuccess="showUploadSuccess" @uploaderr="uploadErrorVisible = true"></us-tax-form-upload-comp> | 9 | <us-tax-form-upload-comp ref="usTax" :visible="usTaxFormUploadCompVisible" @close="usTaxFormUploadCompVisible = false" @submit="onUsTaxSubmit" @uploadsuccess="showUploadSuccess" @uploaderr="uploadErrorVisible = true"></us-tax-form-upload-comp> |
10 | <template v-if="showForm"> | 10 | <template v-if="showForm"> |
11 | <policy-head-list :multiSelectable="true" @onSelect="handlePolicySelect" :type="2"></policy-head-list> | 11 | <policy-head-list :multiSelectable="true" @onSelect="handlePolicySelect" :type="2"></policy-head-list> |
12 | 12 | ... | ... |
... | @@ -5,7 +5,9 @@ import api from "@/api/api"; | ... | @@ -5,7 +5,9 @@ import api from "@/api/api"; |
5 | import { | 5 | import { |
6 | formdata | 6 | formdata |
7 | } from '@/api/fetch-api.js' | 7 | } from '@/api/fetch-api.js' |
8 | import { Loading } from 'vant'; | 8 | import { |
9 | Loading | ||
10 | } from 'vant'; | ||
9 | 11 | ||
10 | export default { | 12 | export default { |
11 | props: { | 13 | props: { |
... | @@ -20,8 +22,10 @@ export default { | ... | @@ -20,8 +22,10 @@ export default { |
20 | data() { | 22 | data() { |
21 | return { | 23 | return { |
22 | fileName: "", | 24 | fileName: "", |
25 | file: null, | ||
23 | iobsKey: "", | 26 | iobsKey: "", |
24 | loading: false | 27 | loading: false, |
28 | selected: false | ||
25 | }; | 29 | }; |
26 | }, | 30 | }, |
27 | components: {}, | 31 | components: {}, |
... | @@ -31,7 +35,12 @@ export default { | ... | @@ -31,7 +35,12 @@ export default { |
31 | } | 35 | } |
32 | }, | 36 | }, |
33 | methods: { | 37 | methods: { |
34 | initData() {}, | 38 | initData() { |
39 | this.file = null; | ||
40 | this.iobsKey = ""; | ||
41 | this.loading = false; | ||
42 | this.selected = false; | ||
43 | }, | ||
35 | 44 | ||
36 | onOverLayHandler() { | 45 | onOverLayHandler() { |
37 | console.log("onOverLayHandler"); | 46 | console.log("onOverLayHandler"); |
... | @@ -40,37 +49,41 @@ export default { | ... | @@ -40,37 +49,41 @@ export default { |
40 | toDownLoadTaxForm() { | 49 | toDownLoadTaxForm() { |
41 | window.open("https://www.irs.gov/"); | 50 | window.open("https://www.irs.gov/"); |
42 | }, | 51 | }, |
43 | onUploadHandler() {}, | 52 | onUploadHandler() { |
44 | onSubmitHandler() { | 53 | |
45 | if(!this.iobsKey) return; | 54 | let file = this.file; |
46 | this.$emit("submit", { | 55 | if (!file) return; |
47 | iobsKey: this.iobsKey | 56 | if (this.loading) return; |
48 | }); | ||
49 | }, | ||
50 | selectImgs() { | ||
51 | let _this = this; | ||
52 | this.iobsKey = ""; | ||
53 | let file = this.$refs.file.files[0]; | ||
54 | let item = { | ||
55 | name: file.name, | ||
56 | size: file.size, | ||
57 | file: file | ||
58 | }; | ||
59 | // 转base64 | ||
60 | this.loading = true; | 57 | this.loading = true; |
61 | let myFormData = new FormData(); | 58 | let myFormData = new FormData(); |
62 | myFormData.append("file", file); | 59 | myFormData.append("file", file); |
63 | formdata({ url: api.uploadFileIobs, myFormData: myFormData, sid: true }) | 60 | formdata({ |
61 | url: api.uploadFileIobs, | ||
62 | myFormData: myFormData, | ||
63 | sid: true | ||
64 | }) | ||
64 | .then(res => { | 65 | .then(res => { |
65 | this.loading = false; | 66 | if (res && res.content) { |
66 | this.iobsKey = res; | 67 | this.loading = false; |
67 | this.$emit("uploadsuccess"); | 68 | this.iobsKey = res.content; |
69 | this.$emit("uploadsuccess"); | ||
70 | this.$emit("submit", this.iobsKey); | ||
71 | } else { | ||
72 | this.loading = false; | ||
73 | this.$emit("uploaderr"); | ||
74 | } | ||
68 | }) | 75 | }) |
69 | .catch(err => { | 76 | .catch(err => { |
70 | this.loading = false; | 77 | this.loading = false; |
71 | this.$emit("uploaderr"); | 78 | this.$emit("uploaderr"); |
72 | }); | 79 | }); |
73 | } | 80 | }, |
81 | selectImgs() { | ||
82 | let _this = this; | ||
83 | let file = this.$refs.file.files[0]; | ||
84 | this.file = file; | ||
85 | this.selected = true; | ||
86 | }, | ||
74 | }, | 87 | }, |
75 | mounted() {}, | 88 | mounted() {}, |
76 | created() { | 89 | created() { | ... | ... |
... | @@ -91,6 +91,7 @@ | ... | @@ -91,6 +91,7 @@ |
91 | display: flex; | 91 | display: flex; |
92 | justify-content: center; | 92 | justify-content: center; |
93 | .btn { | 93 | .btn { |
94 | @extend .fcc; | ||
94 | position: relative; | 95 | position: relative; |
95 | @include btc4(144px, 42px, 16px); | 96 | @include btc4(144px, 42px, 16px); |
96 | margin: 20px 24px 0; | 97 | margin: 20px 24px 0; | ... | ... |
... | @@ -22,8 +22,9 @@ | ... | @@ -22,8 +22,9 @@ |
22 | <div class="modal-btn-wrap"> | 22 | <div class="modal-btn-wrap"> |
23 | <div class="btn"> | 23 | <div class="btn"> |
24 | <input type="file" @change="selectImgs" ref="file"> | 24 | <input type="file" @change="selectImgs" ref="file"> |
25 | <van-loading v-if="loading" />{{$t('policyChangeContact.tax.Upload')}}</div> | 25 | {{$t('policyChangeContact.tax.Upload')}}</div> |
26 | <div @click="onSubmitHandler" class="btn" :class="{'disable':iobsKey ==''}">{{$t('policyChangeContact.tax.Submit')}}</div> | 26 | <div @click="onUploadHandler" class="btn" :class="{'disable':!file}"> |
27 | <van-loading v-if="loading" />{{$t('policyChangeContact.tax.Submit')}}</div> | ||
27 | </div> | 28 | </div> |
28 | 29 | ||
29 | </div> | 30 | </div> | ... | ... |
... | @@ -3939,7 +3939,6 @@ export function getCnProvinceList(lan) { | ... | @@ -3939,7 +3939,6 @@ export function getCnProvinceList(lan) { |
3939 | // 获取根据省ID中国大陆城市 | 3939 | // 获取根据省ID中国大陆城市 |
3940 | export function getCityList(lan, PROVINCE_ID) { | 3940 | export function getCityList(lan, PROVINCE_ID) { |
3941 | let result = []; | 3941 | let result = []; |
3942 | console.log("lan:", lan); | ||
3943 | cnCityList.forEach(element => { | 3942 | cnCityList.forEach(element => { |
3944 | if (element.PROVINCE_ID == PROVINCE_ID) { | 3943 | if (element.PROVINCE_ID == PROVINCE_ID) { |
3945 | let data = { | 3944 | let data = { | ... | ... |
-
Please register or sign in to post a comment