Files
star-erp/resources/js/Components/PurchaseOrder/PurchaseOrderActions.tsx

57 lines
1.9 KiB
TypeScript
Raw Normal View History

2025-12-31 17:48:36 +08:00
import { Pencil, Eye, Trash2 } from "lucide-react";
2025-12-30 15:03:19 +08:00
import { Button } from "@/Components/ui/button";
2025-12-30 17:05:19 +08:00
import { Link, useForm } from "@inertiajs/react";
2025-12-30 15:03:19 +08:00
import type { PurchaseOrder } from "@/types/purchase-order";
2025-12-30 17:05:19 +08:00
import { toast } from "sonner";
2025-12-30 15:03:19 +08:00
export function PurchaseOrderActions({
order,
}: { order: PurchaseOrder }) {
2025-12-30 17:05:19 +08:00
const { delete: destroy, processing } = useForm({});
const handleDelete = () => {
if (confirm(`確定要刪除採購單 ${order.poNumber} 嗎?`)) {
// @ts-ignore
destroy(route('purchase-orders.destroy', order.id), {
onSuccess: () => toast.success("採購單已成功刪除"),
onError: (errors: any) => toast.error(errors.error || "刪除過程中發生錯誤"),
});
}
};
2025-12-30 15:03:19 +08:00
return (
<div className="flex justify-center gap-2">
2025-12-30 15:03:19 +08:00
<Link href={`/purchase-orders/${order.id}`}>
<Button
variant="outline"
size="sm"
className="button-outlined-primary"
title="查看詳情"
2025-12-30 15:03:19 +08:00
>
<Eye className="h-4 w-4" />
</Button>
</Link>
<Link href={`/purchase-orders/${order.id}/edit`}>
<Button
variant="outline"
size="sm"
className="button-outlined-primary"
title="編輯"
2025-12-30 15:03:19 +08:00
>
2025-12-31 17:48:36 +08:00
<Pencil className="h-4 w-4" />
2025-12-30 15:03:19 +08:00
</Button>
</Link>
2025-12-30 17:05:19 +08:00
<Button
variant="outline"
size="sm"
className="button-outlined-error"
title="刪除"
onClick={() => onDelete?.(order.id)}
2025-12-30 17:05:19 +08:00
disabled={processing}
>
<Trash2 className="h-4 w-4" />
</Button>
2025-12-30 15:03:19 +08:00
</div>
);
}