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 = () => {
-
+
} onClick={handleExport} loading={exporting}>导出明细