import React,{useEffect,useState,useMemo,useRef} from 'react'; import { Form, Button, Input, Row,Upload, Col, Table, DatePicker, InputNumber,message,Image,Modal,Typography ,Popconfirm } from 'antd'; import { DeleteOutlined,FileWordOutlined,FilePdfOutlined,FileZipOutlined,FileExcelOutlined } from '@ant-design/icons'; import { formItemLayout, btnItemLayout } from '../../../components/crud/FormLayoutProps'; import apiurl from '../../../service/apiurl'; import NormalSelect from '../../../components/Form/NormalSelect'; import "./index.less" import moment from 'moment'; import { createCrudService } from '../../../components/crud/_'; const { RangePicker } = DatePicker const { Dragger } = Upload; const url = "http://223.75.53.141:9102/test.by-lyf.tmp" const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => { const types = [ { label: "水利", value:1 }, { label: "岗前培训", value:2 },{ label: "在岗培训", value:3 },{ label: "政治学习教育", value:4 },{ label: "其他", value:5 }, ] const [details, setDetails] = useState([]) const [form] = Form.useForm(); const [fileList, setFileList] = useState([]) //上传文件列表 const [iframeSrc, setIframeSrc] = useState('') const [pdfViewOPen, setPdfViewOPen] = useState(false) const [loading, setLoading] = useState(false) /** * @description 获取查看时文件 * @param {*} type * @returns */ const getFileInfo = (params) => { createCrudService(apiurl.fxzb.qsdw.zq.getFile).delGet({ teamId: params.teamId }).then(res => { if (res.code === 200) { let fileArr = res.data?.files.map(item => { return { name: item.fileName, response: { data: { filePath: item.filePath, fileId:item.fileId } }, } }) setFileList(fileArr) const result = res.data?.details.map(item => ({ ...item, key: item.detailId })) console.log("resss",result); setDetails(result) } }) } /** * @description 文件下载 * @param {String} params 文件fileId */ const download = (params) => { let downloadLink = document.createElement("a"); downloadLink.href = `http://local.gunshiiot.com:18083/gunshiApp/xyt/rescue/team/file/download/${params}`; downloadLink.download = `${params.fileName}`; downloadLink.style.display = "none"; // 将链接添加到页面中 document.body.appendChild(downloadLink); // 模拟点击事件,开始下载 downloadLink.click(); } /** * @description pdf文件预览 * @param {String} params 文件预览url */ const viewPdf = (params) => { setIframeSrc(params) setPdfViewOPen(true) } useEffect(()=>{ if (record.teamId ) { getFileInfo(record) } }, [record]) useEffect(() => { if (mode !== "save") { let dataSo = [ record.validStartDate? moment(record.validStartDate):'', record.validEndDate? moment(record.validEndDate): '' ] form.setFieldsValue({...record,dateRangeSo:dataSo}) } }, [record,mode]) return (
基本信息
{/* */}
dateString} getValueProps={(value) => ({ value: value ? moment(value) : undefined })} > dateString} getValueProps={(value) => ({ value: value ? moment(value) : undefined })} >
其他信息
{ fileList.length > 0 && fileList.map(file => { return (
{file.name.indexOf('.docx') > -1 ?
{ download(file.response?.data?.fileId) }} style={{ cursor: 'pointer' }} >
: file.name.indexOf('.pdf') > -1 ?
{ viewPdf(file.response?.data?.fileId) }} style={{ cursor: 'pointer' }} >
: file.name.indexOf('.zip') > -1 ?
{ download(file.response?.data?.fileId) }} style={{ cursor: 'pointer' }} >
: file.name.indexOf('.xlsx') > -1 ?
{ download(file.response?.data?.fileId) }} style={{ cursor: 'pointer' }} >
: } {file.name}
) }) }
{ mode==='view'?null:( <> ) }
{ setPdfViewOPen(false) }} >