From f7f7ffdcf36f6126ac92f2252d39b28fc69f16ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Fri, 23 Oct 2026 17:09:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E7=AD=BE=E5=8C=B9=E9=85=8D=E8=A7=84?= =?UTF-8?q?=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../noOrderIssue/noOrderNotification54.vue | 29 +++++++++++++++-- .../poOrder/searchPoIssureNotify54.vue | 31 +++++++++++++++++-- .../shipment/shipmentNotification54.vue | 31 +++++++++++++++++-- .../searchIssureNotify54.vue | 31 +++++++++++++++++-- 4 files changed, 111 insertions(+), 11 deletions(-) diff --git a/src/views/modules/haianWarehouse/noOrderIssue/noOrderNotification54.vue b/src/views/modules/haianWarehouse/noOrderIssue/noOrderNotification54.vue index 3d59fda..8710e62 100644 --- a/src/views/modules/haianWarehouse/noOrderIssue/noOrderNotification54.vue +++ b/src/views/modules/haianWarehouse/noOrderIssue/noOrderNotification54.vue @@ -610,6 +610,7 @@ import { haiAnDeleteUnpushedNotify } from '@/api/haianWarehouse/noOrderIssueNotify.js' import { showHaianWcsPushResult } from '@/utils/haianWcsPushResult' +import { haiAnGetAreaList } from '@/api/haianWarehouse/warehousePallet.js' import { getTableDefaultListLanguage, getTableUserListLanguage, @@ -1665,6 +1666,8 @@ export default { } // 海安页面补充subSite列:已申请物料与预定标签清单在序号后展示子站点 - rqrq this.haiAnEnsureSubSiteColumns() + // 推送弹窗单据目的地按haian_area名称展示,进入页面先加载区域清单 - rqrq + this.loadHaianAreaOptions(this.$store.state.user.site) }, computed: { @@ -2674,6 +2677,8 @@ export default { this.currentNotifyRow = JSON.parse(JSON.stringify(row)) this.currentProductionArea = row.productionArea || '' this.originalProductionArea = this.currentProductionArea + // 打开推送预览时按单据site再拉一次区域,避免名称映射为空回退成A10编码 - rqrq + this.loadHaianAreaOptions(row.site || this.$store.state.user.site) this.currentOrderType = row.orderType || 'noorder' this.isDestinationEditable = false this.previewData = [] @@ -2749,11 +2754,31 @@ export default { */ getAreaDisplayText(areaId) { if (!areaId) return '未设置' - const area = this.areaOptions.find(item => item.areaId === areaId) + const code = String(areaId).trim() + const area = (this.areaOptions || []).find(item => String(item.areaId || '').trim() === code) if (area && area.areaDesc) { return area.areaDesc } - return areaId + return code + }, + /** + * 按工厂加载haian_area,目的地下拉和推送展示共用名称;保存仍提交areaId - rqrq + */ + loadHaianAreaOptions(site) { + const querySite = site || this.$store.state.user.site + if (!querySite) { + this.areaOptions = [] + return + } + haiAnGetAreaList({ site: querySite }).then(({ data }) => { + if (data && data.code === 0) { + this.areaOptions = data.rows || [] + return + } + this.areaOptions = [] + }).catch(() => { + this.areaOptions = [] + }) }, /** diff --git a/src/views/modules/haianWarehouse/poOrder/searchPoIssureNotify54.vue b/src/views/modules/haianWarehouse/poOrder/searchPoIssureNotify54.vue index fbafe09..b0bcbab 100644 --- a/src/views/modules/haianWarehouse/poOrder/searchPoIssureNotify54.vue +++ b/src/views/modules/haianWarehouse/poOrder/searchPoIssureNotify54.vue @@ -698,6 +698,7 @@ import { getNoOrderMaterialAllocListByNotifyNo } from '@/api/haianWarehouse/poOrderIssueNotify.js' import { showHaianWcsPushResult } from '@/utils/haianWcsPushResult' +import { haiAnGetAreaList } from '@/api/haianWarehouse/warehousePallet.js' export default { name: 'searchPoIssureNotify54', @@ -1658,6 +1659,8 @@ export default { this.searchTable() // 补充海安标签扩展列,确保预定标签页签能展示海安增强字段 - rqrq this.haiAnEnsureLabelColumns() + // 推送弹窗单据目的地按haian_area名称展示,进入页面先加载区域清单 - rqrq + this.loadHaianAreaOptions(this.$store.state.user.site) }, computed: { /** @@ -2458,6 +2461,8 @@ export default { this.currentRow = row this.currentNotifyRow = JSON.parse(JSON.stringify(row)) this.currentProductionArea = row.productionArea || '' + // 打开推送预览时按单据site再拉一次区域,避免名称映射为空回退成A10编码 - rqrq + this.loadHaianAreaOptions(row.site || this.$store.state.user.site) this.previewData = [] this.previewSummary = { totalOrderCount: 0, @@ -2523,15 +2528,35 @@ export default { } }, /** - * 目的地只展示haian_area名称,没有名称时回退编码,避免页面露出A01这类编码 - rqrq + * 目的地只展示haian_area名称,没有名称时回退编码,避免页面露出A10这类编码 - rqrq */ getAreaDisplayText(areaId) { if (!areaId) return '未设置' - const area = (this.areaOptions || []).find(item => item.areaId === areaId) + const code = String(areaId).trim() + const area = (this.areaOptions || []).find(item => String(item.areaId || '').trim() === code) if (area && area.areaDesc) { return area.areaDesc } - return areaId + return code + }, + /** + * 按工厂加载haian_area,推送目的地展示用名称;提交值仍是areaId - rqrq + */ + loadHaianAreaOptions(site) { + const querySite = site || this.$store.state.user.site + if (!querySite) { + this.areaOptions = [] + return + } + haiAnGetAreaList({ site: querySite }).then(({ data }) => { + if (data && data.code === 0) { + this.areaOptions = data.rows || [] + return + } + this.areaOptions = [] + }).catch(() => { + this.areaOptions = [] + }) }, /** * 根据物料或指定明细自身的匹配结果设置颜色,失败统一标红 - rqrq diff --git a/src/views/modules/haianWarehouse/shipment/shipmentNotification54.vue b/src/views/modules/haianWarehouse/shipment/shipmentNotification54.vue index a167511..aa4fe4b 100644 --- a/src/views/modules/haianWarehouse/shipment/shipmentNotification54.vue +++ b/src/views/modules/haianWarehouse/shipment/shipmentNotification54.vue @@ -698,6 +698,7 @@ import { getNoOrderMaterialAllocListByNotifyNo } from '@/api/haianWarehouse/shipmentIssue.js' import { showHaianWcsPushResult } from '@/utils/haianWcsPushResult' +import { haiAnGetAreaList } from '@/api/haianWarehouse/warehousePallet.js' export default { name: 'shipmentNotification54', @@ -1658,6 +1659,8 @@ export default { this.searchTable() // 补充海安标签扩展列,确保预定标签页签能展示海安增强字段 - rqrq this.haiAnEnsureLabelColumns() + // 推送弹窗单据目的地按haian_area名称展示,进入页面先加载区域清单 - rqrq + this.loadHaianAreaOptions(this.$store.state.user.site) }, computed: { /** @@ -2458,6 +2461,8 @@ export default { this.currentRow = row this.currentNotifyRow = JSON.parse(JSON.stringify(row)) this.currentProductionArea = row.productionArea || '' + // 打开推送预览时按单据site再拉一次区域,避免名称映射为空回退成A10编码 - rqrq + this.loadHaianAreaOptions(row.site || this.$store.state.user.site) this.previewData = [] this.previewSummary = { totalOrderCount: 0, @@ -2523,15 +2528,35 @@ export default { } }, /** - * 目的地只展示haian_area名称,没有名称时回退编码,避免页面露出A01这类编码 - rqrq + * 目的地只展示haian_area名称,没有名称时回退编码,避免页面露出A10这类编码 - rqrq */ getAreaDisplayText(areaId) { if (!areaId) return '未设置' - const area = (this.areaOptions || []).find(item => item.areaId === areaId) + const code = String(areaId).trim() + const area = (this.areaOptions || []).find(item => String(item.areaId || '').trim() === code) if (area && area.areaDesc) { return area.areaDesc } - return areaId + return code + }, + /** + * 按工厂加载haian_area,推送目的地展示用名称;提交值仍是areaId - rqrq + */ + loadHaianAreaOptions(site) { + const querySite = site || this.$store.state.user.site + if (!querySite) { + this.areaOptions = [] + return + } + haiAnGetAreaList({ site: querySite }).then(({ data }) => { + if (data && data.code === 0) { + this.areaOptions = data.rows || [] + return + } + this.areaOptions = [] + }).catch(() => { + this.areaOptions = [] + }) }, /** * 根据物料或指定明细自身的匹配结果设置颜色,失败统一标红 - rqrq diff --git a/src/views/modules/haianWarehouse/shopOrderIssueNotify/searchIssureNotify54.vue b/src/views/modules/haianWarehouse/shopOrderIssueNotify/searchIssureNotify54.vue index 2b4c674..181d68d 100644 --- a/src/views/modules/haianWarehouse/shopOrderIssueNotify/searchIssureNotify54.vue +++ b/src/views/modules/haianWarehouse/shopOrderIssueNotify/searchIssureNotify54.vue @@ -698,6 +698,7 @@ import { getNoOrderMaterialAllocListByNotifyNo } from '@/api/haianWarehouse/searchIssureNotify.js' import { showHaianWcsPushResult } from '@/utils/haianWcsPushResult' +import { haiAnGetAreaList } from '@/api/haianWarehouse/warehousePallet.js' export default { name: 'searchIssureNotify54', @@ -1658,6 +1659,8 @@ export default { this.searchTable() // 补充海安标签扩展列,确保预定标签页签能展示海安增强字段 - rqrq this.haiAnEnsureLabelColumns() + // 推送弹窗单据目的地按haian_area名称展示,进入页面先加载区域清单 - rqrq + this.loadHaianAreaOptions(this.$store.state.user.site) }, computed: { /** @@ -2458,6 +2461,8 @@ export default { this.currentRow = row this.currentNotifyRow = JSON.parse(JSON.stringify(row)) this.currentProductionArea = row.productionArea || '' + // 打开推送预览时按单据site再拉一次区域,避免名称映射为空回退成A10编码 - rqrq + this.loadHaianAreaOptions(row.site || this.$store.state.user.site) this.previewData = [] this.previewSummary = { totalOrderCount: 0, @@ -2523,15 +2528,35 @@ export default { } }, /** - * 目的地只展示haian_area名称,没有名称时回退编码,避免页面露出A01这类编码 - rqrq + * 目的地只展示haian_area名称,没有名称时回退编码,避免页面露出A10这类编码 - rqrq */ getAreaDisplayText(areaId) { if (!areaId) return '未设置' - const area = (this.areaOptions || []).find(item => item.areaId === areaId) + const code = String(areaId).trim() + const area = (this.areaOptions || []).find(item => String(item.areaId || '').trim() === code) if (area && area.areaDesc) { return area.areaDesc } - return areaId + return code + }, + /** + * 按工厂加载haian_area,下拉和推送目的地展示共用;提交值仍是areaId - rqrq + */ + loadHaianAreaOptions(site) { + const querySite = site || this.$store.state.user.site + if (!querySite) { + this.areaOptions = [] + return + } + haiAnGetAreaList({ site: querySite }).then(({ data }) => { + if (data && data.code === 0) { + this.areaOptions = data.rows || [] + return + } + this.areaOptions = [] + }).catch(() => { + this.areaOptions = [] + }) }, /** * 根据物料或指定明细自身的匹配结果设置颜色,失败统一标红 - rqrq