Showing
19 changed files
with
125 additions
and
473 deletions
| ... | ... | @@ -31,7 +31,7 @@ |
| 31 | 31 | }}</text></view> |
| 32 | 32 | <view class="row"><text class="label">运输方式</text><text class="value">{{ detail.transportMode || |
| 33 | 33 | '-'}}</text></view> |
| 34 | - <view class="row"><text class="label">目的地</text><text class="value">{{ detail.destinationLabel || '-' | |
| 34 | + <view class="row"><text class="label">目的地</text><text class="value">{{ detail.foreignDestination || '-' | |
| 35 | 35 | }}</text></view> |
| 36 | 36 | <view class="row"><text class="label">单价中是否已包含包装费</text><text class="value">{{ |
| 37 | 37 | detail.includesPackagingFeeName || '-' }}</text></view> |
| ... | ... | @@ -114,8 +114,7 @@ export default { |
| 114 | 114 | packagingRequirements: '', |
| 115 | 115 | paymentTerms: '', |
| 116 | 116 | transportMode: '', |
| 117 | - destinationId: '', | |
| 118 | - destinationLabel: '', | |
| 117 | + foreignDestination: '', | |
| 119 | 118 | specialInstructions: '', |
| 120 | 119 | remarks: '', |
| 121 | 120 | pieceWeightHead: '', |
| ... | ... | @@ -154,8 +153,7 @@ export default { |
| 154 | 153 | ...this.detail, |
| 155 | 154 | ...data, |
| 156 | 155 | includesPackagingFeeName, includesTransportFeeName, |
| 157 | - destinationId: data.provinceId && data.cityId && data.districtId ? [data.provinceId, data.cityId, data.districtId] : '', | |
| 158 | - destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '', | |
| 156 | + foreignDestination: (data.foreignDestination || ''), | |
| 159 | 157 | } |
| 160 | 158 | const lines = Array.isArray(data.contractDistributorLineList) ? data.contractDistributorLineList : [] |
| 161 | 159 | this.productList = lines | ... | ... |
| ... | ... | @@ -31,7 +31,7 @@ |
| 31 | 31 | }}</text></view> |
| 32 | 32 | <view class="row"><text class="label">运输方式</text><text class="value">{{ detail.transportMode || |
| 33 | 33 | '-'}}</text></view> |
| 34 | - <view class="row"><text class="label">目的地</text><text class="value">{{ detail.destinationLabel || '-' | |
| 34 | + <view class="row"><text class="label">目的地</text><text class="value">{{ detail.foreignDestination || '-' | |
| 35 | 35 | }}</text></view> |
| 36 | 36 | <view class="row"><text class="label">单价中是否已包含包装费</text><text class="value">{{ |
| 37 | 37 | detail.includesPackagingFeeName || '-' }}</text></view> |
| ... | ... | @@ -114,8 +114,7 @@ export default { |
| 114 | 114 | packagingRequirements: '', |
| 115 | 115 | paymentTerms: '', |
| 116 | 116 | transportMode: '', |
| 117 | - destinationId: '', | |
| 118 | - destinationLabel: '', | |
| 117 | + foreignDestination: '', | |
| 119 | 118 | specialInstructions: '', |
| 120 | 119 | remarks: '', |
| 121 | 120 | pieceWeightHead: '', |
| ... | ... | @@ -154,8 +153,7 @@ export default { |
| 154 | 153 | ...this.detail, |
| 155 | 154 | ...data, |
| 156 | 155 | includesPackagingFeeName, includesTransportFeeName, |
| 157 | - destinationId: data.provinceId && data.cityId && data.districtId ? [data.provinceId, data.cityId, data.districtId] : '', | |
| 158 | - destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '', | |
| 156 | + foreignDestination: (data.foreignDestination || ''), | |
| 159 | 157 | } |
| 160 | 158 | const lines = Array.isArray(data.contractDistributorLineList) ? data.contractDistributorLineList : [] |
| 161 | 159 | this.productList = lines | ... | ... |
| ... | ... | @@ -88,11 +88,9 @@ |
| 88 | 88 | </template> |
| 89 | 89 | </uni-list-item> |
| 90 | 90 | |
| 91 | - <uni-list-item class="select-item" :class="(Array.isArray(form.destinationId) && form.destinationId.length) ? 'is-filled' : 'is-empty'" clickable | |
| 92 | - @click="openCitySelector" :rightText="form.destinationLabel || '请选择'" showArrow> | |
| 93 | - <template v-slot:body> | |
| 94 | - <view class="item-title"><text>目的地</text></view> | |
| 95 | - <CitySelector ref="citySelectorRef" v-model="form.destinationId" @change="onCityChange" /> | |
| 91 | + <uni-list-item title="目的地"> | |
| 92 | + <template v-slot:footer> | |
| 93 | + <uni-easyinput v-model="form.foreignDestination" placeholder="请输入目的地" :inputBorder="false" /> | |
| 96 | 94 | </template> |
| 97 | 95 | </uni-list-item> |
| 98 | 96 | <uni-list-item class="select-item" :class="form.includesPackagingFeeName ? 'is-filled' : 'is-empty'" clickable |
| ... | ... | @@ -229,7 +227,6 @@ |
| 229 | 227 | import SingleSelectSheet from '@/components/single-select/index.vue' |
| 230 | 228 | import RelateSelectSheet from '@/components/relate-select/index.vue' |
| 231 | 229 | import ProductRel from './productRel.vue' |
| 232 | -import CitySelector from '@/components/city-selector/index.vue' | |
| 233 | 230 | import { getRetailCodeApi, createContractApi, getCustomerRemarks, getCustomerSpecificQualityRequirements, getDeptApi, getContractApi } from '@/api/contract' |
| 234 | 231 | import { getDicByCodes } from '@/utils/dic' |
| 235 | 232 | import { formatCurrencyToChinese } from '@/utils/common' |
| ... | ... | @@ -239,7 +236,7 @@ import { getArea } from '@/api/credit_manage.js' |
| 239 | 236 | |
| 240 | 237 | export default { |
| 241 | 238 | name: 'AddContractForeignStd', |
| 242 | - components: { SingleSelectSheet, RelateSelectSheet, ProductRel, CitySelector }, | |
| 239 | + components: { SingleSelectSheet, RelateSelectSheet, ProductRel }, | |
| 243 | 240 | data() { |
| 244 | 241 | return { |
| 245 | 242 | copyId: '', |
| ... | ... | @@ -268,8 +265,7 @@ export default { |
| 268 | 265 | includesTransportFeeName: '否', |
| 269 | 266 | unit: '美元、公斤、美元/公斤', |
| 270 | 267 | totalAmountCapital: '', |
| 271 | - destinationId: [], | |
| 272 | - destinationLabel: '', | |
| 268 | + foreignDestination: '', | |
| 273 | 269 | workshopIdName: '', |
| 274 | 270 | workshopId: '', |
| 275 | 271 | remarks: '', |
| ... | ... | @@ -315,11 +311,6 @@ export default { |
| 315 | 311 | this.loadRegionOptions() |
| 316 | 312 | if (!this.copyId) this.form.orderDate = this.formatDate(new Date()) |
| 317 | 313 | if (this.copyId) this.loadCopyDetail(this.copyId) |
| 318 | - this.$nextTick(() => { | |
| 319 | - if (Array.isArray(this.form.destinationId) && this.form.destinationId.length) { | |
| 320 | - this.initDestinationLabel() | |
| 321 | - } | |
| 322 | - }) | |
| 323 | 314 | }, |
| 324 | 315 | watch: { |
| 325 | 316 | 'form.buyer': { |
| ... | ... | @@ -404,8 +395,7 @@ export default { |
| 404 | 395 | packagingRequirements: m.packagingRequirements || '', |
| 405 | 396 | paymentTerms: m.paymentTerms || '', |
| 406 | 397 | transportMode: m.transportMode || '', |
| 407 | - destinationId: (m.provinceId && m.cityId && m.districtId) ? [m.provinceId, m.cityId, m.districtId] : (Array.isArray(m.destinationId) ? m.destinationId : []), | |
| 408 | - destinationLabel: (m.provinceName && m.cityName && m.districtName) ? `${m.provinceName} / ${m.cityName} / ${m.districtName}` : (m.destinationLabel || ''), | |
| 398 | + foreignDestination: (m.foreignDestination || ''), | |
| 409 | 399 | specialInstructions: m.specialInstructions || '', |
| 410 | 400 | remarks: m.remarks || '', |
| 411 | 401 | pieceWeightHead: m.pieceWeightHead || '', |
| ... | ... | @@ -551,20 +541,6 @@ export default { |
| 551 | 541 | const val = m[field] |
| 552 | 542 | return val ? String(val) : map[field] |
| 553 | 543 | }, |
| 554 | - openCitySelector() { | |
| 555 | - this.$refs.citySelectorRef && this.$refs.citySelectorRef.open() | |
| 556 | - }, | |
| 557 | - async initDestinationLabel() { | |
| 558 | - const comp = this.$refs.citySelectorRef | |
| 559 | - if (comp && typeof comp.getLabel === 'function') { | |
| 560 | - const label = await comp.getLabel() | |
| 561 | - this.form.destinationLabel = label || '' | |
| 562 | - } | |
| 563 | - }, | |
| 564 | - onCityChange(payload) { | |
| 565 | - const label = payload && payload.label != null ? payload.label : '' | |
| 566 | - this.form.destinationLabel = label | |
| 567 | - }, | |
| 568 | 544 | async openSheet(field) { |
| 569 | 545 | const setSheet = (title, options) => { |
| 570 | 546 | const current = this.form[field] |
| ... | ... | @@ -664,13 +640,9 @@ export default { |
| 664 | 640 | return out |
| 665 | 641 | } |
| 666 | 642 | const lines = (this.productLineList || []).map(it => clean(it)) |
| 667 | - const { destinationLabel, destinationId, ...formForSubmit } = this.form; | |
| 668 | - // 区id | |
| 669 | - const destination = destinationId && destinationId.length > 0 ? destinationId[destinationId.length - 1] : ''; | |
| 670 | 643 | const payload = clean({ |
| 671 | - ...formForSubmit, | |
| 644 | + ...this.form, | |
| 672 | 645 | operateType: isCopy ? 'COPY' : 'ADD', |
| 673 | - destination, | |
| 674 | 646 | type: 'INTL_STD_CONTRACT', |
| 675 | 647 | totalQuantity: this.totalQuantity, |
| 676 | 648 | // totalAmountExcludingTax: this.totalAmountExcludingTax, | ... | ... |
| ... | ... | @@ -38,7 +38,7 @@ |
| 38 | 38 | '-' }}</text></view> |
| 39 | 39 | <view class="row"><text class="label">运输方式</text><text class="value">{{ detail.transportMode || '-' |
| 40 | 40 | }}</text></view> |
| 41 | - <view class="row"><text class="label">目的地</text><text class="value">{{ detail.destinationLabel || | |
| 41 | + <view class="row"><text class="label">目的地</text><text class="value">{{ detail.foreignDestination || | |
| 42 | 42 | '-' |
| 43 | 43 | }}</text></view> |
| 44 | 44 | <view class="row"><text class="label">单价中是否已包含包装费</text><text class="value">{{ |
| ... | ... | @@ -167,8 +167,7 @@ export default { |
| 167 | 167 | packagingRequirements: '', |
| 168 | 168 | paymentTerms: '', |
| 169 | 169 | transportMode: '', |
| 170 | - destinationId: '', | |
| 171 | - destinationLabel: '', | |
| 170 | + foreignDestination: '', | |
| 172 | 171 | specialInstructions: '', |
| 173 | 172 | remarks: '', |
| 174 | 173 | pieceWeightHead: '', |
| ... | ... | @@ -435,8 +434,7 @@ export default { |
| 435 | 434 | regionName: data.regionName || '', |
| 436 | 435 | deptName: data.deptName || '', |
| 437 | 436 | includesPackagingFeeName, includesTransportFeeName, |
| 438 | - destinationId: data.provinceId && data.cityId && data.districtId ? [data.provinceId, data.cityId, data.districtId] : '', | |
| 439 | - destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '', | |
| 437 | + foreignDestination: (data.foreignDestination || ''), | |
| 440 | 438 | } |
| 441 | 439 | this.detail = await fillStandardApprovedName(this.detail) |
| 442 | 440 | const lines = Array.isArray(data.contractDistributorLineList) ? data.contractDistributorLineList : [] | ... | ... |
| ... | ... | @@ -90,11 +90,9 @@ |
| 90 | 90 | <uni-easyinput v-model="form.transportMode" placeholder="请输入运输方式" :inputBorder="false" /> |
| 91 | 91 | </template> |
| 92 | 92 | </uni-list-item> |
| 93 | - <uni-list-item class="select-item" :class="(Array.isArray(form.destinationId) && form.destinationId.length) ? 'is-filled' : 'is-empty'" clickable | |
| 94 | - @click="openCitySelector" :rightText="form.destinationLabel || '请选择'" showArrow> | |
| 95 | - <template v-slot:body> | |
| 96 | - <view class="item-title"><text>目的地</text></view> | |
| 97 | - <CitySelector ref="citySelectorRef" v-model="form.destinationId" @change="onCityChange" /> | |
| 93 | + <uni-list-item title="目的地"> | |
| 94 | + <template v-slot:footer> | |
| 95 | + <uni-easyinput v-model="form.foreignDestination" placeholder="请输入目的地" :inputBorder="false" /> | |
| 98 | 96 | </template> |
| 99 | 97 | </uni-list-item> |
| 100 | 98 | |
| ... | ... | @@ -214,7 +212,6 @@ |
| 214 | 212 | import SingleSelectSheet from '@/components/single-select/index.vue' |
| 215 | 213 | import RelateSelectSheet from '@/components/relate-select/index.vue' |
| 216 | 214 | import ProductRel from './productRel.vue' |
| 217 | -import CitySelector from '@/components/city-selector/index.vue' | |
| 218 | 215 | import { getContractApi, updateContractApi } from '@/api/contract' |
| 219 | 216 | import { getDicByCodes } from '@/utils/dic' |
| 220 | 217 | import { formatCurrencyToChinese } from '@/utils/common' |
| ... | ... | @@ -222,7 +219,7 @@ import { workshopQueryApi } from '@/api/devManage' |
| 222 | 219 | import { getArea } from '@/api/credit_manage.js' |
| 223 | 220 | export default { |
| 224 | 221 | name: 'ModifyContractForeignStd', |
| 225 | - components: { SingleSelectSheet, RelateSelectSheet, ProductRel, CitySelector }, | |
| 222 | + components: { SingleSelectSheet, RelateSelectSheet, ProductRel }, | |
| 226 | 223 | data() { |
| 227 | 224 | return { |
| 228 | 225 | id: '', |
| ... | ... | @@ -259,8 +256,7 @@ export default { |
| 259 | 256 | packagingRequirements: '', |
| 260 | 257 | paymentTerms: '', |
| 261 | 258 | transportMode: '', |
| 262 | - destinationId: [], | |
| 263 | - destinationLabel: '', | |
| 259 | + foreignDestination: '', | |
| 264 | 260 | specialInstructions: '', |
| 265 | 261 | remarks: '', |
| 266 | 262 | pieceWeightHead: '', |
| ... | ... | @@ -293,11 +289,6 @@ export default { |
| 293 | 289 | this.loadExtraOptions() |
| 294 | 290 | this.loadRegionOptions() |
| 295 | 291 | this.loadDetail() |
| 296 | - this.$nextTick(() => { | |
| 297 | - if (Array.isArray(this.form.destinationId) && this.form.destinationId.length) { | |
| 298 | - this.initDestinationLabel() | |
| 299 | - } | |
| 300 | - }) | |
| 301 | 292 | }, |
| 302 | 293 | methods: { |
| 303 | 294 | async loadRegionOptions() { |
| ... | ... | @@ -344,8 +335,7 @@ export default { |
| 344 | 335 | packagingRequirements: m.packagingRequirements || '', |
| 345 | 336 | paymentTerms: m.paymentTerms || '', |
| 346 | 337 | transportMode: m.transportMode || '', |
| 347 | - destinationId: (m.provinceId && m.cityId && m.districtId) ? [m.provinceId, m.cityId, m.districtId] : (Array.isArray(m.destinationId) ? m.destinationId : []), | |
| 348 | - destinationLabel: (m.provinceName && m.cityName && m.districtName) ? `${m.provinceName} / ${m.cityName} / ${m.districtName}` : (m.destinationLabel || ''), | |
| 338 | + foreignDestination: (m.foreignDestination || ''), | |
| 349 | 339 | specialInstructions: m.specialInstructions || '', |
| 350 | 340 | remarks: m.remarks || '', |
| 351 | 341 | pieceWeightHead: m.pieceWeightHead || '', |
| ... | ... | @@ -366,20 +356,6 @@ export default { |
| 366 | 356 | this.onProductsChange(lines) |
| 367 | 357 | } catch (e) { } |
| 368 | 358 | }, |
| 369 | - async initDestinationLabel() { | |
| 370 | - const comp = this.$refs.citySelectorRef | |
| 371 | - if (comp && typeof comp.getLabel === 'function') { | |
| 372 | - const label = await comp.getLabel() | |
| 373 | - this.form.destinationLabel = label || '' | |
| 374 | - } | |
| 375 | - }, | |
| 376 | - openCitySelector() { | |
| 377 | - this.$refs.citySelectorRef && this.$refs.citySelectorRef.open() | |
| 378 | - }, | |
| 379 | - onCityChange(payload) { | |
| 380 | - const label = payload && payload.label != null ? payload.label : '' | |
| 381 | - this.form.destinationLabel = label | |
| 382 | - }, | |
| 383 | 359 | onProductsChange(products) { |
| 384 | 360 | const list = Array.isArray(products) ? products : [] |
| 385 | 361 | this.newProductLineList = list |
| ... | ... | @@ -528,7 +504,6 @@ export default { |
| 528 | 504 | return true |
| 529 | 505 | }, |
| 530 | 506 | async onSubmit() { |
| 531 | - console.log('onSubmit__payload', payload) | |
| 532 | 507 | if (!this.validateRequired()) return |
| 533 | 508 | const confirmRes = await new Promise(resolve => { |
| 534 | 509 | uni.showModal({ title: '提示', content: '确定保存当前外贸标准合同吗?', confirmText: '确定', cancelText: '取消', success: resolve }) |
| ... | ... | @@ -546,25 +521,22 @@ export default { |
| 546 | 521 | return out |
| 547 | 522 | } |
| 548 | 523 | const lines = (this.newProductLineList || []).map(it => clean(it)) |
| 549 | - const { destinationLabel, destinationId, ...formForSubmit } = this.form; | |
| 550 | - const destination = destinationId && destinationId.length > 0 ? destinationId[destinationId.length - 1] : ''; | |
| 551 | - const payload = clean({ | |
| 552 | - ...formForSubmit, | |
| 553 | - id: this.form.id, | |
| 554 | - destination, | |
| 555 | - type: 'INTL_STD_CONTRACT', | |
| 556 | - totalQuantity: this.totalQuantity, | |
| 557 | - // totalAmountExcludingTax: this.totalAmountExcludingTax, | |
| 558 | - totalAmountIncludingTax: this.totalAmountIncludingTax, | |
| 559 | - contractDistributorLineList: lines | |
| 560 | - }) | |
| 561 | - try { | |
| 562 | - await updateContractApi(payload) | |
| 563 | - uni.showToast({ title: '保存成功', icon: 'none' }) | |
| 564 | - setTimeout(() => { uni.redirectTo({ url: '/pages/contract_foreign_std/index' }) }, 400) | |
| 565 | - } catch (e) { | |
| 566 | - uni.showToast({ title: e.msg ||'提交失败', icon: 'none' }) | |
| 567 | - } | |
| 524 | + const payload = clean({ | |
| 525 | + ...this.form, | |
| 526 | + id: this.form.id, | |
| 527 | + type: 'INTL_STD_CONTRACT', | |
| 528 | + totalQuantity: this.totalQuantity, | |
| 529 | + // totalAmountExcludingTax: this.totalAmountExcludingTax, | |
| 530 | + totalAmountIncludingTax: this.totalAmountIncludingTax, | |
| 531 | + contractDistributorLineList: lines | |
| 532 | + }) | |
| 533 | + try { | |
| 534 | + await updateContractApi(payload) | |
| 535 | + uni.showToast({ title: '保存成功', icon: 'none' }) | |
| 536 | + setTimeout(() => { uni.redirectTo({ url: '/pages/contract_foreign_std/index' }) }, 400) | |
| 537 | + } catch (e) { | |
| 538 | + uni.showToast({ title: e.msg ||'提交失败', icon: 'none' }) | |
| 539 | + } | |
| 568 | 540 | } |
| 569 | 541 | } |
| 570 | 542 | } |
| ... | ... | @@ -809,4 +781,4 @@ export default { |
| 809 | 781 | } |
| 810 | 782 | } |
| 811 | 783 | |
| 812 | -</style> | |
| \ No newline at end of file | ||
| 784 | +</style> | ... | ... |
| ... | ... | @@ -89,12 +89,9 @@ |
| 89 | 89 | <uni-easyinput v-model="form.transportMode" placeholder="请输入运输方式" :inputBorder="false" /> |
| 90 | 90 | </template> |
| 91 | 91 | </uni-list-item> |
| 92 | - <uni-list-item class="select-item" | |
| 93 | - :class="(Array.isArray(form.destinationId) && form.destinationId.length) ? 'is-filled' : 'is-empty'" clickable | |
| 94 | - @click="openCitySelector" :rightText="form.destinationLabel || '请选择'" showArrow> | |
| 95 | - <template v-slot:body> | |
| 96 | - <view class="item-title"><text>目的地</text></view> | |
| 97 | - <CitySelector ref="citySelectorRef" v-model="form.destinationId" @change="onCityChange" /> | |
| 92 | + <uni-list-item title="目的地"> | |
| 93 | + <template v-slot:footer> | |
| 94 | + <uni-easyinput v-model="form.foreignDestination" placeholder="请输入目的地" :inputBorder="false" /> | |
| 98 | 95 | </template> |
| 99 | 96 | </uni-list-item> |
| 100 | 97 | |
| ... | ... | @@ -219,7 +216,6 @@ |
| 219 | 216 | import SingleSelectSheet from '@/components/single-select/index.vue' |
| 220 | 217 | import RelateSelectSheet from '@/components/relate-select/index.vue' |
| 221 | 218 | import ProductRel from './productRel.vue' |
| 222 | -import CitySelector from '@/components/city-selector/index.vue' | |
| 223 | 219 | import FileUpload from '@/components/file-upload/index.vue' |
| 224 | 220 | import { getContractApi, uploadStandardContract } from '@/api/contract' |
| 225 | 221 | import { getDicByCodes } from '@/utils/dic' |
| ... | ... | @@ -229,7 +225,7 @@ import { getArea } from '@/api/credit_manage.js' |
| 229 | 225 | |
| 230 | 226 | export default { |
| 231 | 227 | name: 'UploadStandardContractForeignStd', |
| 232 | - components: { SingleSelectSheet, RelateSelectSheet, ProductRel, CitySelector, FileUpload }, | |
| 228 | + components: { SingleSelectSheet, RelateSelectSheet, ProductRel, FileUpload }, | |
| 233 | 229 | data() { |
| 234 | 230 | return { |
| 235 | 231 | id: '', |
| ... | ... | @@ -269,8 +265,7 @@ export default { |
| 269 | 265 | packagingRequirements: '', |
| 270 | 266 | paymentTerms: '', |
| 271 | 267 | transportMode: '', |
| 272 | - destinationId: [], | |
| 273 | - destinationLabel: '', | |
| 268 | + foreignDestination: '', | |
| 274 | 269 | specialInstructions: '', |
| 275 | 270 | remarks: '', |
| 276 | 271 | pieceWeightHead: '', |
| ... | ... | @@ -311,11 +306,6 @@ export default { |
| 311 | 306 | this.loadExtraOptions() |
| 312 | 307 | this.loadRegionOptions() |
| 313 | 308 | this.loadDetail() |
| 314 | - this.$nextTick(() => { | |
| 315 | - if (Array.isArray(this.form.destinationId) && this.form.destinationId.length) { | |
| 316 | - this.initDestinationLabel() | |
| 317 | - } | |
| 318 | - }) | |
| 319 | 309 | }, |
| 320 | 310 | methods: { |
| 321 | 311 | async loadRegionOptions() { |
| ... | ... | @@ -362,8 +352,7 @@ export default { |
| 362 | 352 | packagingRequirements: m.packagingRequirements || '', |
| 363 | 353 | paymentTerms: m.paymentTerms || '', |
| 364 | 354 | transportMode: m.transportMode || '', |
| 365 | - destinationId: (m.provinceId && m.cityId && m.districtId) ? [m.provinceId, m.cityId, m.districtId] : (Array.isArray(m.destinationId) ? m.destinationId : []), | |
| 366 | - destinationLabel: (m.provinceName && m.cityName && m.districtName) ? `${m.provinceName} / ${m.cityName} / ${m.districtName}` : (m.destinationLabel || ''), | |
| 355 | + foreignDestination: (m.foreignDestination || ''), | |
| 367 | 356 | specialInstructions: m.specialInstructions || '', |
| 368 | 357 | remarks: m.remarks || '', |
| 369 | 358 | pieceWeightHead: m.pieceWeightHead || '', |
| ... | ... | @@ -387,20 +376,6 @@ export default { |
| 387 | 376 | this.onProductsChange(lines) |
| 388 | 377 | } catch (e) { } |
| 389 | 378 | }, |
| 390 | - async initDestinationLabel() { | |
| 391 | - const comp = this.$refs.citySelectorRef | |
| 392 | - if (comp && typeof comp.getLabel === 'function') { | |
| 393 | - const label = await comp.getLabel() | |
| 394 | - this.form.destinationLabel = label || '' | |
| 395 | - } | |
| 396 | - }, | |
| 397 | - openCitySelector() { | |
| 398 | - this.$refs.citySelectorRef && this.$refs.citySelectorRef.open() | |
| 399 | - }, | |
| 400 | - onCityChange(payload) { | |
| 401 | - const label = payload && payload.label != null ? payload.label : '' | |
| 402 | - this.form.destinationLabel = label | |
| 403 | - }, | |
| 404 | 379 | onProductsChange(products) { |
| 405 | 380 | const list = Array.isArray(products) ? products : [] |
| 406 | 381 | this.newProductLineList = list |
| ... | ... | @@ -602,12 +577,9 @@ export default { |
| 602 | 577 | return out |
| 603 | 578 | } |
| 604 | 579 | const lines = (this.newProductLineList || []).map(it => clean(it)) |
| 605 | - const { destinationLabel, destinationId, ...formForSubmit } = this.form | |
| 606 | - const destination = destinationId && destinationId.length > 0 ? destinationId[destinationId.length - 1] : '' | |
| 607 | 580 | const payload = clean({ |
| 608 | - ...formForSubmit, | |
| 581 | + ...this.form, | |
| 609 | 582 | id: this.form.id, |
| 610 | - destination, | |
| 611 | 583 | type: 'INTL_STD_CONTRACT', |
| 612 | 584 | totalQuantity: this.totalQuantity, |
| 613 | 585 | totalAmountIncludingTax: this.totalAmountIncludingTax, | ... | ... |
| ... | ... | @@ -91,11 +91,9 @@ |
| 91 | 91 | </template> |
| 92 | 92 | </uni-list-item> |
| 93 | 93 | |
| 94 | - <uni-list-item class="select-item" :class="(Array.isArray(form.destinationId) && form.destinationId.length) ? 'is-filled' : 'is-empty'" clickable | |
| 95 | - @click="openCitySelector" :rightText="form.destinationLabel || '请选择'" showArrow> | |
| 96 | - <template v-slot:body> | |
| 97 | - <view class="item-title"><text>目的地</text></view> | |
| 98 | - <CitySelector ref="citySelectorRef" v-model="form.destinationId" @change="onCityChange" /> | |
| 94 | + <uni-list-item title="目的地"> | |
| 95 | + <template v-slot:footer> | |
| 96 | + <uni-easyinput v-model="form.foreignDestination" placeholder="请输入目的地" :inputBorder="false" /> | |
| 99 | 97 | </template> |
| 100 | 98 | </uni-list-item> |
| 101 | 99 | <uni-list-item class="select-item" :class="form.includesPackagingFeeName ? 'is-filled' : 'is-empty'" clickable |
| ... | ... | @@ -232,7 +230,6 @@ |
| 232 | 230 | import SingleSelectSheet from '@/components/single-select/index.vue' |
| 233 | 231 | import RelateSelectSheet from '@/components/relate-select/index.vue' |
| 234 | 232 | import ProductRel from './productRel.vue' |
| 235 | -import CitySelector from '@/components/city-selector/index.vue' | |
| 236 | 233 | import { getRetailCodeApi, createContractApi, getCustomerSpecificQualityRequirements, getCustomerRemarks, getDeptApi, getContractApi } from '@/api/contract' |
| 237 | 234 | import { getDicByCodes } from '@/utils/dic' |
| 238 | 235 | import { formatCurrencyToChinese } from '@/utils/common' |
| ... | ... | @@ -241,7 +238,7 @@ import { getArea } from '@/api/credit_manage.js' |
| 241 | 238 | |
| 242 | 239 | export default { |
| 243 | 240 | name: 'AddContractForeignStock', |
| 244 | - components: { SingleSelectSheet, RelateSelectSheet, ProductRel, CitySelector }, | |
| 241 | + components: { SingleSelectSheet, RelateSelectSheet, ProductRel }, | |
| 245 | 242 | data() { |
| 246 | 243 | return { |
| 247 | 244 | copyId: '', |
| ... | ... | @@ -268,8 +265,7 @@ export default { |
| 268 | 265 | includesTransportFeeName: '否', |
| 269 | 266 | unit: '美元、公斤、美元/公斤', |
| 270 | 267 | totalAmountCapital: '', |
| 271 | - destinationId: [], | |
| 272 | - destinationLabel: '', | |
| 268 | + foreignDestination: '', | |
| 273 | 269 | workshopIdName: '', |
| 274 | 270 | workshopId: '', |
| 275 | 271 | deptName: '', |
| ... | ... | @@ -317,11 +313,6 @@ export default { |
| 317 | 313 | this.loadRegionOptions() |
| 318 | 314 | if (!this.copyId) this.form.orderDate = this.formatDate(new Date()) |
| 319 | 315 | if (this.copyId) this.loadCopyDetail(this.copyId) |
| 320 | - this.$nextTick(() => { | |
| 321 | - if (Array.isArray(this.form.destinationId) && this.form.destinationId.length) { | |
| 322 | - this.initDestinationLabel() | |
| 323 | - } | |
| 324 | - }) | |
| 325 | 316 | }, |
| 326 | 317 | watch: { |
| 327 | 318 | 'form.buyer': { |
| ... | ... | @@ -406,8 +397,7 @@ export default { |
| 406 | 397 | packagingRequirements: m.packagingRequirements || '', |
| 407 | 398 | paymentTerms: m.paymentTerms || '', |
| 408 | 399 | transportMode: m.transportMode || '', |
| 409 | - destinationId: (m.provinceId && m.cityId && m.districtId) ? [m.provinceId, m.cityId, m.districtId] : (Array.isArray(m.destinationId) ? m.destinationId : []), | |
| 410 | - destinationLabel: (m.provinceName && m.cityName && m.districtName) ? `${m.provinceName} / ${m.cityName} / ${m.districtName}` : (m.destinationLabel || ''), | |
| 400 | + foreignDestination: (m.foreignDestination || ''), | |
| 411 | 401 | specialInstructions: m.specialInstructions || '', |
| 412 | 402 | remarks: m.remarks || '', |
| 413 | 403 | packaging: m.packaging || '', |
| ... | ... | @@ -554,20 +544,6 @@ export default { |
| 554 | 544 | const val = m[field] |
| 555 | 545 | return val ? String(val) : map[field] |
| 556 | 546 | }, |
| 557 | - openCitySelector() { | |
| 558 | - this.$refs.citySelectorRef && this.$refs.citySelectorRef.open() | |
| 559 | - }, | |
| 560 | - async initDestinationLabel() { | |
| 561 | - const comp = this.$refs.citySelectorRef | |
| 562 | - if (comp && typeof comp.getLabel === 'function') { | |
| 563 | - const label = await comp.getLabel() | |
| 564 | - this.form.destinationLabel = label || '' | |
| 565 | - } | |
| 566 | - }, | |
| 567 | - onCityChange(payload) { | |
| 568 | - const label = payload && payload.label != null ? payload.label : '' | |
| 569 | - this.form.destinationLabel = label | |
| 570 | - }, | |
| 571 | 547 | async openSheet(field) { |
| 572 | 548 | const setSheet = (title, options) => { |
| 573 | 549 | const current = this.form[field] |
| ... | ... | @@ -667,13 +643,9 @@ export default { |
| 667 | 643 | return out |
| 668 | 644 | } |
| 669 | 645 | const lines = (this.productLineList || []).map(it => clean(it)) |
| 670 | - const { destinationLabel, destinationId, ...formForSubmit } = this.form; | |
| 671 | - // 区id | |
| 672 | - const destination = destinationId && destinationId.length > 0 ? destinationId[destinationId.length - 1] : ''; | |
| 673 | 646 | const payload = clean({ |
| 674 | - ...formForSubmit, | |
| 647 | + ...this.form, | |
| 675 | 648 | operateType: isCopy ? 'COPY' : 'ADD', |
| 676 | - destination, | |
| 677 | 649 | type: 'INTL_INVENTORY_AGMT', |
| 678 | 650 | totalQuantity: this.totalQuantity, |
| 679 | 651 | // totalAmountExcludingTax: this.totalAmountExcludingTax, | ... | ... |
| ... | ... | @@ -50,7 +50,7 @@ |
| 50 | 50 | '-' }}</text></view> |
| 51 | 51 | <view class="row"><text class="label">运输方式</text><text class="value">{{ detail.transportMode || '-' |
| 52 | 52 | }}</text></view> |
| 53 | - <view class="row"><text class="label">目的地</text><text class="value">{{ detail.destinationLabel || | |
| 53 | + <view class="row"><text class="label">目的地</text><text class="value">{{ detail.foreignDestination || | |
| 54 | 54 | '-' |
| 55 | 55 | }}</text></view> |
| 56 | 56 | <view class="row"><text class="label">单价中是否已包含包装费</text><text class="value">{{ |
| ... | ... | @@ -188,8 +188,7 @@ export default { |
| 188 | 188 | packagingRequirements: '', |
| 189 | 189 | paymentTerms: '', |
| 190 | 190 | transportMode: '', |
| 191 | - destinationId: '', | |
| 192 | - destinationLabel: '', | |
| 191 | + foreignDestination: '', | |
| 193 | 192 | specialInstructions: '', |
| 194 | 193 | remarks: '', |
| 195 | 194 | pieceWeightHead: '', |
| ... | ... | @@ -523,8 +522,7 @@ export default { |
| 523 | 522 | regionName: data.regionName || '', |
| 524 | 523 | deptName: data.deptName || '', |
| 525 | 524 | includesPackagingFeeName, includesTransportFeeName, |
| 526 | - destinationId: data.provinceId && data.cityId && data.districtId ? [data.provinceId, data.cityId, data.districtId] : '', | |
| 527 | - destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '', | |
| 525 | + foreignDestination: (data.foreignDestination || ''), | |
| 528 | 526 | } |
| 529 | 527 | this.detail = await fillStandardApprovedName(this.detail) |
| 530 | 528 | this.detail = await fillFormalApprovedName(this.detail) | ... | ... |
| ... | ... | @@ -94,11 +94,9 @@ |
| 94 | 94 | <uni-easyinput v-model="form.transportMode" placeholder="请输入运输方式" :inputBorder="false" /> |
| 95 | 95 | </template> |
| 96 | 96 | </uni-list-item> |
| 97 | - <uni-list-item class="select-item" :class="(Array.isArray(form.destinationId) && form.destinationId.length) ? 'is-filled' : 'is-empty'" clickable | |
| 98 | - @click="openCitySelector" :rightText="form.destinationLabel || '请选择'" showArrow> | |
| 99 | - <template v-slot:body> | |
| 100 | - <view class="item-title"><text>目的地</text></view> | |
| 101 | - <CitySelector ref="citySelectorRef" v-model="form.destinationId" @change="onCityChange" /> | |
| 97 | + <uni-list-item title="目的地"> | |
| 98 | + <template v-slot:footer> | |
| 99 | + <uni-easyinput v-model="form.foreignDestination" placeholder="请输入目的地" :inputBorder="false" /> | |
| 102 | 100 | </template> |
| 103 | 101 | </uni-list-item> |
| 104 | 102 | |
| ... | ... | @@ -218,7 +216,6 @@ |
| 218 | 216 | import SingleSelectSheet from '@/components/single-select/index.vue' |
| 219 | 217 | import RelateSelectSheet from '@/components/relate-select/index.vue' |
| 220 | 218 | import ProductRel from './productRel.vue' |
| 221 | -import CitySelector from '@/components/city-selector/index.vue' | |
| 222 | 219 | import { getContractApi, updateContractApi } from '@/api/contract' |
| 223 | 220 | import { getDicByCodes } from '@/utils/dic' |
| 224 | 221 | import { formatCurrencyToChinese } from '@/utils/common' |
| ... | ... | @@ -227,7 +224,7 @@ import { getArea } from '@/api/credit_manage.js' |
| 227 | 224 | |
| 228 | 225 | export default { |
| 229 | 226 | name: 'ModifyContractForeignStock', |
| 230 | - components: { SingleSelectSheet, RelateSelectSheet, ProductRel, CitySelector }, | |
| 227 | + components: { SingleSelectSheet, RelateSelectSheet, ProductRel }, | |
| 231 | 228 | data() { |
| 232 | 229 | return { |
| 233 | 230 | id: '', |
| ... | ... | @@ -264,8 +261,7 @@ export default { |
| 264 | 261 | packagingRequirements: '', |
| 265 | 262 | paymentTerms: '', |
| 266 | 263 | transportMode: '', |
| 267 | - destinationId: [], | |
| 268 | - destinationLabel: '', | |
| 264 | + foreignDestination: '', | |
| 269 | 265 | specialInstructions: '', |
| 270 | 266 | remarks: '', |
| 271 | 267 | pieceWeightHead: '', |
| ... | ... | @@ -298,11 +294,6 @@ export default { |
| 298 | 294 | this.loadExtraOptions() |
| 299 | 295 | this.loadRegionOptions() |
| 300 | 296 | this.loadDetail() |
| 301 | - this.$nextTick(() => { | |
| 302 | - if (Array.isArray(this.form.destinationId) && this.form.destinationId.length) { | |
| 303 | - this.initDestinationLabel() | |
| 304 | - } | |
| 305 | - }) | |
| 306 | 297 | }, |
| 307 | 298 | methods: { |
| 308 | 299 | async loadRegionOptions() { |
| ... | ... | @@ -349,8 +340,7 @@ export default { |
| 349 | 340 | packagingRequirements: m.packagingRequirements || '', |
| 350 | 341 | paymentTerms: m.paymentTerms || '', |
| 351 | 342 | transportMode: m.transportMode || '', |
| 352 | - destinationId: (m.provinceId && m.cityId && m.districtId) ? [m.provinceId, m.cityId, m.districtId] : (Array.isArray(m.destinationId) ? m.destinationId : []), | |
| 353 | - destinationLabel: (m.provinceName && m.cityName && m.districtName) ? `${m.provinceName} / ${m.cityName} / ${m.districtName}` : (m.destinationLabel || ''), | |
| 343 | + foreignDestination: (m.foreignDestination || ''), | |
| 354 | 344 | specialInstructions: m.specialInstructions || '', |
| 355 | 345 | remarks: m.remarks || '', |
| 356 | 346 | pieceWeightHead: m.pieceWeightHead || '', |
| ... | ... | @@ -371,20 +361,6 @@ export default { |
| 371 | 361 | this.onProductsChange(lines) |
| 372 | 362 | } catch (e) { } |
| 373 | 363 | }, |
| 374 | - async initDestinationLabel() { | |
| 375 | - const comp = this.$refs.citySelectorRef | |
| 376 | - if (comp && typeof comp.getLabel === 'function') { | |
| 377 | - const label = await comp.getLabel() | |
| 378 | - this.form.destinationLabel = label || '' | |
| 379 | - } | |
| 380 | - }, | |
| 381 | - openCitySelector() { | |
| 382 | - this.$refs.citySelectorRef && this.$refs.citySelectorRef.open() | |
| 383 | - }, | |
| 384 | - onCityChange(payload) { | |
| 385 | - const label = payload && payload.label != null ? payload.label : '' | |
| 386 | - this.form.destinationLabel = label | |
| 387 | - }, | |
| 388 | 364 | onProductsChange(products) { |
| 389 | 365 | const list = Array.isArray(products) ? products : [] |
| 390 | 366 | this.newProductLineList = list |
| ... | ... | @@ -531,7 +507,6 @@ export default { |
| 531 | 507 | return true |
| 532 | 508 | }, |
| 533 | 509 | async onSubmit() { |
| 534 | - console.log('onSubmit__payload', payload) | |
| 535 | 510 | if (!this.validateRequired()) return |
| 536 | 511 | const confirmRes = await new Promise(resolve => { |
| 537 | 512 | uni.showModal({ title: '提示', content: '确定保存当前外贸库存合同吗?', confirmText: '确定', cancelText: '取消', success: resolve }) |
| ... | ... | @@ -549,12 +524,9 @@ export default { |
| 549 | 524 | return out |
| 550 | 525 | } |
| 551 | 526 | const lines = (this.newProductLineList || []).map(it => clean(it)) |
| 552 | - const { destinationLabel, destinationId, ...formForSubmit } = this.form; | |
| 553 | - const destination = destinationId && destinationId.length > 0 ? destinationId[destinationId.length - 1] : ''; | |
| 554 | 527 | const payload = clean({ |
| 555 | - ...formForSubmit, | |
| 528 | + ...this.form, | |
| 556 | 529 | id: this.form.id, |
| 557 | - destination, | |
| 558 | 530 | type: 'INTL_INVENTORY_AGMT', |
| 559 | 531 | totalQuantity: this.totalQuantity, |
| 560 | 532 | // totalAmountExcludingTax: this.totalAmountExcludingTax, |
| ... | ... | @@ -812,4 +784,4 @@ export default { |
| 812 | 784 | } |
| 813 | 785 | } |
| 814 | 786 | |
| 815 | -</style> | |
| \ No newline at end of file | ||
| 787 | +</style> | ... | ... |
| ... | ... | @@ -92,11 +92,9 @@ |
| 92 | 92 | <uni-easyinput v-model="form.transportMode" placeholder="请输入运输方式" :inputBorder="false" /> |
| 93 | 93 | </template> |
| 94 | 94 | </uni-list-item> |
| 95 | - <uni-list-item class="select-item" :class="(Array.isArray(form.destinationId) && form.destinationId.length) ? 'is-filled' : 'is-empty'" clickable | |
| 96 | - @click="openCitySelector" :rightText="form.destinationLabel || '请选择'" showArrow> | |
| 97 | - <template v-slot:body> | |
| 98 | - <view class="item-title"><text>目的地</text></view> | |
| 99 | - <CitySelector ref="citySelectorRef" v-model="form.destinationId" @change="onCityChange" /> | |
| 95 | + <uni-list-item title="目的地"> | |
| 96 | + <template v-slot:footer> | |
| 97 | + <uni-easyinput v-model="form.foreignDestination" placeholder="请输入目的地" :inputBorder="false" /> | |
| 100 | 98 | </template> |
| 101 | 99 | </uni-list-item> |
| 102 | 100 | |
| ... | ... | @@ -217,7 +215,6 @@ |
| 217 | 215 | import SingleSelectSheet from '@/components/single-select/index.vue' |
| 218 | 216 | import RelateSelectSheet from '@/components/relate-select/index.vue' |
| 219 | 217 | import ProductRel from './productRel.vue' |
| 220 | -import CitySelector from '@/components/city-selector/index.vue' | |
| 221 | 218 | import FileUpload from '@/components/file-upload/index.vue' |
| 222 | 219 | import { getContractApi, uploadFormalContract, uploadStandardContract, uploadSignedContractFile } from '@/api/contract' |
| 223 | 220 | import { getDicByCodes } from '@/utils/dic' |
| ... | ... | @@ -227,7 +224,7 @@ import { getArea } from '@/api/credit_manage.js' |
| 227 | 224 | |
| 228 | 225 | export default { |
| 229 | 226 | name: 'UploadContractForeignStock', |
| 230 | - components: { SingleSelectSheet, RelateSelectSheet, ProductRel, CitySelector, FileUpload }, | |
| 227 | + components: { SingleSelectSheet, RelateSelectSheet, ProductRel, FileUpload }, | |
| 231 | 228 | data() { |
| 232 | 229 | return { |
| 233 | 230 | id: '', |
| ... | ... | @@ -268,8 +265,7 @@ export default { |
| 268 | 265 | packagingRequirements: '', |
| 269 | 266 | paymentTerms: '', |
| 270 | 267 | transportMode: '', |
| 271 | - destinationId: [], | |
| 272 | - destinationLabel: '', | |
| 268 | + foreignDestination: '', | |
| 273 | 269 | specialInstructions: '', |
| 274 | 270 | remarks: '', |
| 275 | 271 | pieceWeightHead: '', |
| ... | ... | @@ -302,11 +298,6 @@ export default { |
| 302 | 298 | this.loadExtraOptions() |
| 303 | 299 | this.loadRegionOptions() |
| 304 | 300 | this.loadDetail() |
| 305 | - this.$nextTick(() => { | |
| 306 | - if (Array.isArray(this.form.destinationId) && this.form.destinationId.length) { | |
| 307 | - this.initDestinationLabel() | |
| 308 | - } | |
| 309 | - }) | |
| 310 | 301 | }, |
| 311 | 302 | methods: { |
| 312 | 303 | async loadRegionOptions() { |
| ... | ... | @@ -353,8 +344,7 @@ export default { |
| 353 | 344 | packagingRequirements: m.packagingRequirements || '', |
| 354 | 345 | paymentTerms: m.paymentTerms || '', |
| 355 | 346 | transportMode: m.transportMode || '', |
| 356 | - destinationId: (m.provinceId && m.cityId && m.districtId) ? [m.provinceId, m.cityId, m.districtId] : (Array.isArray(m.destinationId) ? m.destinationId : []), | |
| 357 | - destinationLabel: (m.provinceName && m.cityName && m.districtName) ? `${m.provinceName} / ${m.cityName} / ${m.districtName}` : (m.destinationLabel || ''), | |
| 347 | + foreignDestination: (m.foreignDestination || ''), | |
| 358 | 348 | specialInstructions: m.specialInstructions || '', |
| 359 | 349 | remarks: m.remarks || '', |
| 360 | 350 | pieceWeightHead: m.pieceWeightHead || '', |
| ... | ... | @@ -383,20 +373,6 @@ export default { |
| 383 | 373 | this.onProductsChange(lines) |
| 384 | 374 | } catch (e) { } |
| 385 | 375 | }, |
| 386 | - async initDestinationLabel() { | |
| 387 | - const comp = this.$refs.citySelectorRef | |
| 388 | - if (comp && typeof comp.getLabel === 'function') { | |
| 389 | - const label = await comp.getLabel() | |
| 390 | - this.form.destinationLabel = label || '' | |
| 391 | - } | |
| 392 | - }, | |
| 393 | - openCitySelector() { | |
| 394 | - this.$refs.citySelectorRef && this.$refs.citySelectorRef.open() | |
| 395 | - }, | |
| 396 | - onCityChange(payload) { | |
| 397 | - const label = payload && payload.label != null ? payload.label : '' | |
| 398 | - this.form.destinationLabel = label | |
| 399 | - }, | |
| 400 | 376 | onProductsChange(products) { |
| 401 | 377 | const list = Array.isArray(products) ? products : [] |
| 402 | 378 | this.newProductLineList = list |
| ... | ... | @@ -571,13 +547,9 @@ export default { |
| 571 | 547 | return out |
| 572 | 548 | } |
| 573 | 549 | const lines = (this.newProductLineList || []).map(it => clean(it)) |
| 574 | - const { destinationLabel, destinationId, ...formForSubmit } = this.form | |
| 575 | - const destination = destinationId && destinationId.length > 0 ? destinationId[destinationId.length - 1] : '' | |
| 576 | - | |
| 577 | 550 | const payload = clean({ |
| 578 | - ...formForSubmit, | |
| 551 | + ...this.form, | |
| 579 | 552 | id: this.form.id, |
| 580 | - destination, | |
| 581 | 553 | type: 'INTL_INVENTORY_AGMT', |
| 582 | 554 | totalQuantity: this.totalQuantity, |
| 583 | 555 | totalAmountIncludingTax: this.totalAmountIncludingTax, | ... | ... |
| ... | ... | @@ -89,11 +89,9 @@ |
| 89 | 89 | </template> |
| 90 | 90 | </uni-list-item> |
| 91 | 91 | |
| 92 | - <uni-list-item class="select-item" :class="(Array.isArray(form.destinationId) && form.destinationId.length) ? 'is-filled' : 'is-empty'" clickable | |
| 93 | - @click="openCitySelector" :rightText="form.destinationLabel || '请选择'" showArrow> | |
| 94 | - <template v-slot:body> | |
| 95 | - <view class="item-title"><text>目的地</text></view> | |
| 96 | - <CitySelector ref="citySelectorRef" v-model="form.destinationId" @change="onCityChange" /> | |
| 92 | + <uni-list-item title="目的地"> | |
| 93 | + <template v-slot:footer> | |
| 94 | + <uni-easyinput v-model="form.foreignDestination" placeholder="请输入目的地" :inputBorder="false" /> | |
| 97 | 95 | </template> |
| 98 | 96 | </uni-list-item> |
| 99 | 97 | <uni-list-item class="select-item" :class="form.includesPackagingFeeName ? 'is-filled' : 'is-empty'" clickable |
| ... | ... | @@ -230,7 +228,6 @@ |
| 230 | 228 | import SingleSelectSheet from '@/components/single-select/index.vue' |
| 231 | 229 | import RelateSelectSheet from '@/components/relate-select/index.vue' |
| 232 | 230 | import ProductRel from './productRel.vue' |
| 233 | -import CitySelector from '@/components/city-selector/index.vue' | |
| 234 | 231 | import { getRetailCodeApi, createContractApi, getCustomerRemarks, getCustomerSpecificQualityRequirements, getDeptApi, getContractApi } from '@/api/contract' |
| 235 | 232 | import { getDicByCodes } from '@/utils/dic' |
| 236 | 233 | import { formatCurrencyToChinese } from '@/utils/common' |
| ... | ... | @@ -239,7 +236,7 @@ import { getArea } from '@/api/credit_manage.js' |
| 239 | 236 | |
| 240 | 237 | export default { |
| 241 | 238 | name: 'AddContractForeignUnplan', |
| 242 | - components: { SingleSelectSheet, RelateSelectSheet, ProductRel, CitySelector }, | |
| 239 | + components: { SingleSelectSheet, RelateSelectSheet, ProductRel }, | |
| 243 | 240 | data() { |
| 244 | 241 | return { |
| 245 | 242 | copyId: '', |
| ... | ... | @@ -266,8 +263,7 @@ export default { |
| 266 | 263 | includesTransportFeeName: '否', |
| 267 | 264 | unit: '美元、公斤、美元/公斤', |
| 268 | 265 | totalAmountCapital: '', |
| 269 | - destinationId: [], | |
| 270 | - destinationLabel: '', | |
| 266 | + foreignDestination: '', | |
| 271 | 267 | workshopIdName: '', |
| 272 | 268 | workshopId: '', |
| 273 | 269 | deptName: '', |
| ... | ... | @@ -315,11 +311,6 @@ export default { |
| 315 | 311 | this.loadRegionOptions() |
| 316 | 312 | if (!this.copyId) this.form.orderDate = this.formatDate(new Date()) |
| 317 | 313 | if (this.copyId) this.loadCopyDetail(this.copyId) |
| 318 | - this.$nextTick(() => { | |
| 319 | - if (Array.isArray(this.form.destinationId) && this.form.destinationId.length) { | |
| 320 | - this.initDestinationLabel() | |
| 321 | - } | |
| 322 | - }) | |
| 323 | 314 | }, |
| 324 | 315 | watch: { |
| 325 | 316 | 'form.buyer': { |
| ... | ... | @@ -403,8 +394,7 @@ export default { |
| 403 | 394 | packagingRequirements: m.packagingRequirements || '', |
| 404 | 395 | paymentTerms: m.paymentTerms || '', |
| 405 | 396 | transportMode: m.transportMode || '', |
| 406 | - destinationId: (m.provinceId && m.cityId && m.districtId) ? [m.provinceId, m.cityId, m.districtId] : (Array.isArray(m.destinationId) ? m.destinationId : []), | |
| 407 | - destinationLabel: (m.provinceName && m.cityName && m.districtName) ? `${m.provinceName} / ${m.cityName} / ${m.districtName}` : (m.destinationLabel || ''), | |
| 397 | + foreignDestination: (m.foreignDestination || ''), | |
| 408 | 398 | specialInstructions: m.specialInstructions || '', |
| 409 | 399 | remarks: m.remarks || '', |
| 410 | 400 | pieceWeightHead: m.pieceWeightHead || '', |
| ... | ... | @@ -552,20 +542,6 @@ export default { |
| 552 | 542 | const val = m[field] |
| 553 | 543 | return val ? String(val) : map[field] |
| 554 | 544 | }, |
| 555 | - openCitySelector() { | |
| 556 | - this.$refs.citySelectorRef && this.$refs.citySelectorRef.open() | |
| 557 | - }, | |
| 558 | - async initDestinationLabel() { | |
| 559 | - const comp = this.$refs.citySelectorRef | |
| 560 | - if (comp && typeof comp.getLabel === 'function') { | |
| 561 | - const label = await comp.getLabel() | |
| 562 | - this.form.destinationLabel = label || '' | |
| 563 | - } | |
| 564 | - }, | |
| 565 | - onCityChange(payload) { | |
| 566 | - const label = payload && payload.label != null ? payload.label : '' | |
| 567 | - this.form.destinationLabel = label | |
| 568 | - }, | |
| 569 | 545 | async openSheet(field) { |
| 570 | 546 | const setSheet = (title, options) => { |
| 571 | 547 | const current = this.form[field] |
| ... | ... | @@ -666,13 +642,9 @@ export default { |
| 666 | 642 | return out |
| 667 | 643 | } |
| 668 | 644 | const lines = (this.productLineList || []).map(it => clean(it)) |
| 669 | - const { destinationLabel, destinationId, ...formForSubmit } = this.form; | |
| 670 | - // 区id | |
| 671 | - const destination = destinationId && destinationId.length > 0 ? destinationId[destinationId.length - 1] : ''; | |
| 672 | 645 | const payload = clean({ |
| 673 | - ...formForSubmit, | |
| 646 | + ...this.form, | |
| 674 | 647 | operateType: isCopy ? 'COPY' : 'ADD', |
| 675 | - destination, | |
| 676 | 648 | type: 'INTL_OPEN_SPEC_AGMT', |
| 677 | 649 | totalQuantity: this.totalQuantity, |
| 678 | 650 | // totalAmountExcludingTax: this.totalAmountExcludingTax, | ... | ... |
| ... | ... | @@ -50,7 +50,7 @@ |
| 50 | 50 | '-' }}</text></view> |
| 51 | 51 | <view class="row"><text class="label">运输方式</text><text class="value">{{ detail.transportMode || '-' |
| 52 | 52 | }}</text></view> |
| 53 | - <view class="row"><text class="label">目的地</text><text class="value">{{ detail.destinationLabel || | |
| 53 | + <view class="row"><text class="label">目的地</text><text class="value">{{ detail.foreignDestination || | |
| 54 | 54 | '-' |
| 55 | 55 | }}</text></view> |
| 56 | 56 | <view class="row"><text class="label">单价中是否已包含包装费</text><text class="value">{{ |
| ... | ... | @@ -187,8 +187,7 @@ export default { |
| 187 | 187 | packagingRequirements: '', |
| 188 | 188 | paymentTerms: '', |
| 189 | 189 | transportMode: '', |
| 190 | - destinationId: '', | |
| 191 | - destinationLabel: '', | |
| 190 | + foreignDestination: '', | |
| 192 | 191 | specialInstructions: '', |
| 193 | 192 | remarks: '', |
| 194 | 193 | pieceWeightHead: '', |
| ... | ... | @@ -536,8 +535,7 @@ export default { |
| 536 | 535 | regionName: data.regionName || '', |
| 537 | 536 | deptName: data.deptName || '', |
| 538 | 537 | includesPackagingFeeName, includesTransportFeeName, |
| 539 | - destinationId: data.provinceId && data.cityId && data.districtId ? [data.provinceId, data.cityId, data.districtId] : '', | |
| 540 | - destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '', | |
| 538 | + foreignDestination: (data.foreignDestination || ''), | |
| 541 | 539 | } |
| 542 | 540 | this.detail = await fillStandardApprovedName(this.detail) |
| 543 | 541 | this.detail = await fillFormalApprovedName(this.detail) | ... | ... |
| ... | ... | @@ -93,11 +93,9 @@ |
| 93 | 93 | <uni-easyinput v-model="form.transportMode" placeholder="请输入运输方式" :inputBorder="false" /> |
| 94 | 94 | </template> |
| 95 | 95 | </uni-list-item> |
| 96 | - <uni-list-item class="select-item" :class="(Array.isArray(form.destinationId) && form.destinationId.length) ? 'is-filled' : 'is-empty'" clickable | |
| 97 | - @click="openCitySelector" :rightText="form.destinationLabel || '请选择'" showArrow> | |
| 98 | - <template v-slot:body> | |
| 99 | - <view class="item-title"><text>目的地</text></view> | |
| 100 | - <CitySelector ref="citySelectorRef" v-model="form.destinationId" @change="onCityChange" /> | |
| 96 | + <uni-list-item title="目的地"> | |
| 97 | + <template v-slot:footer> | |
| 98 | + <uni-easyinput v-model="form.foreignDestination" placeholder="请输入目的地" :inputBorder="false" /> | |
| 101 | 99 | </template> |
| 102 | 100 | </uni-list-item> |
| 103 | 101 | |
| ... | ... | @@ -217,7 +215,6 @@ |
| 217 | 215 | import SingleSelectSheet from '@/components/single-select/index.vue' |
| 218 | 216 | import RelateSelectSheet from '@/components/relate-select/index.vue' |
| 219 | 217 | import ProductRel from './productRel.vue' |
| 220 | -import CitySelector from '@/components/city-selector/index.vue' | |
| 221 | 218 | import { getContractApi, updateContractApi } from '@/api/contract' |
| 222 | 219 | import { getDicByCodes } from '@/utils/dic' |
| 223 | 220 | import { formatCurrencyToChinese } from '@/utils/common' |
| ... | ... | @@ -226,7 +223,7 @@ import { getArea } from '@/api/credit_manage.js' |
| 226 | 223 | |
| 227 | 224 | export default { |
| 228 | 225 | name: 'ModifyContractForeignUnplan', |
| 229 | - components: { SingleSelectSheet, RelateSelectSheet, ProductRel, CitySelector }, | |
| 226 | + components: { SingleSelectSheet, RelateSelectSheet, ProductRel }, | |
| 230 | 227 | data() { |
| 231 | 228 | return { |
| 232 | 229 | id: '', |
| ... | ... | @@ -263,8 +260,7 @@ export default { |
| 263 | 260 | packagingRequirements: '', |
| 264 | 261 | paymentTerms: '', |
| 265 | 262 | transportMode: '', |
| 266 | - destinationId: [], | |
| 267 | - destinationLabel: '', | |
| 263 | + foreignDestination: '', | |
| 268 | 264 | specialInstructions: '', |
| 269 | 265 | remarks: '', |
| 270 | 266 | pieceWeightHead: '', |
| ... | ... | @@ -297,11 +293,6 @@ export default { |
| 297 | 293 | this.loadExtraOptions() |
| 298 | 294 | this.loadRegionOptions() |
| 299 | 295 | this.loadDetail() |
| 300 | - this.$nextTick(() => { | |
| 301 | - if (Array.isArray(this.form.destinationId) && this.form.destinationId.length) { | |
| 302 | - this.initDestinationLabel() | |
| 303 | - } | |
| 304 | - }) | |
| 305 | 296 | }, |
| 306 | 297 | methods: { |
| 307 | 298 | async loadRegionOptions() { |
| ... | ... | @@ -348,8 +339,7 @@ export default { |
| 348 | 339 | packagingRequirements: m.packagingRequirements || '', |
| 349 | 340 | paymentTerms: m.paymentTerms || '', |
| 350 | 341 | transportMode: m.transportMode || '', |
| 351 | - destinationId: (m.provinceId && m.cityId && m.districtId) ? [m.provinceId, m.cityId, m.districtId] : (Array.isArray(m.destinationId) ? m.destinationId : []), | |
| 352 | - destinationLabel: (m.provinceName && m.cityName && m.districtName) ? `${m.provinceName} / ${m.cityName} / ${m.districtName}` : (m.destinationLabel || ''), | |
| 342 | + foreignDestination: (m.foreignDestination || ''), | |
| 353 | 343 | specialInstructions: m.specialInstructions || '', |
| 354 | 344 | remarks: m.remarks || '', |
| 355 | 345 | pieceWeightHead: m.pieceWeightHead || '', |
| ... | ... | @@ -370,20 +360,6 @@ export default { |
| 370 | 360 | this.onProductsChange(lines) |
| 371 | 361 | } catch (e) { } |
| 372 | 362 | }, |
| 373 | - async initDestinationLabel() { | |
| 374 | - const comp = this.$refs.citySelectorRef | |
| 375 | - if (comp && typeof comp.getLabel === 'function') { | |
| 376 | - const label = await comp.getLabel() | |
| 377 | - this.form.destinationLabel = label || '' | |
| 378 | - } | |
| 379 | - }, | |
| 380 | - openCitySelector() { | |
| 381 | - this.$refs.citySelectorRef && this.$refs.citySelectorRef.open() | |
| 382 | - }, | |
| 383 | - onCityChange(payload) { | |
| 384 | - const label = payload && payload.label != null ? payload.label : '' | |
| 385 | - this.form.destinationLabel = label | |
| 386 | - }, | |
| 387 | 363 | onProductsChange(products) { |
| 388 | 364 | const list = Array.isArray(products) ? products : [] |
| 389 | 365 | this.newProductLineList = list |
| ... | ... | @@ -548,12 +524,9 @@ export default { |
| 548 | 524 | return out |
| 549 | 525 | } |
| 550 | 526 | const lines = (this.newProductLineList || []).map(it => clean(it)) |
| 551 | - const { destinationLabel, destinationId, ...formForSubmit } = this.form; | |
| 552 | - const destination = destinationId && destinationId.length > 0 ? destinationId[destinationId.length - 1] : ''; | |
| 553 | 527 | const payload = clean({ |
| 554 | - ...formForSubmit, | |
| 528 | + ...this.form, | |
| 555 | 529 | id: this.form.id, |
| 556 | - destination, | |
| 557 | 530 | type: 'INTL_OPEN_SPEC_AGMT', |
| 558 | 531 | totalQuantity: this.totalQuantity, |
| 559 | 532 | // totalAmountExcludingTax: this.totalAmountExcludingTax, |
| ... | ... | @@ -811,4 +784,4 @@ export default { |
| 811 | 784 | } |
| 812 | 785 | } |
| 813 | 786 | |
| 814 | -</style> | |
| \ No newline at end of file | ||
| 787 | +</style> | ... | ... |
| ... | ... | @@ -92,12 +92,9 @@ |
| 92 | 92 | <uni-easyinput v-model="form.transportMode" placeholder="请输入运输方式" :inputBorder="false" /> |
| 93 | 93 | </template> |
| 94 | 94 | </uni-list-item> |
| 95 | - <uni-list-item class="select-item" | |
| 96 | - :class="(Array.isArray(form.destinationId) && form.destinationId.length) ? 'is-filled' : 'is-empty'" clickable | |
| 97 | - @click="openCitySelector" :rightText="form.destinationLabel || '请选择'" showArrow> | |
| 98 | - <template v-slot:body> | |
| 99 | - <view class="item-title"><text>目的地</text></view> | |
| 100 | - <CitySelector ref="citySelectorRef" v-model="form.destinationId" @change="onCityChange" /> | |
| 95 | + <uni-list-item title="目的地"> | |
| 96 | + <template v-slot:footer> | |
| 97 | + <uni-easyinput v-model="form.foreignDestination" placeholder="请输入目的地" :inputBorder="false" /> | |
| 101 | 98 | </template> |
| 102 | 99 | </uni-list-item> |
| 103 | 100 | |
| ... | ... | @@ -218,7 +215,6 @@ |
| 218 | 215 | import SingleSelectSheet from '@/components/single-select/index.vue' |
| 219 | 216 | import RelateSelectSheet from '@/components/relate-select/index.vue' |
| 220 | 217 | import ProductRel from './productRel.vue' |
| 221 | -import CitySelector from '@/components/city-selector/index.vue' | |
| 222 | 218 | import FileUpload from '@/components/file-upload/index.vue' |
| 223 | 219 | import { getContractApi, uploadStandardContract } from '@/api/contract' |
| 224 | 220 | import { getDicByCodes } from '@/utils/dic' |
| ... | ... | @@ -228,7 +224,7 @@ import { getArea } from '@/api/credit_manage.js' |
| 228 | 224 | |
| 229 | 225 | export default { |
| 230 | 226 | name: 'UploadContractForeignUnplan', |
| 231 | - components: { SingleSelectSheet, RelateSelectSheet, ProductRel, CitySelector, FileUpload }, | |
| 227 | + components: { SingleSelectSheet, RelateSelectSheet, ProductRel, FileUpload }, | |
| 232 | 228 | data() { |
| 233 | 229 | return { |
| 234 | 230 | id: '', |
| ... | ... | @@ -269,8 +265,7 @@ export default { |
| 269 | 265 | packagingRequirements: '', |
| 270 | 266 | paymentTerms: '', |
| 271 | 267 | transportMode: '', |
| 272 | - destinationId: [], | |
| 273 | - destinationLabel: '', | |
| 268 | + foreignDestination: '', | |
| 274 | 269 | specialInstructions: '', |
| 275 | 270 | remarks: '', |
| 276 | 271 | pieceWeightHead: '', |
| ... | ... | @@ -303,11 +298,6 @@ export default { |
| 303 | 298 | this.loadExtraOptions() |
| 304 | 299 | this.loadRegionOptions() |
| 305 | 300 | this.loadDetail() |
| 306 | - this.$nextTick(() => { | |
| 307 | - if (Array.isArray(this.form.destinationId) && this.form.destinationId.length) { | |
| 308 | - this.initDestinationLabel() | |
| 309 | - } | |
| 310 | - }) | |
| 311 | 301 | }, |
| 312 | 302 | methods: { |
| 313 | 303 | async loadRegionOptions() { |
| ... | ... | @@ -354,8 +344,7 @@ export default { |
| 354 | 344 | packagingRequirements: m.packagingRequirements || '', |
| 355 | 345 | paymentTerms: m.paymentTerms || '', |
| 356 | 346 | transportMode: m.transportMode || '', |
| 357 | - destinationId: (m.provinceId && m.cityId && m.districtId) ? [m.provinceId, m.cityId, m.districtId] : (Array.isArray(m.destinationId) ? m.destinationId : []), | |
| 358 | - destinationLabel: (m.provinceName && m.cityName && m.districtName) ? `${m.provinceName} / ${m.cityName} / ${m.districtName}` : (m.destinationLabel || ''), | |
| 347 | + foreignDestination: (m.foreignDestination || ''), | |
| 359 | 348 | specialInstructions: m.specialInstructions || '', |
| 360 | 349 | remarks: m.remarks || '', |
| 361 | 350 | pieceWeightHead: m.pieceWeightHead || '', |
| ... | ... | @@ -379,20 +368,6 @@ export default { |
| 379 | 368 | this.onProductsChange(lines) |
| 380 | 369 | } catch (e) { } |
| 381 | 370 | }, |
| 382 | - async initDestinationLabel() { | |
| 383 | - const comp = this.$refs.citySelectorRef | |
| 384 | - if (comp && typeof comp.getLabel === 'function') { | |
| 385 | - const label = await comp.getLabel() | |
| 386 | - this.form.destinationLabel = label || '' | |
| 387 | - } | |
| 388 | - }, | |
| 389 | - openCitySelector() { | |
| 390 | - this.$refs.citySelectorRef && this.$refs.citySelectorRef.open() | |
| 391 | - }, | |
| 392 | - onCityChange(payload) { | |
| 393 | - const label = payload && payload.label != null ? payload.label : '' | |
| 394 | - this.form.destinationLabel = label | |
| 395 | - }, | |
| 396 | 371 | onProductsChange(products) { |
| 397 | 372 | const list = Array.isArray(products) ? products : [] |
| 398 | 373 | this.newProductLineList = list |
| ... | ... | @@ -562,12 +537,9 @@ export default { |
| 562 | 537 | return out |
| 563 | 538 | } |
| 564 | 539 | const lines = (this.newProductLineList || []).map(it => clean(it)) |
| 565 | - const { destinationLabel, destinationId, ...formForSubmit } = this.form | |
| 566 | - const destination = destinationId && destinationId.length > 0 ? destinationId[destinationId.length - 1] : '' | |
| 567 | 540 | const payload = clean({ |
| 568 | - ...formForSubmit, | |
| 541 | + ...this.form, | |
| 569 | 542 | id: this.form.id, |
| 570 | - destination, | |
| 571 | 543 | type: 'INTL_OPEN_SPEC_AGMT', |
| 572 | 544 | totalQuantity: this.totalQuantity, |
| 573 | 545 | totalAmountIncludingTax: this.totalAmountIncludingTax, | ... | ... |
| ... | ... | @@ -89,11 +89,9 @@ |
| 89 | 89 | </template> |
| 90 | 90 | </uni-list-item> |
| 91 | 91 | |
| 92 | - <uni-list-item class="select-item" :class="(Array.isArray(form.destinationId) && form.destinationId.length) ? 'is-filled' : 'is-empty'" clickable | |
| 93 | - @click="openCitySelector" :rightText="form.destinationLabel || '请选择'" showArrow> | |
| 94 | - <template v-slot:body> | |
| 95 | - <view class="item-title"><text>目的地</text></view> | |
| 96 | - <CitySelector ref="citySelectorRef" v-model="form.destinationId" @change="onCityChange" /> | |
| 92 | + <uni-list-item title="目的地"> | |
| 93 | + <template v-slot:footer> | |
| 94 | + <uni-easyinput v-model="form.foreignDestination" placeholder="请输入目的地" :inputBorder="false" /> | |
| 97 | 95 | </template> |
| 98 | 96 | </uni-list-item> |
| 99 | 97 | <uni-list-item class="select-item" :class="form.includesPackagingFeeName ? 'is-filled' : 'is-empty'" clickable |
| ... | ... | @@ -230,7 +228,6 @@ |
| 230 | 228 | import SingleSelectSheet from '@/components/single-select/index.vue' |
| 231 | 229 | import RelateSelectSheet from '@/components/relate-select/index.vue' |
| 232 | 230 | import ProductRel from './productRel.vue' |
| 233 | -import CitySelector from '@/components/city-selector/index.vue' | |
| 234 | 231 | import { getRetailCodeApi, createContractApi, getCustomerRemarks, getCustomerSpecificQualityRequirements, getDeptApi, getContractApi } from '@/api/contract' |
| 235 | 232 | import { getDicByCodes } from '@/utils/dic' |
| 236 | 233 | import { formatCurrencyToChinese } from '@/utils/common' |
| ... | ... | @@ -239,7 +236,7 @@ import { getArea } from '@/api/credit_manage.js' |
| 239 | 236 | |
| 240 | 237 | export default { |
| 241 | 238 | name: 'AddContractProcess', |
| 242 | - components: { SingleSelectSheet, RelateSelectSheet, ProductRel, CitySelector }, | |
| 239 | + components: { SingleSelectSheet, RelateSelectSheet, ProductRel }, | |
| 243 | 240 | data() { |
| 244 | 241 | return { |
| 245 | 242 | copyId: '', |
| ... | ... | @@ -266,8 +263,7 @@ export default { |
| 266 | 263 | includesTransportFeeName: '否', |
| 267 | 264 | unit: '元、公斤、元/公斤', |
| 268 | 265 | totalAmountCapital: '', |
| 269 | - destinationId: [], | |
| 270 | - destinationLabel: '', | |
| 266 | + foreignDestination: '', | |
| 271 | 267 | workshopIdName: '', |
| 272 | 268 | workshopId: '', |
| 273 | 269 | deptName: '', |
| ... | ... | @@ -318,11 +314,6 @@ export default { |
| 318 | 314 | this.loadRegionOptions() |
| 319 | 315 | if (!this.copyId) this.form.orderDate = this.formatDate(new Date()) |
| 320 | 316 | if (this.copyId) this.loadCopyDetail(this.copyId) |
| 321 | - this.$nextTick(() => { | |
| 322 | - if (Array.isArray(this.form.destinationId) && this.form.destinationId.length) { | |
| 323 | - this.initDestinationLabel() | |
| 324 | - } | |
| 325 | - }) | |
| 326 | 317 | }, |
| 327 | 318 | watch: { |
| 328 | 319 | 'form.buyer': { |
| ... | ... | @@ -402,8 +393,7 @@ export default { |
| 402 | 393 | packagingRequirements: m.packagingRequirements || '', |
| 403 | 394 | paymentTerms: m.paymentTerms || '', |
| 404 | 395 | transportMode: m.transportMode || '', |
| 405 | - destinationId: (m.provinceId && m.cityId && m.districtId) ? [m.provinceId, m.cityId, m.districtId] : (Array.isArray(m.destinationId) ? m.destinationId : []), | |
| 406 | - destinationLabel: (m.provinceName && m.cityName && m.districtName) ? `${m.provinceName} / ${m.cityName} / ${m.districtName}` : (m.destinationLabel || ''), | |
| 396 | + foreignDestination: (m.foreignDestination || ''), | |
| 407 | 397 | specialInstructions: m.specialInstructions || '', |
| 408 | 398 | remarks: m.remarks || '', |
| 409 | 399 | pieceWeightHead: m.pieceWeightHead || '', |
| ... | ... | @@ -564,20 +554,6 @@ export default { |
| 564 | 554 | const val = m[field] |
| 565 | 555 | return val ? String(val) : map[field] |
| 566 | 556 | }, |
| 567 | - openCitySelector() { | |
| 568 | - this.$refs.citySelectorRef && this.$refs.citySelectorRef.open() | |
| 569 | - }, | |
| 570 | - async initDestinationLabel() { | |
| 571 | - const comp = this.$refs.citySelectorRef | |
| 572 | - if (comp && typeof comp.getLabel === 'function') { | |
| 573 | - const label = await comp.getLabel() | |
| 574 | - this.form.destinationLabel = label || '' | |
| 575 | - } | |
| 576 | - }, | |
| 577 | - onCityChange(payload) { | |
| 578 | - const label = payload && payload.label != null ? payload.label : '' | |
| 579 | - this.form.destinationLabel = label | |
| 580 | - }, | |
| 581 | 557 | async openSheet(field) { |
| 582 | 558 | const setSheet = (title, options) => { |
| 583 | 559 | const current = this.form[field] |
| ... | ... | @@ -677,13 +653,9 @@ export default { |
| 677 | 653 | return out |
| 678 | 654 | } |
| 679 | 655 | const lines = (this.productLineList || []).map(it => clean(it)) |
| 680 | - const { destinationLabel, destinationId, ...formForSubmit } = this.form; | |
| 681 | - // 区id | |
| 682 | - const destination = destinationId && destinationId.length > 0 ? destinationId[destinationId.length - 1] : ''; | |
| 683 | 656 | const payload = clean({ |
| 684 | - ...formForSubmit, | |
| 657 | + ...this.form, | |
| 685 | 658 | operateType: isCopy ? 'COPY' : 'ADD', |
| 686 | - destination, | |
| 687 | 659 | type: 'PROCESS_STD_AGMT', |
| 688 | 660 | totalQuantity: this.totalQuantity, |
| 689 | 661 | totalAmountExcludingTax: this.totalAmountExcludingTax, | ... | ... |
| ... | ... | @@ -38,7 +38,7 @@ statusStyl<template> |
| 38 | 38 | '-' }}</text></view> |
| 39 | 39 | <view class="row"><text class="label">运输方式</text><text class="value">{{ detail.transportMode || '-' |
| 40 | 40 | }}</text></view> |
| 41 | - <view class="row"><text class="label">目的地</text><text class="value">{{ detail.destinationLabel || '-' | |
| 41 | + <view class="row"><text class="label">目的地</text><text class="value">{{ detail.foreignDestination || '-' | |
| 42 | 42 | }}</text></view> |
| 43 | 43 | <view class="row"><text class="label">单价中是否已包含包装费</text><text class="value">{{ |
| 44 | 44 | detail.includesPackagingFeeName || '-' }}</text></view> |
| ... | ... | @@ -164,8 +164,7 @@ export default { |
| 164 | 164 | packagingRequirements: '', |
| 165 | 165 | paymentTerms: '', |
| 166 | 166 | transportMode: '', |
| 167 | - destinationId: '', | |
| 168 | - destinationLabel: '', | |
| 167 | + foreignDestination: '', | |
| 169 | 168 | specialInstructions: '', |
| 170 | 169 | remarks: '', |
| 171 | 170 | pieceWeightHead: '', |
| ... | ... | @@ -422,8 +421,7 @@ export default { |
| 422 | 421 | regionName: data.regionName || '', |
| 423 | 422 | deptName: data.deptName || '', |
| 424 | 423 | includesPackagingFeeName, includesTransportFeeName, |
| 425 | - destinationId: data.provinceId && data.cityId && data.districtId ? [data.provinceId, data.cityId, data.districtId] : '', | |
| 426 | - destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '', | |
| 424 | + foreignDestination: (data.foreignDestination || ''), | |
| 427 | 425 | } |
| 428 | 426 | this.detail = await fillStandardApprovedName(this.detail) |
| 429 | 427 | const lines = Array.isArray(data.contractStdProcessingLineList) ? data.contractStdProcessingLineList : [] | ... | ... |
| ... | ... | @@ -70,11 +70,9 @@ |
| 70 | 70 | <uni-easyinput v-model="form.transportMode" placeholder="请输入运输方式" :inputBorder="false" /> |
| 71 | 71 | </template> |
| 72 | 72 | </uni-list-item> |
| 73 | - <uni-list-item class="select-item" :class="(Array.isArray(form.destinationId) && form.destinationId.length) ? 'is-filled' : 'is-empty'" clickable | |
| 74 | - @click="openCitySelector" :rightText="form.destinationLabel || '请选择'" showArrow> | |
| 75 | - <template v-slot:body> | |
| 76 | - <view class="item-title"><text>目的地</text></view> | |
| 77 | - <CitySelector ref="citySelectorRef" v-model="form.destinationId" @change="onCityChange" /> | |
| 73 | + <uni-list-item title="目的地"> | |
| 74 | + <template v-slot:footer> | |
| 75 | + <uni-easyinput v-model="form.foreignDestination" placeholder="请输入目的地" :inputBorder="false" /> | |
| 78 | 76 | </template> |
| 79 | 77 | </uni-list-item> |
| 80 | 78 | |
| ... | ... | @@ -195,7 +193,6 @@ |
| 195 | 193 | import SingleSelectSheet from '@/components/single-select/index.vue' |
| 196 | 194 | import RelateSelectSheet from '@/components/relate-select/index.vue' |
| 197 | 195 | import ProductRel from './productRel.vue' |
| 198 | -import CitySelector from '@/components/city-selector/index.vue' | |
| 199 | 196 | import { getContractApi, updateContractApi } from '@/api/contract' |
| 200 | 197 | import { getDicByCodes } from '@/utils/dic' |
| 201 | 198 | import { formatCurrencyToChinese } from '@/utils/common' |
| ... | ... | @@ -204,7 +201,7 @@ import { getArea } from '@/api/credit_manage.js' |
| 204 | 201 | |
| 205 | 202 | export default { |
| 206 | 203 | name: 'ModifyContractProcess', |
| 207 | - components: { SingleSelectSheet, RelateSelectSheet, ProductRel, CitySelector }, | |
| 204 | + components: { SingleSelectSheet, RelateSelectSheet, ProductRel }, | |
| 208 | 205 | data() { |
| 209 | 206 | return { |
| 210 | 207 | id: '', |
| ... | ... | @@ -241,8 +238,7 @@ export default { |
| 241 | 238 | packagingRequirements: '', |
| 242 | 239 | paymentTerms: '', |
| 243 | 240 | transportMode: '', |
| 244 | - destinationId: [], | |
| 245 | - destinationLabel: '', | |
| 241 | + foreignDestination: '', | |
| 246 | 242 | specialInstructions: '', |
| 247 | 243 | remarks: '', |
| 248 | 244 | pieceWeightHead: '', |
| ... | ... | @@ -278,11 +274,6 @@ export default { |
| 278 | 274 | this.loadExtraOptions() |
| 279 | 275 | this.loadRegionOptions() |
| 280 | 276 | this.loadDetail() |
| 281 | - this.$nextTick(() => { | |
| 282 | - if (Array.isArray(this.form.destinationId) && this.form.destinationId.length) { | |
| 283 | - this.initDestinationLabel() | |
| 284 | - } | |
| 285 | - }) | |
| 286 | 277 | }, |
| 287 | 278 | methods: { |
| 288 | 279 | async loadRegionOptions() { |
| ... | ... | @@ -329,8 +320,7 @@ export default { |
| 329 | 320 | packagingRequirements: m.packagingRequirements || '', |
| 330 | 321 | paymentTerms: m.paymentTerms || '', |
| 331 | 322 | transportMode: m.transportMode || '', |
| 332 | - destinationId: (m.provinceId && m.cityId && m.districtId) ? [m.provinceId, m.cityId, m.districtId] : (Array.isArray(m.destinationId) ? m.destinationId : []), | |
| 333 | - destinationLabel: (m.provinceName && m.cityName && m.districtName) ? `${m.provinceName} / ${m.cityName} / ${m.districtName}` : (m.destinationLabel || ''), | |
| 323 | + foreignDestination: (m.foreignDestination || ''), | |
| 334 | 324 | specialInstructions: m.specialInstructions || '', |
| 335 | 325 | remarks: m.remarks || '', |
| 336 | 326 | pieceWeightHead: m.pieceWeightHead || '', |
| ... | ... | @@ -351,20 +341,6 @@ export default { |
| 351 | 341 | this.onProductsChange(lines) |
| 352 | 342 | } catch (e) { } |
| 353 | 343 | }, |
| 354 | - async initDestinationLabel() { | |
| 355 | - const comp = this.$refs.citySelectorRef | |
| 356 | - if (comp && typeof comp.getLabel === 'function') { | |
| 357 | - const label = await comp.getLabel() | |
| 358 | - this.form.destinationLabel = label || '' | |
| 359 | - } | |
| 360 | - }, | |
| 361 | - openCitySelector() { | |
| 362 | - this.$refs.citySelectorRef && this.$refs.citySelectorRef.open() | |
| 363 | - }, | |
| 364 | - onCityChange(payload) { | |
| 365 | - const label = payload && payload.label != null ? payload.label : '' | |
| 366 | - this.form.destinationLabel = label | |
| 367 | - }, | |
| 368 | 344 | onProductsChange(products) { |
| 369 | 345 | const list = Array.isArray(products) ? products : [] |
| 370 | 346 | this.newProductLineList = list |
| ... | ... | @@ -511,7 +487,6 @@ export default { |
| 511 | 487 | return true |
| 512 | 488 | }, |
| 513 | 489 | async onSubmit() { |
| 514 | - console.log('onSubmit__payload', payload) | |
| 515 | 490 | if (!this.validateRequired()) return |
| 516 | 491 | const confirmRes = await new Promise(resolve => { |
| 517 | 492 | uni.showModal({ title: '提示', content: '确定保存当前加工标准合同吗?', confirmText: '确定', cancelText: '取消', success: resolve }) |
| ... | ... | @@ -529,12 +504,9 @@ export default { |
| 529 | 504 | return out |
| 530 | 505 | } |
| 531 | 506 | const lines = (this.newProductLineList || []).map(it => clean(it)) |
| 532 | - const { destinationLabel, destinationId, ...formForSubmit } = this.form; | |
| 533 | - const destination = destinationId && destinationId.length > 0 ? destinationId[destinationId.length - 1] : ''; | |
| 534 | 507 | const payload = clean({ |
| 535 | - ...formForSubmit, | |
| 508 | + ...this.form, | |
| 536 | 509 | id: this.form.id, |
| 537 | - destination, | |
| 538 | 510 | type: 'PROCESS_STD_AGMT', |
| 539 | 511 | sumQuantity: this.sumQuantity, |
| 540 | 512 | sumAmountExcl: this.sumAmountExcl, |
| ... | ... | @@ -792,4 +764,4 @@ export default { |
| 792 | 764 | } |
| 793 | 765 | } |
| 794 | 766 | |
| 795 | -</style> | |
| \ No newline at end of file | ||
| 767 | +</style> | ... | ... |
| ... | ... | @@ -29,7 +29,7 @@ |
| 29 | 29 | '-' }}</text></view> |
| 30 | 30 | <view class="row"><text class="label">运输方式</text><text class="value">{{ detail.transportMode || '-' |
| 31 | 31 | }}</text></view> |
| 32 | - <view class="row"><text class="label">目的地</text><text class="value">{{ detail.destinationLabel || '-' | |
| 32 | + <view class="row"><text class="label">目的地</text><text class="value">{{ detail.foreignDestination || '-' | |
| 33 | 33 | }}</text></view> |
| 34 | 34 | <view class="row"><text class="label">单价中是否已包含包装费</text><text class="value">{{ |
| 35 | 35 | detail.includesPackagingFeeName || '-' }}</text></view> |
| ... | ... | @@ -120,8 +120,7 @@ export default { |
| 120 | 120 | packagingRequirements: '', |
| 121 | 121 | paymentTerms: '', |
| 122 | 122 | transportMode: '', |
| 123 | - destinationId: '', | |
| 124 | - destinationLabel: '', | |
| 123 | + foreignDestination: '', | |
| 125 | 124 | specialInstructions: '', |
| 126 | 125 | remarks: '', |
| 127 | 126 | pieceWeightHead: '', |
| ... | ... | @@ -155,8 +154,7 @@ export default { |
| 155 | 154 | ...this.detail, |
| 156 | 155 | ...data, |
| 157 | 156 | includesPackagingFeeName, includesTransportFeeName, |
| 158 | - destinationId: data.provinceId && data.cityId && data.districtId ? [data.provinceId, data.cityId, data.districtId] : '', | |
| 159 | - destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '', | |
| 157 | + foreignDestination: (data.foreignDestination || ''), | |
| 160 | 158 | } |
| 161 | 159 | const lines = Array.isArray(data.contractStdProcessingLineList) ? data.contractStdProcessingLineList : [] |
| 162 | 160 | this.productList = lines |
| ... | ... | @@ -280,4 +278,4 @@ export default { |
| 280 | 278 | color: rgba(0, 0, 0, 0.6); |
| 281 | 279 | font-size: 32rpx; |
| 282 | 280 | } |
| 283 | -</style> | |
| \ No newline at end of file | ||
| 281 | +</style> | ... | ... |
| ... | ... | @@ -70,11 +70,9 @@ |
| 70 | 70 | <uni-easyinput v-model="form.transportMode" placeholder="请输入运输方式" :inputBorder="false" /> |
| 71 | 71 | </template> |
| 72 | 72 | </uni-list-item> |
| 73 | - <uni-list-item class="select-item" :class="(Array.isArray(form.destinationId) && form.destinationId.length) ? 'is-filled' : 'is-empty'" clickable | |
| 74 | - @click="openCitySelector" :rightText="form.destinationLabel || '请选择'" showArrow> | |
| 75 | - <template v-slot:body> | |
| 76 | - <view class="item-title"><text>目的地</text></view> | |
| 77 | - <CitySelector ref="citySelectorRef" v-model="form.destinationId" @change="onCityChange" /> | |
| 73 | + <uni-list-item title="目的地"> | |
| 74 | + <template v-slot:footer> | |
| 75 | + <uni-easyinput v-model="form.foreignDestination" placeholder="请输入目的地" :inputBorder="false" /> | |
| 78 | 76 | </template> |
| 79 | 77 | </uni-list-item> |
| 80 | 78 | |
| ... | ... | @@ -206,7 +204,6 @@ |
| 206 | 204 | import SingleSelectSheet from '@/components/single-select/index.vue' |
| 207 | 205 | import RelateSelectSheet from '@/components/relate-select/index.vue' |
| 208 | 206 | import ProductRel from './productRel.vue' |
| 209 | -import CitySelector from '@/components/city-selector/index.vue' | |
| 210 | 207 | import FileUpload from '@/components/file-upload/index.vue' |
| 211 | 208 | import { getContractApi, uploadStandardContract } from '@/api/contract' |
| 212 | 209 | import { getDicByCodes } from '@/utils/dic' |
| ... | ... | @@ -216,7 +213,7 @@ import { getArea } from '@/api/credit_manage.js' |
| 216 | 213 | |
| 217 | 214 | export default { |
| 218 | 215 | name: 'UploadStandardContractProcess', |
| 219 | - components: { SingleSelectSheet, RelateSelectSheet, ProductRel, CitySelector, FileUpload }, | |
| 216 | + components: { SingleSelectSheet, RelateSelectSheet, ProductRel, FileUpload }, | |
| 220 | 217 | data() { |
| 221 | 218 | return { |
| 222 | 219 | id: '', |
| ... | ... | @@ -253,8 +250,7 @@ export default { |
| 253 | 250 | packagingRequirements: '', |
| 254 | 251 | paymentTerms: '', |
| 255 | 252 | transportMode: '', |
| 256 | - destinationId: [], | |
| 257 | - destinationLabel: '', | |
| 253 | + foreignDestination: '', | |
| 258 | 254 | specialInstructions: '', |
| 259 | 255 | remarks: '', |
| 260 | 256 | pieceWeightHead: '', |
| ... | ... | @@ -293,11 +289,6 @@ export default { |
| 293 | 289 | this.loadExtraOptions() |
| 294 | 290 | this.loadRegionOptions() |
| 295 | 291 | this.loadDetail() |
| 296 | - this.$nextTick(() => { | |
| 297 | - if (Array.isArray(this.form.destinationId) && this.form.destinationId.length) { | |
| 298 | - this.initDestinationLabel() | |
| 299 | - } | |
| 300 | - }) | |
| 301 | 292 | }, |
| 302 | 293 | methods: { |
| 303 | 294 | async loadRegionOptions() { |
| ... | ... | @@ -344,8 +335,7 @@ export default { |
| 344 | 335 | packagingRequirements: m.packagingRequirements || '', |
| 345 | 336 | paymentTerms: m.paymentTerms || '', |
| 346 | 337 | transportMode: m.transportMode || '', |
| 347 | - destinationId: (m.provinceId && m.cityId && m.districtId) ? [m.provinceId, m.cityId, m.districtId] : (Array.isArray(m.destinationId) ? m.destinationId : []), | |
| 348 | - destinationLabel: (m.provinceName && m.cityName && m.districtName) ? `${m.provinceName} / ${m.cityName} / ${m.districtName}` : (m.destinationLabel || ''), | |
| 338 | + foreignDestination: (m.foreignDestination || ''), | |
| 349 | 339 | specialInstructions: m.specialInstructions || '', |
| 350 | 340 | remarks: m.remarks || '', |
| 351 | 341 | pieceWeightHead: m.pieceWeightHead || '', |
| ... | ... | @@ -372,20 +362,6 @@ export default { |
| 372 | 362 | this.onProductsChange(lines) |
| 373 | 363 | } catch (e) { } |
| 374 | 364 | }, |
| 375 | - async initDestinationLabel() { | |
| 376 | - const comp = this.$refs.citySelectorRef | |
| 377 | - if (comp && typeof comp.getLabel === 'function') { | |
| 378 | - const label = await comp.getLabel() | |
| 379 | - this.form.destinationLabel = label || '' | |
| 380 | - } | |
| 381 | - }, | |
| 382 | - openCitySelector() { | |
| 383 | - this.$refs.citySelectorRef && this.$refs.citySelectorRef.open() | |
| 384 | - }, | |
| 385 | - onCityChange(payload) { | |
| 386 | - const label = payload && payload.label != null ? payload.label : '' | |
| 387 | - this.form.destinationLabel = label | |
| 388 | - }, | |
| 389 | 365 | onProductsChange(products) { |
| 390 | 366 | const list = Array.isArray(products) ? products : [] |
| 391 | 367 | this.newProductLineList = list |
| ... | ... | @@ -569,12 +545,9 @@ export default { |
| 569 | 545 | return out |
| 570 | 546 | } |
| 571 | 547 | const lines = (this.newProductLineList || []).map(it => clean(it)) |
| 572 | - const { destinationLabel, destinationId, ...formForSubmit } = this.form; | |
| 573 | - const destination = destinationId && destinationId.length > 0 ? destinationId[destinationId.length - 1] : ''; | |
| 574 | 548 | const payload = clean({ |
| 575 | - ...formForSubmit, | |
| 549 | + ...this.form, | |
| 576 | 550 | id: this.form.id, |
| 577 | - destination, | |
| 578 | 551 | type: 'PROCESS_STD_AGMT', |
| 579 | 552 | sumQuantity: this.totalQuantity, |
| 580 | 553 | sumAmountExcl: this.totalAmountExcludingTax, | ... | ... |