chore: qstnTypeCd 값 수정
This commit is contained in:
@@ -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}`}
|
||||
|
||||
Reference in New Issue
Block a user