diff --git a/apps/cs/src/entities/posting/model/posting-interface.ts b/apps/cs/src/entities/posting/model/posting-interface.ts index 0c9d65a51..c314d2f30 100644 --- a/apps/cs/src/entities/posting/model/posting-interface.ts +++ b/apps/cs/src/entities/posting/model/posting-interface.ts @@ -19,8 +19,8 @@ export const postSchema = z.object({ pstgTypeCd: z.string(), pstgTypeNm: z.string(), pstgTrgtNo: z.number(), - pstgBgngDt: z.string(), - pstgEndDt: z.string(), + pstgBgngDt: z.string().optional(), + pstgEndDt: z.string().optional(), pstgPrdSeCd: z.string(), pstgPrdSeNm: z.string(), delYn: z.string(), diff --git a/apps/cs/src/entities/posting/ui/posting-dialog.tsx b/apps/cs/src/entities/posting/ui/posting-dialog.tsx index df07e2182..d7c0b60ca 100644 --- a/apps/cs/src/entities/posting/ui/posting-dialog.tsx +++ b/apps/cs/src/entities/posting/ui/posting-dialog.tsx @@ -90,6 +90,9 @@ function PostingDialog({ postingType, postingTargets }: PostingDialogProps) { name: "pstg", }); + const isFormValid = + fields.length && fields.every((field) => field.pstgPrdSeCd !== ""); + const isAllSelected = siteList && selectedRows.length === siteList.content.length; @@ -164,19 +167,28 @@ function PostingDialog({ postingType, postingTargets }: PostingDialogProps) { replace([]); setSelectedRows([]); } else { - setSelectedRows(siteList?.content.map((_, i) => i) ?? []); replace([]); + setSelectedRows(siteList?.content.map((_, i) => i) ?? []); siteList?.content.forEach((_, i) => handleAppendFields(i)); } }; const handlePeriodCodeChange = (siteId: string) => (value: string) => { + const from = dayjs().format("YYYY-MM-DD 00:00:00"); + const to = dayjs().add(Number(value), "day").format("YYYY-MM-DD 23:59:59"); + setRememberPeriodCode((prev) => ({ ...prev, [siteId]: value, })); + setRememberPeriodDate((prev) => ({ + ...prev, + [siteId]: { from, to }, + })); handleUpdateFields(siteId)({ pstgPrdSeCd: value, + pstgBgngDt: from, + pstgEndDt: to, }); }; @@ -288,7 +300,7 @@ function PostingDialog({ postingType, postingTargets }: PostingDialogProps) { -