import { useEffect, useState } from "react"; import { Button, Row, Col, Popconfirm, Image, Empty, Table, message, Space, } from "antd"; import { resource } from "../../../api"; import styles from "./index.module.less"; import { CloseOutlined } from "@ant-design/icons"; import { UploadImageSub } from "../../../compenents/upload-image-button/upload-image-sub"; import type { ColumnsType } from "antd/es/table"; import { dateFormat } from "../../../utils/index"; import { TreeCategory, DurationText } from "../../../compenents"; import { UploadVideoButton } from "../../../compenents/upload-video-button"; import icon from "../../../assets/images/commen/icon-video.png"; interface DataType { id: React.Key; name: string; created_at: string; disk: string; } export const ResourceVideosPage = () => { const [videoList, setVideoList] = useState([]); const [videosExtra, setVideoExtra] = useState([]); const [refresh, setRefresh] = useState(false); const [page, setPage] = useState(1); const [size, setSize] = useState(10); const [total, setTotal] = useState(0); const [loading, setLoading] = useState(true); const [category_ids, setCategoryIds] = useState([]); const columns: ColumnsType = [ // { // title: "封面", // dataIndex: "id", // render: (id: string) => ( // // ), // }, { title: "视频名称", dataIndex: "name", render: (text: string) => (
{text}
), }, { title: "视频时长", dataIndex: "id", render: (id: string) => ( ), }, { title: "创建人", dataIndex: "disk", }, { title: "视频时长", dataIndex: "created_at", render: (text: string) => {dateFormat(text)}, }, { title: "操作", key: "action", fixed: "right", width: 100, render: (_, record: any) => ( removeResource(record.id)} okText="确定" cancelText="取消" > ), }, ]; // 删除图片 const removeResource = (id: number) => { if (id === 0) { return; } resource.destroyResource(id).then(() => { message.success("删除成功"); resetVideoList(); }); }; // 获取视频列表 const getVideoList = () => { setLoading(true); let categoryIds = category_ids.join(","); resource .resourceList(page, size, "", "", "", "VIDEO", categoryIds) .then((res: any) => { setTotal(res.data.result.total); setVideoList(res.data.result.data); setVideoExtra(res.data.videos_extra); setLoading(false); }) .catch((err: any) => { console.log("错误,", err); }); }; // 重置列表 const resetVideoList = () => { setPage(1); setSize(10); setVideoList([]); setRefresh(!refresh); }; // 加载视频列表 useEffect(() => { getVideoList(); }, [category_ids, refresh, page, size]); const paginationProps = { current: page, //当前页码 pageSize: size, total: total, // 总条数 onChange: (page: number, pageSize: number) => handlePageChange(page, pageSize), //改变页码的函数 showSizeChanger: true, }; const handlePageChange = (page: number, pageSize: number) => { setPage(page); setSize(pageSize); }; return ( <>
setCategoryIds(keys)} />
视频 / 后端课程
{ resetVideoList(); }} >
record.id} /> ); };