fix: 修正操作手冊選單顯示邏輯並強化內容
All checks were successful
Koori-ERP-Deploy-System / deploy-demo (push) Has been skipped
Koori-ERP-Deploy-System / deploy-production (push) Successful in 54s

This commit is contained in:
2026-02-13 15:55:56 +08:00
parent 8207e6fe94
commit d017d7e5e0
2 changed files with 19 additions and 6 deletions

View File

@@ -309,19 +309,23 @@ export default function AuthenticatedLayout({
const menuItems = useMemo(() => { const menuItems = useMemo(() => {
return allMenuItems return allMenuItems
.map((item) => { .map((item) => {
// 如果有子項目,先過濾子項目 // 如果有子項目
if (item.children && item.children.length > 0) { if (item.children && item.children.length > 0) {
const filteredChildren = item.children.filter(hasPermissionForItem); const filteredChildren = item.children.filter(hasPermissionForItem);
// 若所有子項目都無權限,則隱藏整個群組
if (filteredChildren.length === 0) return null; // 若有子項目符合權限,則顯示該群組(群組本身的權限僅作為額外過濾)
return { ...item, children: filteredChildren }; if (filteredChildren.length > 0) {
return { ...item, children: filteredChildren };
}
return null;
} }
// 無子項目的單一選單,直接檢查權限 // 無子項目的單一選單,直接檢查權限
if (!hasPermissionForItem(item)) return null; if (!hasPermissionForItem(item)) return null;
return item; return item;
}) })
.filter((item): item is MenuItem => item !== null); .filter((item): item is MenuItem => item !== null);
}, [can, canAny]); }, [allMenuItems, hasPermissionForItem]);
// 初始化狀態:優先讀取 localStorage // 初始化狀態:優先讀取 localStorage
const [expandedItems, setExpandedItems] = useState<string[]>(() => { const [expandedItems, setExpandedItems] = useState<string[]>(() => {

View File

@@ -31,5 +31,14 @@
> [!IMPORTANT] > [!IMPORTANT]
> 進貨單一旦儲存,系統會立即更新庫存餘額。請務必確認數量正確。 > 進貨單一旦儲存,系統會立即更新庫存餘額。請務必確認數量正確。
## 4. 儀表板 (Dashboard) 功能
儀表板提供系統目前的關鍵指標與待辦事項:
- **存貨分析 KPI**:顯示目前總庫存、滯銷品項與即將過期商品。
- **待辦事項**:列出需審核的單據與待收貨的採購單。
- **熱銷/積壓排行**:即時掌握銷售趨勢與庫存壓力。
![儀表板示意圖](https://placehold.co/800x400/01ab83/white?text=Dashboard+Overview)
--- ---
*下一章:[庫存管理規範](inventory-management)* *下一章:[採購流程說明](purchasing-workflow)*