fix: Reset related fields on input mode change in Sales Order page

- Updated the input mode selection logic to clear associated fields (partner_id, delivery_partner_id, delivery_address) when the input mode changes.
- This change ensures that the form state is correctly managed and prevents stale data from being retained, enhancing the user experience across multiple companies.

These modifications aim to improve the clarity and functionality of the Sales Order page by ensuring that changes in input mode reflect accurately in the form state.
This commit is contained in:
kjs
2026-04-10 11:12:49 +09:00
parent 909fe9d42a
commit f416241788
5 changed files with 51 additions and 5 deletions
@@ -1104,7 +1104,16 @@ export default function SalesOrderPage() {
</div>
<div className="space-y-1">
<Label className="text-[11px] font-semibold uppercase tracking-wide text-muted-foreground"></Label>
<Select value={masterForm.input_mode || ""} onValueChange={(v) => setMasterForm((p) => ({ ...p, input_mode: v }))}>
<Select value={masterForm.input_mode || ""} onValueChange={(v) => {
setMasterForm((p) => {
const next = { ...p, input_mode: v };
delete next.partner_id;
delete next.delivery_partner_id;
delete next.delivery_address;
return next;
});
setDeliveryOptions([]);
}}>
<SelectTrigger className="h-9"><SelectValue placeholder="선택" /></SelectTrigger>
<SelectContent>
{(categoryOptions["input_mode"] || []).map((o) => (
@@ -1104,7 +1104,16 @@ export default function SalesOrderPage() {
</div>
<div className="space-y-1">
<Label className="text-[11px] font-semibold uppercase tracking-wide text-muted-foreground"></Label>
<Select value={masterForm.input_mode || ""} onValueChange={(v) => setMasterForm((p) => ({ ...p, input_mode: v }))}>
<Select value={masterForm.input_mode || ""} onValueChange={(v) => {
setMasterForm((p) => {
const next = { ...p, input_mode: v };
delete next.partner_id;
delete next.delivery_partner_id;
delete next.delivery_address;
return next;
});
setDeliveryOptions([]);
}}>
<SelectTrigger className="h-9"><SelectValue placeholder="선택" /></SelectTrigger>
<SelectContent>
{(categoryOptions["input_mode"] || []).map((o) => (
@@ -1104,7 +1104,16 @@ export default function SalesOrderPage() {
</div>
<div className="space-y-1">
<Label className="text-[11px] font-semibold uppercase tracking-wide text-muted-foreground"></Label>
<Select value={masterForm.input_mode || ""} onValueChange={(v) => setMasterForm((p) => ({ ...p, input_mode: v }))}>
<Select value={masterForm.input_mode || ""} onValueChange={(v) => {
setMasterForm((p) => {
const next = { ...p, input_mode: v };
delete next.partner_id;
delete next.delivery_partner_id;
delete next.delivery_address;
return next;
});
setDeliveryOptions([]);
}}>
<SelectTrigger className="h-9"><SelectValue placeholder="선택" /></SelectTrigger>
<SelectContent>
{(categoryOptions["input_mode"] || []).map((o) => (
@@ -1104,7 +1104,17 @@ export default function SalesOrderPage() {
</div>
<div className="space-y-1">
<Label className="text-[11px] font-semibold uppercase tracking-wide text-muted-foreground"></Label>
<Select value={masterForm.input_mode || ""} onValueChange={(v) => setMasterForm((p) => ({ ...p, input_mode: v }))}>
<Select value={masterForm.input_mode || ""} onValueChange={(v) => {
setMasterForm((p) => {
const next = { ...p, input_mode: v };
// 입력방식 변경 시 거래처 관련 값 초기화
delete next.partner_id;
delete next.delivery_partner_id;
delete next.delivery_address;
return next;
});
setDeliveryOptions([]);
}}>
<SelectTrigger className="h-9"><SelectValue placeholder="선택" /></SelectTrigger>
<SelectContent>
{(categoryOptions["input_mode"] || []).map((o) => (
@@ -1104,7 +1104,16 @@ export default function SalesOrderPage() {
</div>
<div className="space-y-1">
<Label className="text-[11px] font-semibold uppercase tracking-wide text-muted-foreground"></Label>
<Select value={masterForm.input_mode || ""} onValueChange={(v) => setMasterForm((p) => ({ ...p, input_mode: v }))}>
<Select value={masterForm.input_mode || ""} onValueChange={(v) => {
setMasterForm((p) => {
const next = { ...p, input_mode: v };
delete next.partner_id;
delete next.delivery_partner_id;
delete next.delivery_address;
return next;
});
setDeliveryOptions([]);
}}>
<SelectTrigger className="h-9"><SelectValue placeholder="선택" /></SelectTrigger>
<SelectContent>
{(categoryOptions["input_mode"] || []).map((o) => (