diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-09-30 11:50:18 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-09-30 11:50:18 +0000 |
| commit | 4e328f0b6a5832677cfd23f49ff71e3e203026e7 (patch) | |
| tree | 2ffe5f10eedb37a19d80c8b7d2a410ce1c477dd3 /lib/docu-list-rule/document-class | |
| parent | f02773ab37bd911b1f3a81a93a7d5aaffd04bcad (diff) | |
(김준회) 옵션 선택 및 설명 저장 로직 구현
Diffstat (limited to 'lib/docu-list-rule/document-class')
| -rw-r--r-- | lib/docu-list-rule/document-class/service.ts | 3 | ||||
| -rw-r--r-- | lib/docu-list-rule/document-class/table/document-class-option-add-dialog.tsx | 8 |
2 files changed, 8 insertions, 3 deletions
diff --git a/lib/docu-list-rule/document-class/service.ts b/lib/docu-list-rule/document-class/service.ts index 29ed2642..a060af77 100644 --- a/lib/docu-list-rule/document-class/service.ts +++ b/lib/docu-list-rule/document-class/service.ts @@ -415,6 +415,7 @@ export async function getDocumentClassSubOptions(documentClassId: number, input? export async function createDocumentClassOptionItem(input: { documentClassId: number optionCode: string + description?: string }) { try { // Document Class 정보 조회하여 Value 가져오기 @@ -467,7 +468,7 @@ export async function createDocumentClassOptionItem(input: { .insert(documentClassOptions) .values({ documentClassId: input.documentClassId, - description: userOptionCode, // 코드값을 description에도 자동 설정 + description: input.description || "", optionCode: userOptionCode, sdq: nextSdq, isActive: true, diff --git a/lib/docu-list-rule/document-class/table/document-class-option-add-dialog.tsx b/lib/docu-list-rule/document-class/table/document-class-option-add-dialog.tsx index ac943ceb..5c6e23dd 100644 --- a/lib/docu-list-rule/document-class/table/document-class-option-add-dialog.tsx +++ b/lib/docu-list-rule/document-class/table/document-class-option-add-dialog.tsx @@ -56,6 +56,7 @@ interface ScheduleSetting { const createOptionSchema = z.object({ optionCode: z.string().min(1, "옵션을 선택해주세요."), + description: z.string().optional(), }) type CreateOptionSchema = z.infer<typeof createOptionSchema> @@ -78,6 +79,7 @@ export function DocumentClassOptionAddDialog({ documentClassId, onSuccess }: Doc resolver: zodResolver(createOptionSchema), defaultValues: { optionCode: "", + description: "", }, }) @@ -116,6 +118,7 @@ export function DocumentClassOptionAddDialog({ documentClassId, onSuccess }: Doc const result = await createDocumentClassOptionItem({ documentClassId, optionCode: data.optionCode, + description: data.description, }) if (result.success) { @@ -193,7 +196,7 @@ export function DocumentClassOptionAddDialog({ documentClassId, onSuccess }: Doc <CommandEmpty> {isLoading ? "로딩 중..." : "검색 결과가 없습니다."} </CommandEmpty> - <CommandGroup + <CommandGroup className="max-h-[200px] overflow-auto" onWheel={(e) => { e.stopPropagation(); @@ -206,7 +209,8 @@ export function DocumentClassOptionAddDialog({ documentClassId, onSuccess }: Doc key={setting.COL_NM} value={`${setting.COL_NM} ${setting.PROJ_COL_NM}`} onSelect={() => { - form.setValue("optionCode", setting.COL_NM) + form.setValue("optionCode", setting.COL_NM, { shouldValidate: true }) + form.setValue("description", setting.PROJ_COL_NM || "", { shouldValidate: true }) setComboboxOpen(false) }} > |
