chore: qstnTypeCd 값 수정

This commit is contained in:
2025-06-04 17:31:09 +09:00
parent bca895ed48
commit 3a1053733e
4 changed files with 23 additions and 24 deletions
@@ -12,7 +12,7 @@ import { ArticleManagementDialog } from "../ui/article-management-dialog";
const QUESTION_TYPE = {
RADIO: "객관식",
CHECKBOX: "다중응답",
CHECK: "다중응답",
INPUT: "주관식",
} as const;
@@ -3,7 +3,7 @@ import type { PageableList, PageableParams } from "@/shared/model";
export const QUESTION_TYPE_CODE = {
RADIO: "RADIO",
CHECKBOX: "CHECKBOX",
CHECK: "CHECK",
INPUT: "INPUT",
} as const;
@@ -107,7 +107,7 @@ function QuestionForm({ form, actionSlot, handleSave }: QuestionFormProps) {
/>
</TableCell>
</TableRow>
{qstnTypeCd === "CHECKBOX" && (
{qstnTypeCd === "CHECK" && (
<TableRow>
<TableHead>최대선택갯수</TableHead>
<TableCell className="border">
@@ -134,7 +134,7 @@ function QuestionForm({ form, actionSlot, handleSave }: QuestionFormProps) {
</TableCell>
</TableRow>
)}
{(qstnTypeCd === "RADIO" || qstnTypeCd === "CHECKBOX") && (
{(qstnTypeCd === "RADIO" || qstnTypeCd === "CHECK") && (
<TableRow>
<TableHead>기타답변여부</TableHead>
<TableCell className="border">
@@ -189,8 +189,8 @@ function UserSurveyArticle({ srvySn }: { srvySn: string }) {
articles={item.articles}
/>
)}
{item.qstnTypeCd === "CHECKBOX" && (
<CheckboxArticle
{item.qstnTypeCd === "CHECK" && (
<CheckArticle
control={form.control}
qstnCn={item.qstnCn}
index={qIndex}
@@ -265,7 +265,7 @@ function RadioArticle({
);
}
function CheckboxArticle({
function CheckArticle({
control,
qstnCn,
index: i,
@@ -290,25 +290,24 @@ function CheckboxArticle({
name={`rspnsRslts.${i}.ansCn`}
render={({ field }) => {
const selectedValues = field.value?.split(",") || [];
const handleCheckboxChange =
(value: string) => (checked: boolean) => {
const values = [...selectedValues];
const handleCheckedChange = (value: string) => (checked: boolean) => {
const values = [...selectedValues];
if (checked) {
if (values.length >= maxChcCnt) {
alert("최대 선택 개수를 초과했습니다.");
return;
}
values.push(value);
} else {
const valueIndex = values.indexOf(value);
if (valueIndex !== -1) {
values.splice(valueIndex, 1);
}
if (checked) {
if (values.length >= maxChcCnt) {
alert("최대 선택 개수를 초과했습니다.");
return;
}
values.push(value);
} else {
const valueIndex = values.indexOf(value);
if (valueIndex !== -1) {
values.splice(valueIndex, 1);
}
}
field.onChange(values.filter((v) => v.trim() !== "").join(","));
};
field.onChange(values.filter((v) => v.trim() !== "").join(","));
};
return (
<FormItem>
@@ -324,7 +323,7 @@ function CheckboxArticle({
<Checkbox
id={`rspnsRslts.${i}.ansCn-${j}`}
checked={selectedValues.includes(value)}
onCheckedChange={handleCheckboxChange(value)}
onCheckedChange={handleCheckedChange(value)}
/>
<Label
htmlFor={`rspnsRslts.${i}.ansCn-${j}`}