fix(WEB): 수주 삭제 조건 강화 및 개별삭제 기능 추가
- 삭제 버튼 수주등록/수주확정 상태에서만 표시 (생산지시 이후 삭제 불가) - deleteItem 핸들러 추가하여 개별 삭제 지원 - 삭제 후 통계(stats) 자동 갱신
This commit is contained in:
@@ -606,8 +606,8 @@ function OrderListContent() {
|
||||
<Edit className="h-4 w-4 mr-2" />
|
||||
수정
|
||||
</Button>
|
||||
{/* 삭제 버튼 - shipped, cancelled 제외 모든 상태에서 표시 */}
|
||||
{order.status !== "shipped" && order.status !== "cancelled" && (
|
||||
{/* 삭제 버튼 - 수주등록/수주확정 상태에서만 표시 (생산지시 이후 삭제 불가) */}
|
||||
{(order.status === "order_registered" || order.status === "order_confirmed") && (
|
||||
<Button
|
||||
variant="outline"
|
||||
size="default"
|
||||
@@ -643,12 +643,21 @@ function OrderListContent() {
|
||||
data: filteredOrders,
|
||||
totalCount: filteredOrders.length,
|
||||
}),
|
||||
deleteItem: async (id) => {
|
||||
const result = await deleteOrder(id);
|
||||
if (result.success) {
|
||||
setOrders((prev) => prev.filter((o) => o.id !== id));
|
||||
const statsResult = await getOrderStats();
|
||||
if (statsResult.success && statsResult.data) {
|
||||
setApiStats(statsResult.data);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
},
|
||||
deleteBulk: async (ids) => {
|
||||
const result = await deleteOrders(ids);
|
||||
if (result.success) {
|
||||
setOrders(orders.filter((o) => !ids.includes(o.id)));
|
||||
setSelectedItems(new Set());
|
||||
toast.success(`${ids.length}개의 수주가 삭제되었습니다.`);
|
||||
setOrders((prev) => prev.filter((o) => !ids.includes(o.id)));
|
||||
const statsResult = await getOrderStats();
|
||||
if (statsResult.success && statsResult.data) {
|
||||
setApiStats(statsResult.data);
|
||||
|
||||
Reference in New Issue
Block a user