From e1e49c981a17c9e615304177f583103ff5e6d4de 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: Thu, 15 Jan 2026 13:53:18 +0800 Subject: [PATCH] =?UTF-8?q?feat(noOrderIssue):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=9B=AE=E7=9A=84=E5=9C=B0=E9=80=89=E6=8B=A9=E5=92=8C=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E4=BF=9D=E5=AD=98=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在无订单通知界面添加目的地下拉选择组件 - 实现目的地修改后的自动保存功能 - 添加三个新的API接口用于更新目的地、获取明细信息和区域选项 - 在预览对话框打开时并行加载库存数据、明细信息和区域下拉框数据 - 实现目的地编辑权限控制(仅shoporder类型可编辑) - 添加目的地更新状态提示和错误处理机制 - 实现推送WCS前的目的地保存状态检查 --- src/api/orderIssure/noOrderIssueNotify.js | 13 +- .../automatedWarehouse/palletMergeQuery.vue | 61 +++++- .../automatedWarehouse/sopManagement.vue | 188 ++++++++---------- .../noOrderIssue/noOrderNotification.vue | 133 ++++++++++++- 4 files changed, 283 insertions(+), 112 deletions(-) diff --git a/src/api/orderIssure/noOrderIssueNotify.js b/src/api/orderIssure/noOrderIssueNotify.js index bc8e76c..d08046f 100644 --- a/src/api/orderIssure/noOrderIssueNotify.js +++ b/src/api/orderIssure/noOrderIssueNotify.js @@ -14,4 +14,15 @@ export const queryPartAttributeData = data => createAPI(`/factory/partAttribute/ export const uploadNoorderNotifyExcel = data => createAPI(`/orderIssure/issureNotify/uploadNoorderNotifyExcel`,'post',data) // 上传报废Excel并查询库存信息 - rqrq -export const uploadBaoFeiExcel = data => createAPI(`/orderIssure/issureNotify/uploadBaoFeiExcel`,'post',data) \ No newline at end of file +export const uploadBaoFeiExcel = data => createAPI(`/orderIssure/issureNotify/uploadBaoFeiExcel`,'post',data) + +// ==================== 推送WCS相关 - rqrq ==================== + +// 更新申请单明细的目的地 - rqrq +export const updateProductionArea = data => createAPI(`/orderIssure/issureNotify/updateProductionArea`,'post',data) + +// 获取第一条申请单明细的信息 - rqrq +export const getFirstOrderListDetail = data => createAPI(`/orderIssure/issureNotify/getFirstOrderListDetail`,'post',data) + +// 获取可选区域列表(用于目的地下拉框)- rqrq +export const getAreaOptionsForChange = data => createAPI(`/wcsIntegration/getAreaOptionsForChange`,'post',data) \ No newline at end of file diff --git a/src/views/modules/automatedWarehouse/palletMergeQuery.vue b/src/views/modules/automatedWarehouse/palletMergeQuery.vue index a741292..31c910c 100644 --- a/src/views/modules/automatedWarehouse/palletMergeQuery.vue +++ b/src/views/modules/automatedWarehouse/palletMergeQuery.vue @@ -18,6 +18,15 @@ + + + + + 查询 @@ -74,6 +83,17 @@ + + + + @@ -93,9 +113,16 @@ export default { submitLoading: false, selectedRows: [], palletTypeOptions: [], + // 分页参数 - rqrq + pageIndex: 1, + pageSize: 20, + totalPage: 0, searchData: { site: this.$store.state.user.site || '55', - palletType: '' + palletType: '', + maxPositionCount: null, // 最大已用数量 - rqrq + page: 1, + limit: 20 }, // 表格列配置 - rqrq columnList: [ @@ -236,6 +263,8 @@ export default { handlePalletTypeChange() { this.dataList = [] this.selectedRows = [] + this.totalPage = 0 + this.pageIndex = 1 if (this.$refs.mainTable) { this.$refs.mainTable.clearSelection() } @@ -254,10 +283,24 @@ export default { this.$refs.mainTable.clearSelection() } + // 设置分页参数 - rqrq + this.searchData.page = this.pageIndex + this.searchData.limit = this.pageSize + searchPalletMergeList(this.searchData).then(({ data }) => { this.dataListLoading = false if (data && data.code == 0) { - this.dataList = data.rows || [] + // 支持分页返回格式 - rqrq + if (data.page) { + this.dataList = data.page.list || [] + this.pageIndex = data.page.currPage + this.pageSize = data.page.pageSize + this.totalPage = data.page.totalCount + } else { + // 兼容旧的非分页返回格式 - rqrq + this.dataList = data.rows || [] + this.totalPage = this.dataList.length + } if (this.dataList.length === 0) { this.$message({ message: '没有找到需要合托的托盘', @@ -267,14 +310,27 @@ export default { } } else { this.dataList = [] + this.totalPage = 0 this.$alert(data.msg || '查询失败', '错误', { confirmButtonText: '确定' }) } }).catch(() => { this.dataListLoading = false this.dataList = [] + this.totalPage = 0 this.$message.error('查询失败') }) }, + // 每页条数变化 - rqrq + sizeChangeHandle(val) { + this.pageSize = val + this.pageIndex = 1 + this.searchTable() + }, + // 当前页变化 - rqrq + currentChangeHandle(val) { + this.pageIndex = val + this.searchTable() + }, // 行点击选中/取消选中 - rqrq handleRowClick(row) { this.$refs.mainTable.toggleRowSelection(row) @@ -341,4 +397,3 @@ export default { margin-right: 4px; } - diff --git a/src/views/modules/automatedWarehouse/sopManagement.vue b/src/views/modules/automatedWarehouse/sopManagement.vue index b62c81a..66f8367 100644 --- a/src/views/modules/automatedWarehouse/sopManagement.vue +++ b/src/views/modules/automatedWarehouse/sopManagement.vue @@ -4,10 +4,10 @@ - - - @@ -50,31 +50,6 @@ - - - - - - - - - - - - - - - - @@ -86,14 +61,14 @@ -
+
{{ currentUrlConfig.platform }} - + {{ currentUrlConfig.moduleName }} - {{ currentUrlConfig.pageName }}
@@ -108,7 +83,7 @@ highlight-current-row v-loading="dataListLoading" style="width: 100%;"> - +