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 ( <>