import React, { useEffect, useState, useMemo, useRef } from 'react'; import { Form, Button, Input, Row, Upload, Col, Table, DatePicker, InputNumber, message, Image, Modal, Typography, Select } 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'; const { RangePicker } = DatePicker const { Dragger } = Upload; const url = "http://223.75.53.141:9102/test.by-lyf.tmp" const opntios = [ { label: '宪法', value: '宪法' }, { label: '法律', value: '法律' }, { label: '行政法规', value: '行政法规' }, { label: '督察法规', value: '督察法规' }, { label: '司法解释', value: '司法解释' }, { label: '地方性法规', value: '地方性法规' }, ] const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => { const [form] = Form.useForm(); const [fileList, setFileList] = useState([]) //上传文件列表 const [fileIds, setFileIds] = useState([]) const [iframeSrc, setIframeSrc] = useState('') const [pdfViewOPen, setPdfViewOPen] = useState(false) const [loading, setLoading] = useState(false) /** * @description 文件下载 * @param {String} params 文件fileId */ const download = (params) => { let downloadLink = document.createElement("a"); downloadLink.href = `http://local.gunshiiot.com:18083/gunshiApp/xyt/SzRuleByLaw/file/download/${params}`; downloadLink.download = `${params.fileName}`; downloadLink.style.display = "none"; // 将链接添加到页面中 document.body.appendChild(downloadLink); // 模拟点击事件,开始下载 downloadLink.click(); } /** * @description 上传图片 * @param {string} file 上传的文件 */ const fileChange = (info) => { if (info.file.status === "done") { setLoading(false); } if (info.file.status === "uploading") { setLoading(true); } if (info.file.status === "error") { message.error("文件上传失败") setLoading(false); } let fileIds = info.fileList.map(file => { return file.response?.data?.fileId }) setFileIds(fileIds) setFileList(info.fileList) } /** * @description pdf文件预览 * @param {String} params 文件预览url */ const viewPdf = (params) => { setIframeSrc(params) setPdfViewOPen(true) } const onfinish = (values) => { values.files = fileList.map(item => item.response?.data); // values.eventsDate = values.eventsDate ? moment(values.eventsDate).format("YYYY-MM-DD 00:00:00") : '' if (mode === 'edit') { onEdit(apiurl.flfg.edit, {...record,...values}) } if (mode === 'save') { onSave(apiurl.flfg.add, values) } } /** * @description 删除上传的图片 * @param {string} id 删除的id */ const deleteFile = (fileId) => { console.log(fileId); let filterFile = fileList.filter(item => item.response?.data?.fileId !== fileId); setFileList(filterFile) } useEffect(() => { if (mode != 'save') { // const imgFile = record?.files?.map(o => ({ // name: o.name, // response: { // data: { // filePath: o.filePath, // fileId: o.fileId // } // }, // })) setFileList(record?.files) } }, [record, mode]) return ( <>