summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-09-30 11:50:18 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-09-30 11:50:18 +0000
commit4e328f0b6a5832677cfd23f49ff71e3e203026e7 (patch)
tree2ffe5f10eedb37a19d80c8b7d2a410ce1c477dd3 /lib
parentf02773ab37bd911b1f3a81a93a7d5aaffd04bcad (diff)
(김준회) 옵션 선택 및 설명 저장 로직 구현
Diffstat (limited to 'lib')
-rw-r--r--lib/docu-list-rule/document-class/service.ts3
-rw-r--r--lib/docu-list-rule/document-class/table/document-class-option-add-dialog.tsx8
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)
}}
>