import style from './style.module.scss' import { SceneType } from "constant" import { memo } from 'react' import { Table, Input, Button, Upload, message } from 'antd' import { useTypeColumns } from './cloumns' import { useThunkPaging } from 'hook' import { useSelector, useDispatch, filterScenesSelector, fetchScenes, uploadModelScene } from 'store' import { GetSceneByTypeParams, PagingRequest } from 'api' import type { UploadProps } from 'antd' const { Search } = Input type ListHeaderProps = SceneListProps & { onDataChange?: () => void, onSearch: (params: (GetSceneByTypeParams extends PagingRequest ? Omit : never)) => void } const ListHeader = memo(({ type, onSearch, onDataChange }: ListHeaderProps) => { const dispatch = useDispatch() const onUpload: UploadProps['beforeUpload'] = file => { const isZip = ['application/zip', 'application/rar'].includes(file.type) if (!isZip) { message.error('只能上传zip或rar文件') } dispatch(uploadModelScene({ file })) .unwrap() .finally(onDataChange) return Upload.LIST_IGNORE } const renderUpload = type === SceneType.SWMX && (