feat(orders): USER 측 출고요청 + 출고완료 모두 수정 가능 (입금완료 전까지)
Deploy momo-erp / deploy (push) Successful in 2m5s
Deploy momo-erp / deploy (push) Successful in 2m5s
- 사용자 detail modal editable: REQUESTED → REQUESTED + APPROVED 모두 허용 - items/update API USER 가드: 동일하게 REQUESTED + APPROVED 허용 - 안내 문구 상태별로 분기 품목 추가/택배비 수정은 다음 단계에서 작업.
This commit is contained in:
@@ -224,7 +224,8 @@ function DetailModal({ order, items, supplier, onClose, onCancel, onReload }: {
|
||||
onReload: () => void;
|
||||
}) {
|
||||
const ref = useRef<HTMLDivElement>(null);
|
||||
const editable = order.STATUS === "REQUESTED";
|
||||
// 입금완료 전까지 — 출고요청(REQUESTED) + 출고완료(APPROVED) 모두 수정 가능
|
||||
const editable = order.STATUS === "REQUESTED" || order.STATUS === "APPROVED";
|
||||
|
||||
const updateItemLine = async (lineObjid: string, qty: number) => {
|
||||
const res = await fetch("/api/m/orders/items/update", {
|
||||
@@ -328,7 +329,7 @@ function DetailModal({ order, items, supplier, onClose, onCancel, onReload }: {
|
||||
|
||||
{editable && (
|
||||
<p className="mt-3 text-[11px] text-amber-700 bg-amber-50 border border-amber-200 rounded p-2">
|
||||
✏️ 출고요청 상태 — 품목 수량을 직접 고치거나 [×]로 삭제할 수 있어요. 저장은 자동.
|
||||
✏️ {order.STATUS === "REQUESTED" ? "출고요청" : "출고완료"} 상태 — 입금완료 전까지 품목 수량 수정 · [×]로 삭제 가능. 저장은 자동.
|
||||
</p>
|
||||
)}
|
||||
<table className="w-full text-[11px] border border-slate-300 mt-2">
|
||||
@@ -400,7 +401,7 @@ function DetailModal({ order, items, supplier, onClose, onCancel, onReload }: {
|
||||
|
||||
{editable && (
|
||||
<div className="mt-4 pt-3 border-t border-slate-200 text-[11px] text-amber-700 bg-amber-50 rounded p-2">
|
||||
※ 출고요청 상태 — 품목 <b>수량 수정</b> · <b>품목 삭제</b> · <b>주문 취소</b> 모두 가능합니다. 택배/용차 라인은 모모 담당자가 조정합니다.
|
||||
※ {order.STATUS === "REQUESTED" ? "출고요청" : "출고완료"} 상태 — 입금완료 전까지 품목 <b>수량 수정</b> · <b>품목 삭제</b> · <b>주문 취소</b> 가능합니다. 택배/용차 라인은 모모 담당자가 조정합니다.
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -50,9 +50,10 @@ export async function POST(req: NextRequest) {
|
||||
return NextResponse.json({ success: false, message: "계산서발행 또는 입금완료 이후 발주는 수정할 수 없습니다." }, { status: 400 });
|
||||
}
|
||||
} else {
|
||||
if (order.status !== "REQUESTED") {
|
||||
// USER: 본인 발주의 REQUESTED + APPROVED (입금 완료 전) 모두 수량 수정 가능
|
||||
if (order.status !== "REQUESTED" && order.status !== "APPROVED") {
|
||||
await client.query("ROLLBACK");
|
||||
return NextResponse.json({ success: false, message: "출고요청 상태에서만 수정할 수 있습니다." }, { status: 400 });
|
||||
return NextResponse.json({ success: false, message: "입금완료 이후 발주는 수정할 수 없습니다." }, { status: 400 });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user