import React, { useCallback } from 'react'; import { Box, TableContainer, Table, Thead, Tbody, Tr, Th, Td, IconButton, Flex, Button, useDisclosure, Textarea, Menu, MenuButton, MenuList, MenuItem } from '@chakra-ui/react'; import type { ModelSchema } from '@/types/mongoSchema'; import { ModelDataSchema } from '@/types/mongoSchema'; import { ModelDataStatusMap } from '@/constants/model'; import { usePaging } from '@/hooks/usePaging'; import ScrollData from '@/components/ScrollData'; import { getModelDataList, delOneModelData, putModelDataById } from '@/api/model'; import { DeleteIcon, RepeatIcon } from '@chakra-ui/icons'; import { useToast } from '@/hooks/useToast'; import { useLoading } from '@/hooks/useLoading'; import dynamic from 'next/dynamic'; const InputModel = dynamic(() => import('./InputDataModal')); const SelectModel = dynamic(() => import('./SelectFileModal')); const ModelDataCard = ({ model }: { model: ModelSchema }) => { const { toast } = useToast(); const { Loading } = useLoading(); const { nextPage, isLoadAll, requesting, data: modelDataList, total, setData, getData } = usePaging({ api: getModelDataList, pageSize: 20, params: { modelId: model._id } }); const updateAnswer = useCallback( async (dataId: string, text: string) => { await putModelDataById({ dataId, text }); toast({ title: '修改回答成功', status: 'success' }); }, [toast] ); const { isOpen: isOpenInputModal, onOpen: onOpenInputModal, onClose: onCloseInputModal } = useDisclosure(); const { isOpen: isOpenSelectModal, onOpen: onOpenSelectModal, onClose: onCloseSelectModal } = useDisclosure(); return ( <> 模型数据: {total}组{' '} (测试版本) } aria-label={'refresh'} variant={'outline'} mr={4} onClick={() => getData(1, true)} /> 导入 手动输入 文件导入 {modelDataList.map((item) => ( ))}
Question Text Status
{item.q.map((item, i) => ( Q{i + 1}:{' '} {item.text} ))} {ModelDataStatusMap[item.status]} } variant={'outline'} colorScheme={'gray'} aria-label={'delete'} size={'sm'} onClick={async () => { delOneModelData(item._id); setData((state) => state.filter((data) => data._id !== item._id)); }} />
{isOpenInputModal && ( getData(1, true)} /> )} {isOpenSelectModal && ( getData(1, true)} /> )} ); }; export default ModelDataCard;