From 5c43a820aa78f640cb5a802dd466b1b0f78b62b5 Mon Sep 17 00:00:00 2001 From: liuyihe <2513762445@qq.com> Date: Fri, 16 Oct 2026 16:19:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 2 +- src/api/warehouse-transfers.js | 4 + src/components/CartonCountFields.vue | 15 +- .../warehouse-transfer/warehouse-transfer.vue | 197 ++++++++++++++---- tests/warehouse-transfer-api.test.mjs | 8 +- tests/warehouse-transfer-counting.test.mjs | 136 +++++++++++- .../warehouse-transfer-mixed-cartons.test.mjs | 6 +- 7 files changed, 312 insertions(+), 56 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index ea0a386..f3207ef 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -61,7 +61,7 @@ ## 海外业务接口边界 -- 仓储转运按托盘分别保存箱数、长宽高(cm)和毛重(kg),体积按本托尺寸计算;短收/超收仅展示差异,不以预报箱数强制核平。生成托盘号后锁定该卡测量数据,必须取得服务端绑定确认且至少有一张现场照片才能完成打托;完成请求只提交稳定幂等键和照片文件 ID,不重复提交整份托盘测量。重新进入从详情恢复托盘和鉴权照片;标签使用服务端 `labelDownloadPath` 下载 PDF,打开文档不等于真机打印完成。 +- 仓储转运按托盘分别保存箱数、长宽高(cm)和毛重(kg),体积按本托尺寸计算;SKU件数逐种核对差异,不以预报箱数强制核平。箱唛沿用客户预报编号,PDA不得另造新箱号;测量完成前客户可增加预报箱数,PDA刷新时合并新箱并保留本机草稿,清点提交携带forecastPackageCount拦截旧快照。生成托盘号后锁定该卡测量数据,必须取得服务端绑定确认且至少有一张现场照片才能完成打托;完成请求提交稳定幂等键、照片文件 ID,SKU实收件数有差异时在完成入口弹窗必填差异原因,不重复提交整份托盘测量。重新进入从详情恢复托盘和鉴权照片;标签使用服务端 `labelDownloadPath` 下载 PDF,打开文档不等于真机打印完成。 - 换标目标确认即提交拆托合托,不再二次点击底部提交。`RelabelPalletWork.vue` 按当前轮次 `PALLET_BIND` 最新记录提供逐箱改绑,扫描新目标后弹窗确认,使用既有 `relabel-disassemble` 精确来源路径(不传 `actualSource`);同目标不发写请求。服务器持有库存、托盘版本与幂等约束,已排车或出库禁止直接改绑。离线回归 `tests/relabel-pallet-work.test.mjs`,不等同真机验收。 diff --git a/src/api/warehouse-transfers.js b/src/api/warehouse-transfers.js index 764ccc9..156b48d 100644 --- a/src/api/warehouse-transfers.js +++ b/src/api/warehouse-transfers.js @@ -54,6 +54,10 @@ export function countWarehouseTransferCartons(transferNo, payload) { return overseasRequest('POST', `${BASE}/${encoded(transferNo)}/cartons/count`, payload) } +export function reopenWarehouseTransferMeasurement(transferNo) { + return overseasRequest('POST', `${BASE}/${encoded(transferNo)}/cartons/reopen`) +} + export function getWarehouseTransferCartonLabel(transferNo) { return overseasRequest('GET', `${BASE}/${encoded(transferNo)}/carton-label`) } diff --git a/src/components/CartonCountFields.vue b/src/components/CartonCountFields.vue index f3796da..481b29b 100644 --- a/src/components/CartonCountFields.vue +++ b/src/components/CartonCountFields.vue @@ -1,12 +1,17 @@ - + +.compact-measure .count-line{padding-top:8px;border-top:1px solid #edf1f6}.compact-measure .sku-picker{line-height:18px}.compact-measure .quantity{width:76px;font-weight:600;background:#fff}.compact-measure .measure-grid{gap:10px}.compact-measure .measure-input{height:38px;background:#f8fafd}.compact-measure .volume-chip{margin:8px 0;padding:6px 10px;border-radius:7px;background:#f4f8ff}.compact-measure .volume-chip strong{font-size:13px} diff --git a/src/pages/warehouse-transfer/warehouse-transfer.vue b/src/pages/warehouse-transfer/warehouse-transfer.vue index ead8f28..64deff4 100644 --- a/src/pages/warehouse-transfer/warehouse-transfer.vue +++ b/src/pages/warehouse-transfer/warehouse-transfer.vue @@ -3,7 +3,7 @@ - + @@ -29,21 +29,23 @@ 该转运单已完成 PDA 测量,不再重复进入测量或托盘作业。 该单来源于仓库现有库存,不需要重复测量或上传现场照片。请进入托盘作业,按来源托盘执行整托转运、拆托重打,或与相同目的仓合托。