import React,{useEffect,useState,useRef} from 'react'; import { Form, Button, Input, Row, Col, Upload,message,Image } from 'antd'; import {PaperClipOutlined,DeleteOutlined} from '@ant-design/icons'; import { formItemLayout, btnItemLayout } from '../../../../components/crud/FormLayoutProps'; import apiurl from '../../../../service/apiurl'; const ModalForm = ({ mode, record, onEdit, onSave, onCrudSuccess }) => { const url = "http://223.75.53.141:9102/test.by-lyf.tmp" const [form] = Form.useForm(); const [fileList, setFileList] = useState([]) //上传文件列表 const [loading, setLoading] = useState(false) const fileChange = (info) => { if (info.file.status === "done") { setLoading(false); setFileList(info.fileList) } if (info.file.status === "uploading") { setLoading(true); } if (info.file.status === "error") { message.error("文件上传失败") setLoading(false); } setFileList(info.fileList) } const beforeUpload = (file) => { if (fileList.length == 1) { message.error("只能上传一张图片!") return false; } const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/jpg' || file.type === 'image/png'; if (!isJpgOrPng) { message.error('请上传jpeg/png/jpg格式的图片!'); } return isJpgOrPng }; const onFinish = async (values) => { let oldFiles = fileList.map(item => ({ fileId: item.response?.data?.fileId })) values.pic = oldFiles[0]; delete values.files if (mode === 'save') { onSave(apiurl.rcgl.byfz.fzxc.picSave,values) } } const deleteFile = (fileId) => { let filterFile = fileList.filter(item => item.response?.data?.fileId !== fileId); setFileList(filterFile) } return ( <>
{mode == "view" ? null :
上传图片 (支持扩展名:.jpg .png)
}
{ loading ? 文件正在上传中,请等待 : fileList.length > 0 && fileList.map(file => { return (
{file.name}
{mode !== "view" &&
deleteFile(file.response?.data?.fileId)} >
}
) }) }
{ mode==='view'?null:( <> ) }
); } export default ModalForm;