diff --git a/backend/src/api/pickingBinSalesAnalysis.js b/backend/src/api/pickingBinSalesAnalysis.js index 93c624f..94174cc 100644 --- a/backend/src/api/pickingBinSalesAnalysis.js +++ b/backend/src/api/pickingBinSalesAnalysis.js @@ -238,6 +238,7 @@ router.get('/export', async (req, res) => { const sheetRows = filtered.map((r) => [ whMap.get(r.wmsCoId) || r.wmsCoId, r.binName, + r.binType, r.skuId, r.stockQty, r.skuCount, @@ -256,7 +257,7 @@ router.get('/export', async (req, res) => { sheets: [{ name: '库位动销明细', header: [ - '仓库', '仓位', '商品编码', '库存数量', '仓位SKU数', + '仓库', '仓位', '类型', '商品编码', '库存数量', '仓位SKU数', `商品销量(近${days}天)`, `分摊销量(近${days}天)`, '商品日销', '动销等级', '统计天数', '统计基准日', ], diff --git a/frontend/src/constants/pickingBinSalesAnalysis.js b/frontend/src/constants/pickingBinSalesAnalysis.js index 012128c..d569d6d 100644 --- a/frontend/src/constants/pickingBinSalesAnalysis.js +++ b/frontend/src/constants/pickingBinSalesAnalysis.js @@ -11,6 +11,11 @@ export const PICKING_BIN_COLUMNS = [ label: '仓位', tip: '系统仓位编码(jst_packInventoryInfo.bin);同一仓位有多个商品时会出现多行', }, + { + key: 'binType', + label: '类型', + tip: '统计范围固定为拣选位(bin_group 为空的仓位);存货位不纳入动销分析,报表中不会出现', + }, { key: 'skuId', label: '商品编码', diff --git a/frontend/src/pages/PickingBinSalesAnalysis/index.jsx b/frontend/src/pages/PickingBinSalesAnalysis/index.jsx index 1352f1e..bdf75ef 100644 --- a/frontend/src/pages/PickingBinSalesAnalysis/index.jsx +++ b/frontend/src/pages/PickingBinSalesAnalysis/index.jsx @@ -92,7 +92,7 @@ const PickingBinSalesAnalysis = () => { title: {col.label}, key: col.key, dataIndex: col.key, - align: ['warehouse', 'binName', 'skuId', 'gradeKey'].includes(col.key) ? 'left' : 'right', + align: ['warehouse', 'binName', 'binType', 'skuId', 'gradeKey'].includes(col.key) ? 'left' : 'right', width: col.key === 'warehouse' ? 240 : (col.key === 'gradeKey' ? 170 : (col.key === 'skuId' ? 150 : 110)), sorter: ['stockQty', 'salesQty', 'dailySales'].includes(col.key) @@ -103,7 +103,7 @@ const PickingBinSalesAnalysis = () => { const g = gradeMap.get(value); return {g?.label || value}; } - if (col.key === 'skuId') return {value || '—'}; + if (col.key === 'binType' || col.key === 'skuId') return {value || '—'}; if (col.key === 'dailySales') return num(value, 2); if (col.key === 'salesQty') return num(value, 2); if (col.key === 'stockQty') return int(value); @@ -191,7 +191,7 @@ const PickingBinSalesAnalysis = () => { - +