From 8ec96f7111eaa5db81fe405ac11eba78b72e9098 Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Mon, 22 Jun 2026 10:41:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=8C=B9=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/modules/ecss/createDeclaration.vue | 16 ++++++- src/views/modules/ecss/declaration.vue | 44 +++++++++++++++++++- 2 files changed, 58 insertions(+), 2 deletions(-) diff --git a/src/views/modules/ecss/createDeclaration.vue b/src/views/modules/ecss/createDeclaration.vue index 46ca30c..c383c1f 100644 --- a/src/views/modules/ecss/createDeclaration.vue +++ b/src/views/modules/ecss/createDeclaration.vue @@ -471,7 +471,11 @@ label="境内货源地" min-width="100"> { + if (rowIndex > 0) { + this.$set(item, 'sourceArea', value) + } + }) + }, declarationModel(row){ let indata=JSON.parse(JSON.stringify(row)); if (row.notifyDate==='发货日期不确定') { diff --git a/src/views/modules/ecss/declaration.vue b/src/views/modules/ecss/declaration.vue index e8e34ee..71dd108 100644 --- a/src/views/modules/ecss/declaration.vue +++ b/src/views/modules/ecss/declaration.vue @@ -2385,6 +2385,38 @@ this.exportGoods.pickupAddress = '' } }, + isHardtagOrAlphaBu() { + if (!this.currentRow || !this.currentRow.buNo) { + return false + } + return ['02-Hardtag', '05-Alpha'].includes(this.currentRow.buNo) + }, + getPickupKeywordBySourceArea() { + const detailList = Array.isArray(this.dataList2) ? this.dataList2 : [] + const sourceArea = detailList + .map(item => item && item.sourceArea ? String(item.sourceArea).trim() : '') + .find(text => !!text) + if (!sourceArea) { + return '南通' + } + if (sourceArea.indexOf('嘉定') > -1) { + return '嘉定' + } + if (sourceArea.indexOf('昆山') > -1) { + return '昆山' + } + return '南通' + }, + getMatchedPickupByKeyword(keyword) { + if (!keyword || !Array.isArray(this.pickupAddressList)) { + return null + } + return this.pickupAddressList.find(item => { + const company = item && item.company ? String(item.company) : '' + const address = item && item.address ? String(item.address) : '' + return company.indexOf(keyword) > -1 || address.indexOf(keyword) > -1 + }) || null + }, loadPickupAddressList(buNo) { this.pickupAddressList = [] this.exportGoods.pickupAddressValue = '' @@ -2417,7 +2449,17 @@ } }) this.pickupAddressList = Object.keys(uniqMap).map(key => uniqMap[key]) - const defaultItem = this.pickupAddressList.find(item => item.defaultOption === 'Y') + let defaultItem = null + if (this.isHardtagOrAlphaBu()) { + const pickupKeyword = this.getPickupKeywordBySourceArea() + defaultItem = this.getMatchedPickupByKeyword(pickupKeyword) + } + if (!defaultItem) { + defaultItem = this.pickupAddressList.find(item => item.defaultOption === 'Y') + } + if (!defaultItem && this.pickupAddressList.length > 0) { + defaultItem = this.pickupAddressList[0] + } if (defaultItem) { this.exportGoods.pickupAddressValue = defaultItem.valueKey this.handlePickupAddressChange(defaultItem.valueKey)