fix: 库存总数包含异动车辆,总计行改为累加计算
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- getStats 的 inventory 统计包含 Inventory + Abnormal - 总计行所有列改为从各车型数据累加,不再使用 SUMMARY Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
16
src/App.tsx
16
src/App.tsx
@@ -346,17 +346,17 @@ export default function App() {
|
|||||||
<tr className="bg-yellow-50/50 text-xs font-bold border-b border-gray-200">
|
<tr className="bg-yellow-50/50 text-xs font-bold border-b border-gray-200">
|
||||||
<td className="p-3 border-r border-gray-100 text-gray-700">总计</td>
|
<td className="p-3 border-r border-gray-100 text-gray-700">总计</td>
|
||||||
<td className="p-3 border-r border-gray-100"></td>
|
<td className="p-3 border-r border-gray-100"></td>
|
||||||
<td className="p-3 text-center border-r border-gray-100 text-gray-800">{SUMMARY.totalAssets}</td>
|
<td className="p-3 text-center border-r border-gray-100 text-gray-800">{processedData.reduce((s, t) => s + t.totalAssets, 0)}</td>
|
||||||
<td className="p-3 text-center border-r border-gray-100 text-blue-700">{SUMMARY.inventory.total}</td>
|
<td className="p-3 text-center border-r border-gray-100 text-blue-700">{processedData.reduce((s, t) => s + t.totalInventory, 0)}</td>
|
||||||
{['嘉兴', '广东', '北京', '新疆', '其他'].map((reg) => {
|
{['嘉兴', '广东', '北京', '新疆', '其他'].map((reg) => {
|
||||||
const val = processedData.reduce((sum, t) => sum + (t.inventoryRegions?.[reg] || 0), 0);
|
const val = processedData.reduce((s, t) => s + (t.inventoryRegions?.[reg] || 0), 0);
|
||||||
return <td key={reg} className="p-3 text-center border-r border-gray-100 text-blue-700">{val || ''}</td>;
|
return <td key={reg} className="p-3 text-center border-r border-gray-100 text-blue-700">{val || ''}</td>;
|
||||||
})}
|
})}
|
||||||
<td className="p-3 text-center border-r border-gray-100 text-gray-700">{SUMMARY.pendingDelivery || ''}</td>
|
<td className="p-3 text-center border-r border-gray-100 text-gray-700">{processedData.reduce((s, t) => s + t.pending, 0) || ''}</td>
|
||||||
<td className="p-3 text-center border-r border-gray-100 text-green-700 bg-green-50/10">{SUMMARY.operating.total}</td>
|
<td className="p-3 text-center border-r border-gray-100 text-green-700 bg-green-50/10">{processedData.reduce((s, t) => s + t.totalOperating, 0)}</td>
|
||||||
<td className="p-3 text-center border-r border-gray-100 text-blue-700 bg-blue-50/5">{SUMMARY.weeklyDelivered || ''}</td>
|
<td className="p-3 text-center border-r border-gray-100 text-blue-700 bg-blue-50/5">{processedData.reduce((s, t) => s + t.weeklyDelivered, 0) || ''}</td>
|
||||||
<td className="p-3 text-center border-r border-gray-100 text-orange-700 bg-orange-50/5">{SUMMARY.weeklyReturned || ''}</td>
|
<td className="p-3 text-center border-r border-gray-100 text-orange-700 bg-orange-50/5">{processedData.reduce((s, t) => s + t.weeklyReturned, 0) || ''}</td>
|
||||||
<td className="p-3 text-center text-purple-700 bg-purple-50/5">{SUMMARY.weeklyReplaced || ''}</td>
|
<td className="p-3 text-center text-purple-700 bg-purple-50/5">{processedData.reduce((s, t) => s + t.weeklyReplaced, 0) || ''}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody className="text-xs">
|
<tbody className="text-xs">
|
||||||
|
|||||||
@@ -320,9 +320,9 @@ function getStats(list: Vehicle[], weeklyIds?: WeeklyTruckIds) {
|
|||||||
const strIds = list.map((v) => String(v.id));
|
const strIds = list.map((v) => String(v.id));
|
||||||
return {
|
return {
|
||||||
total: list.length,
|
total: list.length,
|
||||||
inventory: list.filter((v) => v.status === 'Inventory').length,
|
inventory: list.filter((v) => v.status === 'Inventory' || v.status === 'Abnormal').length,
|
||||||
inventoryRegions: getRegionCounts(
|
inventoryRegions: getRegionCounts(
|
||||||
list.filter((v) => v.status === 'Inventory'),
|
list.filter((v) => v.status === 'Inventory' || v.status === 'Abnormal'),
|
||||||
REGIONS,
|
REGIONS,
|
||||||
),
|
),
|
||||||
pending: list.filter((v) => v.status === 'Pending').length,
|
pending: list.filter((v) => v.status === 'Pending').length,
|
||||||
|
|||||||
Reference in New Issue
Block a user