import { useMemo, useState } from 'react' import Modal from '../../components/DraggableModal' import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query' import { useNavigate } from 'react-router-dom' import { Button, Card, Checkbox, Form, Input, InputNumber, Radio, Select, Space, Typography, message } from 'antd' import CareTable from '../../components/CareTable' import { EditOutlined, PlusOutlined, QuestionCircleOutlined, TableOutlined, DollarOutlined } from '@ant-design/icons' import client, { apiPrefix, unwrap, type ApiResponse } from '../../api/client' import { resourceApi } from '../../api/resources' const planGroups = ['A', 'B', 'C', 'D', 'E', 'F', 'G'] as const type UnitCost = Record & { id: number telecom?: string incompanyName?: string memo?: string category?: string policyCount?: number planGroupA?: number | null planGroupB?: number | null planGroupC?: number | null planGroupD?: number | null planGroupE?: number | null planGroupF?: number | null planGroupG?: number | null } function planCount(row: UnitCost, group: string) { return row[`planGroup${group}` as keyof UnitCost] as number | null | undefined } function PlanGroupCell({ value }: { value?: number | null }) { if (value == null) return - 미사용 - if (value === 0) return ) }, { title: '비고', dataIndex: 'memo', width: 160, ellipsis: true }, { title: '정책적용', width: 140, align: 'center' as const, render: (_: unknown, row: UnitCost) => ( ) }, { title: '관리', width: 60, align: 'center' as const, render: (_: unknown, row: UnitCost) => (
등록된 단가표 {query.data?.total ?? 0} * 단가표는 최대 20개 등록이 가능하며 정책단가를 수정해서 사용해주세요.
{ setCreating(false); setEditing(null) }} footer={null} destroyOnHidden width={480} >
save.mutate(v)} className="unitcost-form"> * 통신 3사만 지원합니다.}> ({ value: v, label: `${v}개` }))} /> * 지정입고처의 개통만 적용할 경우 선택해주세요.}> ({ value: g, label: `${g}군` }))} />
Number(v ?? 0).toLocaleString() }, ]} />
) }