import React,{useState,useEffect} from 'react' import { Row, Col, Form, Input, DatePicker, Button,Upload,message,Modal } from "antd" import {PaperClipOutlined,DeleteOutlined} from '@ant-design/icons'; import NormalSelect from '../../../../../components/Form/NormalSelect'; import { formItemLayout } from '../../../../../components/crud/FormLayoutProps' import apiurl from '../../../../../service/apiurl'; import { httpget2, httppost2 } from '../../../../../utils/request'; import moment from 'moment' import "./index.less" export default function ProjectBasciInfo() { const [form] = Form.useForm(); const [data, setData] = useState() const [fileList, setFileList] = useState([]) //上传文件列表 const [fileIds, setFileIds] = useState([]) const [loading, setLoading] = useState(false) const [iframeId, setIframeId] = useState('') const [perviewOpen, setPerviewOpen] = useState(false) const [skdisabled, setSkDisabled] = useState(true) const optionsLevel = [ { label: "大 (1)型", value:"1" }, { label: "大 (2)型", value:"2" }, { label: "中型", value:"3" }, { label: "小 (1)型", value:"4" }, { label: "小 (2)型", value:"5" }, { label: "其他", value:"9" } ] const getData = async () => { try { const res = await httppost2(apiurl.dataResourcesCenter.projectAndWater.shuikuBasicinfo.detail) if (res.code == 200) { form.setFieldsValue(res.data[0]) setData(res.data[0]) if (res.data[0].files.length > 0) { getFileInfo(res.data[0]?.files[0]?.fileId) } } } catch (error) { console.log(error); } } const beforeUpload = (file) => { const isPdf = file.type === 'application/pdf' if (!isPdf) { message.error("请上传pdf文件") } return isPdf } 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); } if (info?.file.type === "application/pdf") { let fileIds = info.fileList.map(file => { return file.response?.data?.fileId }) setFileIds(fileIds) setFileList(info.fileList) } } const deleteFile = (fileId) => { let filterFile = fileList.filter(item => item.response?.data?.fileId !== fileId); setFileList(filterFile) } const onFinish = async () => { try { let oldFiles = fileList.map(item => ({ fileId: item.response?.data?.fileId })) const values = form.getFieldsValue(); const params = { ...data, ...values, files:oldFiles } const res = await httppost2(apiurl.dataResourcesCenter.projectAndWater.shuikuBasicinfo.update,params) if (res.code == 200) { message.success("修改成功") setSkDisabled(true) getData() } } catch (error) { console.log(error); } } const getFileInfo = async(id) => { try { const res = await httpget2(`${apiurl.dataResourcesCenter.projectAndWater.shuikuBasicinfo.getFile}/${id}`) let obj ={ name: res.data.fileName, response: { data: { filePath: res.data.filePath, fileId:res.data.fileId } }, } setFileList([obj]) } catch (error) { console.log(error); } } useEffect(() => { getData() }, []) return (