import React, { Fragment, useRef, useMemo,useEffect,useState } from 'react'; import BasicCrudModal from '../../../../components/crud/BasicCrudModal'; import { Table, Card, Modal, Form, Input, Button, Row,Col, Timeline, message, Tabs,Image } from 'antd'; import {FileWordOutlined,FilePdfOutlined,FileZipOutlined,FileExcelOutlined } from '@ant-design/icons'; import { useSelector } from 'react-redux'; import ToolBar from './toolbar'; import apiurl from '../../../../service/apiurl'; import usePageTable from '../../../../components/crud/usePageTable2'; import { createCrudService } from '../../../../components/crud/_'; import {CrudOpRender_text} from '../../../../components/crud/CrudOpRender'; import './index.less' import { httppost5 } from '../../../../utils/request'; import { exportFile } from '../../../../utils/tools'; const url = "http://223.75.53.141:9102/test.by-lyf.tmp" const Page = () => { const role = useSelector(state => state.auth.role); const editBtn = role?.rule?.find(item => item.menuName == "编辑"); const viewBtn = role?.rule?.find(item => item.menuName == "查看"); const delBtn = role?.rule?.find(item => item.menuName == "删除"); const refModal = useRef(); const [searchVal, setSearchVal] = useState(false) const [isFetch, setIsFetch] = useState(false) const [iframeSrc, setIframeSrc] = useState('') const [pdfViewOPen, setPdfViewOPen] = useState(false) const command = (type) => (params) => { if (type === 'save') { refModal.current.showSave(); } else if (type === 'edit') { refModal.current.showEdit({ ...params }); } else if (type === 'view') { refModal.current.showView(params); } else if (type === 'del') { refModal.current.onDeleteGet(apiurl.rcgl.gcdsj.delete + `/${params.id}`); } } const download = (params) => { let downloadLink = document.createElement("a"); downloadLink.href = `http://local.gunshiiot.com:18083/gunshiApp/tsg/projectEvents/file/download/${params}`; downloadLink.download = `${params.fileName}`; downloadLink.style.display = "none"; // 将链接添加到页面中 document.body.appendChild(downloadLink); // 模拟点击事件,开始下载 downloadLink.click(); } const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.gcdsj.qzqda.list).find_noCode); console.log(tableProps); /** * @description pdf文件预览 * @param {String} params 文件预览url */ const viewPdf = (params) => { setIframeSrc(params) setPdfViewOPen(true) } const onExport = () => { let params = { ...searchVal, pageSo:{ pageNum:1,pageSize:9999 } } httppost5(apiurl.gcdsj.qzqda.export, params).then(res => { exportFile(`全周期档案.xlsx`,res.data) }) } useEffect(()=>{ const params = { search: { ...searchVal, }, pageSize:9999 }; search(params) }, [searchVal]) return ( <>
{tableProps.dataSource?.map((item, index) => (
{item.eventsDate}
{item.typeName}
{item.eventsDesc}
附件: { item.files?.length > 0 && item.files?.map(file => { return (
{file.fileName?.indexOf('.docx') > -1 ?
{ download(file.fileId) }} style={{ cursor: 'pointer' }} >
: file.fileName?.indexOf('.pdf') > -1 ?
{ viewPdf(file?.fileId) }} style={{ cursor: 'pointer' }} >
: file.fileName?.indexOf('.zip') > -1 ?
{ download(file?.fileId) }} style={{ cursor: 'pointer' }} >
: file.fileName?.indexOf('.xlsx') > -1 ?
{ download(file?.fileId) }} style={{ cursor: 'pointer' }} >
: } {file.fileName}
) }) }
))}
{ setPdfViewOPen(false) }} >