import React,{useEffect,useState} from 'react'; import { Form, Button, Input, message,Row, Col, DatePicker,Upload,Image,Modal } from 'antd'; import { DeleteOutlined,FileWordOutlined,FilePdfOutlined,FilePptOutlined,FileZipOutlined,FileExcelOutlined } from '@ant-design/icons'; import { formItemLayout, btnItemLayout } from '../../../../components/crud/FormLayoutProps'; import { createCrudService } from '../../../../components/crud/_'; import apiurl from '../../../../service/apiurl'; import moment from 'moment'; import NormalSelect from '../../../../components/Form/NormalSelect'; import EditText from '../../../../components/EditText'; const { Dragger } = Upload; const url = "http://223.75.53.141:9100/gs-tsg" const ModalForm = ({ mode, record,onEdit,onSave,onCrudSuccess }) => { if(record.meetDate){ record.meetDate = moment(record.meetDate) } const meetingType = [ { label: "视频会议", value: "0" }, { label: "现场会议", value: "1" }, { label: "电话会议", value: "2" }, { label: "网络会议", value: "3" }, ] console.log("record",record); const [form] = Form.useForm(); const [fileList, setFileList] = useState([]) //上传文件列表 const [fileIds, setFileIds] = useState([]) const [flag, setFlag] = useState(true) const [iframeSrc, setIframeSrc] = useState('') const [pdfViewOPen, setPdfViewOPen] = useState(false) const [editorText, setEditorText] = useState('') const [loading, setLoading] = useState(false) const onFinish = async(values) => { if(values.meetDate){values.meetDate = moment(values.meetDate).format('YYYY-MM-DD HH:mm')} values.adcd = record.adcd values.year = record.year values.fcId = record.fcId if (mode === 'edit') { let oldFiles = fileList.map(item => item.response?.data?.fileId ) values.fileIds = oldFiles; values.content = editorText onEdit(apiurl.fxzb.sxfd.fxkhgzh.edit,values) } if (mode === 'save') { values.content = editorText values.fileIds = fileIds onSave(apiurl.fxzb.sxfd.fxkhgzh.save,values) } } const onchange = (html) => { setEditorText(html) } /** * @description 删除上传的图片 * @param {string} id 删除的id */ const deleteFile = (fileId) => { let filterFile = fileList.filter(item => item.response?.data?.fileId !== fileId); setFileList(filterFile) // if (mode === "edit" && flag) { // createCrudService(apiurl.fxzb.sxfd.fxkhgzh.deleteFile + `/${fileId}`).delGet().then(res => { // if (res.code === 200) { // setFlag(false) // message.success("删除附件成功") // onCrudSuccess() // } // }) // } } /** * @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) setFlag(false) } /** * @description 文件下载 * @param {String} params 文件fileId */ const download = (params) => { let downloadLink = document.createElement("a"); downloadLink.href = `${process.env.REACT_APP_API_URL}/gunshiApp/xfflood/xfIdeoFcB/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) => { if (params) { setIframeSrc(params) setPdfViewOPen(true) } } useEffect(()=>{ if (record.fileList) { setFileList(record.fileList) } },[record]) return ( <>