summaryrefslogtreecommitdiff
path: root/lib/evaluation-criteria/table/reg-eval-criteria-table.tsx
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-06-27 01:16:20 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-06-27 01:16:20 +0000
commite9897d416b3e7327bbd4d4aef887eee37751ae82 (patch)
treebd20ce6eadf9b21755bd7425492d2d31c7700a0e /lib/evaluation-criteria/table/reg-eval-criteria-table.tsx
parent3bf1952c1dad9d479bb8b22031b06a7434d37c37 (diff)
(대표님) 20250627 오전 10시 작업사항
Diffstat (limited to 'lib/evaluation-criteria/table/reg-eval-criteria-table.tsx')
-rw-r--r--lib/evaluation-criteria/table/reg-eval-criteria-table.tsx42
1 files changed, 25 insertions, 17 deletions
diff --git a/lib/evaluation-criteria/table/reg-eval-criteria-table.tsx b/lib/evaluation-criteria/table/reg-eval-criteria-table.tsx
index a2242309..d73eb5bd 100644
--- a/lib/evaluation-criteria/table/reg-eval-criteria-table.tsx
+++ b/lib/evaluation-criteria/table/reg-eval-criteria-table.tsx
@@ -7,12 +7,13 @@ import getColumns from './reg-eval-criteria-columns';
import { getRegEvalCriteria } from '../service';
import {
REG_EVAL_CRITERIA_CATEGORY,
- REG_EVAL_CRITERIA_ITEM,
REG_EVAL_CRITERIA_CATEGORY2,
+ REG_EVAL_CRITERIA_ITEM,
type RegEvalCriteriaView
} from '@/db/schema';
+import RegEvalCriteriaCreateDialog from './reg-eval-criteria-create-dialog';
import RegEvalCriteriaDeleteDialog from './reg-eval-criteria-delete-dialog';
-import RegEvalCriteriaFormSheet from './reg-eval-criteria-form-sheet';
+import RegEvalCriteriaUpdateSheet from './reg-eval-criteria-update-sheet';
import RegEvalCriteriaTableToolbarActions from './reg-eval-criteria-table-toolbar-actions';
import {
type DataTableFilterField,
@@ -38,7 +39,7 @@ interface RegEvalCriteriaTableProps {
function RegEvalCriteriaTable({ promises }: RegEvalCriteriaTableProps) {
const router = useRouter();
const [rowAction, setRowAction] = useState<DataTableRowAction<RegEvalCriteriaView> | null>(null);
- const [isCreateFormOpen, setIsCreateFormOpen] = useState<boolean>(false);
+ const [isCreateDialogOpen, setIsCreateDialogOpen] = useState<boolean>(false);
const [promiseData] = use(promises);
const tableData = promiseData;
@@ -54,7 +55,7 @@ function RegEvalCriteriaTable({ promises }: RegEvalCriteriaTableProps) {
placeholder: '평가부문 선택...',
},
{
- id: 'scoreCategory',
+ id: 'category2',
label: '점수구분',
placeholder: '점수구분 선택...',
},
@@ -72,7 +73,7 @@ function RegEvalCriteriaTable({ promises }: RegEvalCriteriaTableProps) {
options: REG_EVAL_CRITERIA_CATEGORY,
},
{
- id: 'scoreCategory',
+ id: 'category2',
label: '점수구분',
type: 'select',
options: REG_EVAL_CRITERIA_CATEGORY2,
@@ -102,8 +103,16 @@ function RegEvalCriteriaTable({ promises }: RegEvalCriteriaTableProps) {
enablePinning: true,
enableAdvancedFilter: true,
initialState: {
- sorting: [{ id: 'id', desc: false }],
+ sorting: [
+ { id: 'criteriaId', desc: false },
+ { id: 'orderIndex', desc: false },
+ ],
columnPinning: { left: ['select'], right: ['actions'] },
+ columnVisibility: {
+ id: false,
+ criteriaId: false,
+ orderIndex: false,
+ },
},
getRowId: (originalRow) => String(originalRow.id),
shallow: false,
@@ -111,14 +120,14 @@ function RegEvalCriteriaTable({ promises }: RegEvalCriteriaTableProps) {
});
const emptyCriteriaViewData: RegEvalCriteriaView = {
- id: 0,
+ id: null,
category: '',
- scoreCategory: '',
+ category2: '',
item: '',
classification: '',
range: null,
remarks: null,
- criteriaId: 0,
+ criteriaId: null,
detail: '',
orderIndex: null,
scoreEquipShip: null,
@@ -131,10 +140,10 @@ function RegEvalCriteriaTable({ promises }: RegEvalCriteriaTableProps) {
router.refresh();
}, [router]);
const handleCreateCriteria = () => {
- setIsCreateFormOpen(true);
+ setIsCreateDialogOpen(true);
};
const handleCreateSuccess = useCallback(() => {
- setIsCreateFormOpen(false);
+ setIsCreateDialogOpen(false);
refreshData();
}, [refreshData]);
const handleModifySuccess = useCallback(() => {
@@ -161,16 +170,15 @@ function RegEvalCriteriaTable({ promises }: RegEvalCriteriaTableProps) {
/>
</DataTableAdvancedToolbar>
</DataTable>
- <RegEvalCriteriaFormSheet
- open={isCreateFormOpen}
- onOpenChange={setIsCreateFormOpen}
- criteriaViewData={null}
+ <RegEvalCriteriaCreateDialog
+ open={isCreateDialogOpen}
+ onOpenChange={setIsCreateDialogOpen}
onSuccess={handleCreateSuccess}
/>
- <RegEvalCriteriaFormSheet
+ <RegEvalCriteriaUpdateSheet
open={rowAction?.type === 'update'}
onOpenChange={() => setRowAction(null)}
- criteriaViewData={rowAction?.row.original ?? null}
+ criteriaViewData={rowAction?.row.original ?? emptyCriteriaViewData}
onSuccess={handleModifySuccess}
/>
<RegEvalCriteriaDeleteDialog