供应商端 · 质检配货页

配货管理列表 —— 前端对接说明

配货列表接口改为轻表分页(全部分区由 7-8s 降至毫秒级),并新增早班货位、待补货位标记与对应筛选。本页覆盖接口的分页方式、新增字段与渲染规则。

POST /zone/info/new 配货货位列表(分页)

状态:已上测试环境(supplier/test)。有 2 处破坏性变更:接口改为分页、need/prepared 语义变化,见第 01 节。

01破坏性变更 —— 先读这两条

① 接口改为分页,不再一次返回全部货位

请求需传 pageNo(从 1 开始)、pageSize(默认 20);响应新增 total(当前筛选条件下的货位总数)。shelfSnList 现在只返回当前页,翻页请自行按 total 计算页数。

不传 pageNo/pageSize 时后端按第 1 页、每页 20 条兜底 —— 老前端不改会只看到前 20 个货位,务必接入分页。

need / prepared 语义由「扎数」改为「货位数」

need = 当前筛选条件下可配货货位数(status=0),prepared = 配货完成货位数(status=1)。用于两个 tab 的角标计数。若原来按扎数展示汇总,需改按货位数。

02货位卡片视觉状态

列表一行一个货位号(不再拆子货位)。同一张卡片可叠加多种状态,配色与打包页统一,前端直接取用。

01-002
0/1
普通货位
restockStatus 0/2
待补
01-007
0/1
待补
restockStatus === 1
01-010
0/1
早班
earlyShiftFlag === true
01-004
0/1
有子货位
hasSubShelf === 1
待补
01-006
0/1
叠加
早班 + 待补 + 子

颜色值(与打包页一致,请勿改)

待补徽标:底色 #FF6A00,字体 #FFFFFF,卡片正上方居中,restockStatus === 1 时显示。

早班背景:整卡背景 #FF000F 透明度 70%rgba(255,0,15,.7)),earlyShiftFlag === true 时染红。

子货位徽标hasSubShelf === 1 时右上角展示「子」标;点货位进详情看子货位(见第 05 节)。

03响应结构(PrepareShelfSnVo)

顶层计数 + 当前页货位列表。

字段类型说明
total新增long当前筛选条件下货位总数,用于分页。
need语义变int可配货货位数(status=0)。原为扎数。
prepared语义变int配货完成货位数(status=1)。原为扎数。
shelfSnListarray当前页货位列表,元素为 ShelfSnStatus(下表)。

列表元素 ShelfSnStatus(一行一货位):

字段类型说明
shelfSnint货位号,卡片主标题。
statusint配货完成状态:0 可配货 · 1 配货完成(货位级:所有子货位都配完才为 1)。
restockStatus新增int待补状态0 无待补 · 1 存在待补货(→「待补」徽标)· 2 补货已完成。徽标仅 === 1 显示。
earlyShiftFlag新增boolean是否早班。后端已按口径算好,true 直接染红,前端无需自行判断时间(口径见第 04 节)。
hasSubShelf新增int是否有子货位0 无 · 1 有(→「子」徽标)。
subShelfSnstring列表层恒为空串 ""(列表是货位级)。子货位明细走详情接口,见第 05 节。
total / prepared / notRestock / progressint / decimal该货位进度:应配 / 已配 / 退缺 / 进度(0~1,封顶 1)。跨子货位汇总。
zone / zoneShelf / segmentNamestring分区 / 区-货架 / 分段。既有字段。
deliveryTypeint配送方式 1 物流 · 2 自提。既有字段。
limitDistribution / wareType / wareIdint限制配货标识 / 仓库类型 / 仓库 id。既有字段。

04请求参数(ZoneInfoQo)

参数类型说明
date *string场次日期,如 2026-08-17。必填。
typeinttab:0 可配货 · 1 配货完成 · -1 全部。默认 0。
pageNo新增int页码,从 1 开始。默认 1。
pageSize新增int每页条数。默认 20。
onlyRestock新增boolean只看待补true 仅展示 restockStatus=1 的货位;null/false 不限。
onlyEarlyShift新增boolean只看早班true 仅展示早班货位;null/false 不限。
deliveryTypeint配送方式筛选:1 物流 · 2 自提。既有参数(自提 tab/筛选)。
zone / zoneShelfstring分区 / 货架号筛选。既有参数。全部分区即不传 zone。
segmentNameListarray分段筛选,传分段时必须同时传 zone。既有参数。
cityFlagint是否城配区。既有参数。

05货位级列表 + 子货位详情

列表一行一个货位号;一个货位有多个子货位时,只出一张卡片并打「子」标(hasSubShelf === 1)。点货位进详情看子货位,走既有详情接口:

POST /subShelfSn/info 入参货位号 shelfSn,返回该货位的子货位明细

完成状态是货位级:一个货位只要还有任意子货位没配完,整货位就算未完成(留在「可配货」),全部子货位配完才整体进「配货完成」。

06早班口径 —— 后端已算好

前端直接用 earlyShiftFlag,不用自己算时间

后端口径:deliveryTime >= 22:00deliveryTime <= 01:00(跨零点)即早班。此口径与打包页一致,且已在服务端算入 earlyShiftFlag,前端直接取布尔值染红即可。

「只看早班」onlyEarlyShift 用的是同一口径,与卡片染红天然一致。

// 渲染时(字段均由后端返回,前端不再自行判断时间):
// 早班背景  -> row.earlyShiftFlag === true      背景 rgba(255,0,15,.7)
// 待补徽标  -> row.restockStatus === 1           底 #FF6A00 / 字 #FFFFFF
// 子货位标  -> row.hasSubShelf === 1             右上角「子」

07Tab 与筛选映射

Tabtype只看待补只看早班自提
可配货0 onlyRestock onlyEarlyShift deliveryType=2
配货完成1 onlyRestock onlyEarlyShift deliveryType=2

筛选项可自由组合,后端 AND 叠加,且两个 tab 均支持。「配货完成」tab 勾「只看待补」返回的是已配货完成但仍有待补记录的货位(待补与完成是两个独立维度)。