/** * 生產工單狀態流程條組件 */ import { Check } from "lucide-react"; import { ProductionOrderStatus, PRODUCTION_ORDER_STATUS } from "@/constants/production-order"; interface ProductionStatusProgressBarProps { currentStatus: ProductionOrderStatus; } // 流程步驟定義 const FLOW_STEPS: { key: ProductionOrderStatus; label: string }[] = [ { key: PRODUCTION_ORDER_STATUS.DRAFT, label: "草稿" }, { key: PRODUCTION_ORDER_STATUS.PENDING, label: "簽核中" }, { key: PRODUCTION_ORDER_STATUS.APPROVED, label: "已核准" }, { key: PRODUCTION_ORDER_STATUS.IN_PROGRESS, label: "製作中" }, { key: PRODUCTION_ORDER_STATUS.COMPLETED, label: "製作完成" }, ]; export function ProductionStatusProgressBar({ currentStatus }: ProductionStatusProgressBarProps) { // 對於已作廢狀態,我們顯示到它作廢前的最後一個有效狀態(通常顯示到核准後或簽核中) // 這裡我們比照採購單邏輯,如果已作廢,可能停在最後一個有效位置 const effectiveStatus = currentStatus === PRODUCTION_ORDER_STATUS.CANCELLED ? PRODUCTION_ORDER_STATUS.PENDING : currentStatus; // 找到當前狀態在流程中的位置 const currentIndex = FLOW_STEPS.findIndex((step) => step.key === effectiveStatus); return (
{isRejectedAtThisStep ? "已作廢" : step.label}