| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | import React from 'react'; |
| | import { Layout } from '@douyinfe/semi-ui'; |
| | import CardPro from '../../common/ui/CardPro'; |
| | import TaskLogsTable from './TaskLogsTable'; |
| | import TaskLogsActions from './TaskLogsActions'; |
| | import TaskLogsFilters from './TaskLogsFilters'; |
| | import ColumnSelectorModal from './modals/ColumnSelectorModal'; |
| | import ContentModal from './modals/ContentModal'; |
| | import { useTaskLogsData } from '../../../hooks/task-logs/useTaskLogsData'; |
| | import { useIsMobile } from '../../../hooks/common/useIsMobile'; |
| | import { createCardProPagination } from '../../../helpers/utils'; |
| |
|
| | const TaskLogsPage = () => { |
| | const taskLogsData = useTaskLogsData(); |
| | const isMobile = useIsMobile(); |
| |
|
| | return ( |
| | <> |
| | {/* Modals */} |
| | <ColumnSelectorModal {...taskLogsData} /> |
| | <ContentModal {...taskLogsData} isVideo={false} /> |
| | {/* 新增:视频预览弹窗 */} |
| | <ContentModal |
| | isModalOpen={taskLogsData.isVideoModalOpen} |
| | setIsModalOpen={taskLogsData.setIsVideoModalOpen} |
| | modalContent={taskLogsData.videoUrl} |
| | isVideo={true} |
| | /> |
| | |
| | <Layout> |
| | <CardPro |
| | type='type2' |
| | statsArea={<TaskLogsActions {...taskLogsData} />} |
| | searchArea={<TaskLogsFilters {...taskLogsData} />} |
| | paginationArea={createCardProPagination({ |
| | currentPage: taskLogsData.activePage, |
| | pageSize: taskLogsData.pageSize, |
| | total: taskLogsData.logCount, |
| | onPageChange: taskLogsData.handlePageChange, |
| | onPageSizeChange: taskLogsData.handlePageSizeChange, |
| | isMobile: isMobile, |
| | t: taskLogsData.t, |
| | })} |
| | t={taskLogsData.t} |
| | > |
| | <TaskLogsTable {...taskLogsData} /> |
| | </CardPro> |
| | </Layout> |
| | </> |
| | ); |
| | }; |
| |
|
| | export default TaskLogsPage; |
| |
|