diff --git a/apps/cs/src/pages/link/model/table-columns.tsx b/apps/cs/src/pages/link/model/table-columns.tsx
index 8ea7e3fb6..5b1710fec 100644
--- a/apps/cs/src/pages/link/model/table-columns.tsx
+++ b/apps/cs/src/pages/link/model/table-columns.tsx
@@ -1,10 +1,7 @@
import dayjs from "dayjs";
import { createColumnHelper } from "@tanstack/react-table";
import { type Link } from "@/entities/link";
-import { Button } from "@common/components";
-import { useMutation } from "@tanstack/react-query";
-import { LinkApi } from "@/entities/link";
-import { useAlertStore } from "@/shared/lib/use-alert-store";
+import QuickStartButton from "../ui/QuickStartButton";
const columnHelper = createColumnHelper();
@@ -83,30 +80,7 @@ const columns = [
id: 'quick_start_btn',
header: '즉시 실행',
cell: (info) => {
- const row = info.row.original;
- const { setMessage: alert } = useAlertStore((state) => state);
-
- const { mutateAsync: updateQuickStart } = useMutation({
- mutationFn: (linkSn: string) => LinkApi.linkQuickStart(linkSn),
- onSuccess: (resut) => {
- if (resut === 'succ') {
- alert('즉시 실행 요청이 완료되었습니다.');
- } else {
- alert('기존 요청이 실행 대기중입니다.');
- }
- },
- onError: () => {
- alert('즉시 실행 요청을 실패했습니다.');
- }
- });
-
- return (
-
- )
+ return
}
})
];
diff --git a/apps/cs/src/pages/link/ui/QuickStartButton.tsx b/apps/cs/src/pages/link/ui/QuickStartButton.tsx
new file mode 100644
index 000000000..a322ee678
--- /dev/null
+++ b/apps/cs/src/pages/link/ui/QuickStartButton.tsx
@@ -0,0 +1,36 @@
+import { useMutation } from "@tanstack/react-query";
+import { LinkApi } from "@/entities/link";
+import { useAlertStore } from "@/shared/lib/use-alert-store";
+import { Button } from "@common/components";
+
+const QuickStartButton: React.FC<{ linkSn: string }> = ({ linkSn }) => {
+ const { setMessage: alert } = useAlertStore((state) => state);
+
+ const { mutateAsync: updateQuickStart } = useMutation({
+ mutationFn: (linkSn: string) => LinkApi.linkQuickStart(linkSn),
+ onSuccess: (result) => {
+ if (result === 'succ') {
+ alert('즉시 실행 요청이 완료되었습니다.');
+ } else {
+ alert('기존 요청이 실행 대기중입니다.');
+ }
+ },
+ onError: () => {
+ alert('즉시 실행 요청을 실패했습니다.');
+ },
+ });
+
+ return (
+
+ );
+};
+
+export default QuickStartButton;
\ No newline at end of file
diff --git a/apps/cs/src/pages/link/ui/link-form.tsx b/apps/cs/src/pages/link/ui/link-form.tsx
index a5f09af18..05a3da0f1 100644
--- a/apps/cs/src/pages/link/ui/link-form.tsx
+++ b/apps/cs/src/pages/link/ui/link-form.tsx
@@ -50,7 +50,11 @@ const LinkForm = ({ form, linkSn, updateLinkInfo, handleInsertLink, deleteLink,
await handleConfirm(async () => {
if (await confirm(confirmMsg)) {
- !!linkSn ? updateLinkInfo?.(data) : handleInsertLink?.(data);
+ if (linkSn) {
+ updateLinkInfo?.(data);
+ } else {
+ handleInsertLink?.(data);
+ }
}
});
};
@@ -578,7 +582,7 @@ const LinkForm = ({ form, linkSn, updateLinkInfo, handleInsertLink, deleteLink,
-
+
>
)
};
diff --git a/apps/cs/src/pages/link/ui/link-page.tsx b/apps/cs/src/pages/link/ui/link-page.tsx
index ee5f4d93f..95a9cc043 100644
--- a/apps/cs/src/pages/link/ui/link-page.tsx
+++ b/apps/cs/src/pages/link/ui/link-page.tsx
@@ -4,8 +4,8 @@ import "@common/assets/styles/grid.css";
import { useState } from "react";
import { useRouter } from "next/navigation";
-import { Button, DataTable, Input, Label, LoadingWithAnimation } from "@common/components";
-import { getCoreRowModel, useReactTable } from "@tanstack/react-table";
+import { Button, Input, Label, LoadingWithAnimation } from "@common/components";
+import { getCoreRowModel } from "@tanstack/react-table";
import { LinkApi, type Link, type LinkSearchParam } from "@/entities/link";
import { useQuery } from "@tanstack/react-query";
import { columns } from "../model/table-columns";
diff --git a/apps/cs/src/pages/link/ui/modify-page.tsx b/apps/cs/src/pages/link/ui/modify-page.tsx
index a15fecb97..594cb4c49 100644
--- a/apps/cs/src/pages/link/ui/modify-page.tsx
+++ b/apps/cs/src/pages/link/ui/modify-page.tsx
@@ -58,7 +58,7 @@ function ModifyLinkPage({ linkSn }: { linkSn: string }) {
}
});
- const fetchUserInfo = async (id: string) => {
+ const fetchUserInfo = async () => {
const userData = await getUserInfo();
return userData.userName;
};
@@ -74,7 +74,7 @@ function ModifyLinkPage({ linkSn }: { linkSn: string }) {
let newData = { ...linkInfo };
if (linkInfo.mdfr) {
- const userName = await fetchUserInfo(linkInfo.mdfr);
+ const userName = await fetchUserInfo();
newData = {
...linkInfo,
mdfr: userName,
diff --git a/apps/cs/src/pages/link/ui/regist-page.tsx b/apps/cs/src/pages/link/ui/regist-page.tsx
index 6aa26e79e..403aefa24 100644
--- a/apps/cs/src/pages/link/ui/regist-page.tsx
+++ b/apps/cs/src/pages/link/ui/regist-page.tsx
@@ -41,7 +41,7 @@ function RegistLinkPage() {
});
const handleInsertLink = (data: LinkFormData) => {
- let insertData = {
+ const insertData = {
...data,
link_clsf_cd: data.link_clsf_cd !== 'none' ? data.link_clsf_cd : null,
next_link_excn_dt: dayjs().add(Number(data.link_batch_time), 'minute').format('YYYY-MM-DD HH:mm:ss'),
diff --git a/apps/cs/src/pages/linkParams/ui/link-params-dialog.tsx b/apps/cs/src/pages/linkParams/ui/link-params-dialog.tsx
index f3fe466b8..cff72a030 100644
--- a/apps/cs/src/pages/linkParams/ui/link-params-dialog.tsx
+++ b/apps/cs/src/pages/linkParams/ui/link-params-dialog.tsx
@@ -55,12 +55,12 @@ function LinkParamsDialog({ selectedLink, form, insertLinkVrbl, dialogOpen, onOp
setOnConfirm(false);
};
- function replaceEmptyWithNull>(data: T): T {
+ function replaceEmptyWithNull>(data: T): T {
const result = {} as T;
for (const [key, value] of Object.entries(data)) {
- result[key as keyof T] = value === '' ? null : value;
+ (result as Record)[key] = value === '' ? null : value;
}
- return result;
+ return result as T;
};
const handleSubmit = async (data: LinkVrblFormData) => {
@@ -70,7 +70,11 @@ function LinkParamsDialog({ selectedLink, form, insertLinkVrbl, dialogOpen, onOp
const cleanData = replaceEmptyWithNull(data);
if (await confirm(confirmMsg)) {
- isModifyMode ? updateLinkVrbl(isToday ? { ...cleanData, link_vrbl_vl: checkNowMonth } : cleanData) : insertLinkVrbl(isToday ? { ...cleanData, link_vrbl_vl: checkNowMonth } : cleanData);
+ if (isModifyMode) {
+ updateLinkVrbl(isToday ? { ...cleanData, link_vrbl_vl: checkNowMonth } : cleanData);
+ } else {
+ insertLinkVrbl(isToday ? { ...cleanData, link_vrbl_vl: checkNowMonth } : cleanData);
+ }
}
});
};
diff --git a/apps/cs/src/pages/linkParams/ui/link-params-page.tsx b/apps/cs/src/pages/linkParams/ui/link-params-page.tsx
index 82273de25..b3806e712 100644
--- a/apps/cs/src/pages/linkParams/ui/link-params-page.tsx
+++ b/apps/cs/src/pages/linkParams/ui/link-params-page.tsx
@@ -205,7 +205,7 @@ function LinkParamsPage() {
});
};
- const fetchUserInfo = async (id: string) => {
+ const fetchUserInfo = async () => {
const userData = await getUserInfo();
return userData.userName;
};
@@ -229,7 +229,7 @@ function LinkParamsPage() {
let newData = { ...linkVrblInfo };
if (linkVrblInfo.mdfr) {
- const userName = await fetchUserInfo(linkVrblInfo.mdfr);
+ const userName = await fetchUserInfo();
newData = {
...linkVrblInfo,
mdfr: userName,
diff --git a/apps/cs/src/pages/linkStats/ui/link-stats-page.tsx b/apps/cs/src/pages/linkStats/ui/link-stats-page.tsx
index 547b3766f..f6168ba76 100644
--- a/apps/cs/src/pages/linkStats/ui/link-stats-page.tsx
+++ b/apps/cs/src/pages/linkStats/ui/link-stats-page.tsx
@@ -279,8 +279,8 @@ function LinkStatsPage() {
endDate: dayjs().format('YYYY-MM-DD'),
});
setEndDate(dayjs().format('YYYY-MM-DD'));
- setStartDate(dayjs().format('YYYY-MM-DD')),
- setLinkStatsList(data);
+ setStartDate(dayjs().format('YYYY-MM-DD'));
+ setLinkStatsList(data);
setLinkSearchParam({
...linkSearchParam,
startDate: dayjs().format('YYYY-MM-DD'),
diff --git a/apps/cs/src/pages/linkTable/ui/link-table-dialog.tsx b/apps/cs/src/pages/linkTable/ui/link-table-dialog.tsx
index 9c27a38d9..a566a7d95 100644
--- a/apps/cs/src/pages/linkTable/ui/link-table-dialog.tsx
+++ b/apps/cs/src/pages/linkTable/ui/link-table-dialog.tsx
@@ -58,17 +58,19 @@ function LinkTableDialog({ dialogOpen, onOpenChange, form, tableInfo, insertLink
await handleConfirm(async () => {
if (await confirm(confirmMsg)) {
- !isModifyMode
- ? insertLinkTableCol({
- ...data,
- link_sn: tableInfo.link_sn,
- tbl_sn: tableInfo.tbl_sn,
- })
- : updateLinkTableCol({
+ if (!isModifyMode) {
+ insertLinkTableCol({
...data,
link_sn: tableInfo.link_sn,
tbl_sn: tableInfo.tbl_sn,
});
+ } else {
+ updateLinkTableCol({
+ ...data,
+ link_sn: tableInfo.link_sn,
+ tbl_sn: tableInfo.tbl_sn,
+ });
+ }
}
});
};
@@ -492,7 +494,7 @@ function LinkTableDialog({ dialogOpen, onOpenChange, form, tableInfo, insertLink
-
+
)
diff --git a/apps/cs/src/pages/linkTable/ui/link-table-page.tsx b/apps/cs/src/pages/linkTable/ui/link-table-page.tsx
index cdb93b931..11f478b71 100644
--- a/apps/cs/src/pages/linkTable/ui/link-table-page.tsx
+++ b/apps/cs/src/pages/linkTable/ui/link-table-page.tsx
@@ -281,7 +281,7 @@ function LinkTablePage() {
let newData = { ...colInfo };
if (colInfo.mdfr) {
- const userName = await fetchUserInfo(colInfo.mdfr);
+ const userName = await fetchUserInfo();
newData = {
...colInfo,
mdfr: userName,
@@ -294,7 +294,7 @@ function LinkTablePage() {
setDialogOpen(true)
};
- const fetchUserInfo = async (id: string) => {
+ const fetchUserInfo = async () => {
const userData = await getUserInfo();
return userData.userName;
};