import { Space, Table, Radio, DatePicker, Form, Select, Button, message, Upload, Input, Row, Col, Switch, Image } from 'antd'; import { InboxOutlined, LinkOutlined, DeleteOutlined, LoadingOutlined, VerticalAlignBottomOutlined } from '@ant-design/icons' import { useForm } from 'antd/lib/form/Form'; import { useEffect, useState } from 'react'; import { httpgetExport, httppostAddfile } from '../../../../utils/request'; import { exportFile } from '../../../../utils/tools'; import PdfView from './pdfView' const { Dragger } = Upload; const list = [ { type: '立案', key: 'files3' }, { type: '调查取证', key: 'files4' }, { type: '审查处理', key: 'files5' }, { type: '送达执行', key: 'files6' }, { type: '结案', key: 'files7' } ] const baseUrl = "http://223.75.53.141:9100/gs-tsg" const Page = ({ uploadUrl, downloadUrl, type, getFormInfo, formJsonData }) => { const [form] = Form.useForm(); const [fileList, setFileList] = useState([]) const [fileListHj, setFileHj] = useState({'files3': [],'files4': [],'files5': [],'files6': [],'files7': []}) const [url, setUrl] = useState('') const [isModal, setIsModal] = useState(false) const [loading, setLoading] = useState(false) const getInfo = () => { form.validateFields().then((values) => { getFormInfo({ ...fileListHj,...values, }) setFileList([]) }).catch((errorInfo) => { console.log(errorInfo, 'error'); }) // } const cancel = () => { getFormInfo(false) form.resetFields() setFileList([]) } const deleteFile = (e,key) => { fileListHj[key] = fileListHj[key].filter(item => item.fileId !== e) setFileHj({ ...fileListHj }) } const props = (keys) => { return { name: 'file', multiple: true, fileList: fileList, showUploadList: false, beforeUpload: (file, fileList) => { // if (fileType == "pic" && // (file.type != "image/jpeg" || file.type != "image/png" || file.type != "image/jpg")) { // message.error('仅支持上传jpg/png/jpeg格式的图片'); // return false; // } else { // return true; // } }, customRequest(e) { setLoading(true); httppostAddfile(uploadUrl, e).then(res => { if(fileListHj[keys]){ fileListHj[keys].push(res.data) }else{ fileListHj[keys]=[] fileListHj[keys].push(res.data) } setFileHj({ ...fileListHj }) setLoading(false); }) } } }; function checkMediaType(url) { // 创建URL对象 var link = url; // 获取路径的最后一个点之后的内容作为文件扩展名 var extension = link?.split('.').pop().toLowerCase(); // 声明支持的图片和视频文件扩展名 var imageExtensions = ['jpg', 'jpeg', 'gif', 'png']; var file = ['pdf', 'word', 'xslx', 'xsl', 'txt', "pptx"]; // // 判断文件扩展名是否在图片扩展名数组中 if (imageExtensions.includes(extension)) { return 'image'; } // 判断文件扩展名是否在视频扩展名数组中 if (file.includes(extension)) { return extension; } // 扩展名不在图片或视频数组中,返回null表示无法确定媒体类型 return null; } const preView = (item) => { if (checkMediaType(item.fileName) == 'pdf') { // window.open(baseUrl + item.previewUrl) setUrl(item.fileId) setIsModal(true) } } /** * @description 文件下载 * @param {String} params 文件fileId */ const download = (id, name) => { httpgetExport(downloadUrl+id).then(res => { exportFile(name,res.data) }) } const onFinish = () => { } useEffect(() => { setFileHj(formJsonData) form.setFieldsValue(formJsonData) }, []) return (
案卷存档
{list.map(item1 => (
{item1.type}
{type !== 'view' &&

点击或将文件拖拽到这里上传

}
{fileListHj?.[item1.key]?.map((item) => { return
{checkMediaType(item.fileName) == 'image' && } { checkMediaType(item.fileName) !== 'image' && {checkMediaType(item.fileName)?.toUpperCase()} }
preView(item)}>{item.fileName} {type !== 'view' && deleteFile(item.fileId,item1.key)} />} download(item.fileId, item.fileName)} />
})}
))}
setIsModal(e)}/> ) } export default Page