import React, { useCallback, useEffect, useRef, useState } from "react"; import styles from "./index.module.scss"; import { Button, Cascader, DatePicker, Form, FormInstance, Input, InputNumber, Popconfirm, Select, } from "antd"; import mapDataAll from "./data"; import dayjs from "dayjs"; import TextArea from "antd/es/input/TextArea"; import Z1upImgs from "@/components/Z1upImgs"; import Z2upVideos from "@/components/Z2upVideos"; import { MessageFu } from "@/utils/message"; import Z3upFiles from "@/components/Z3upFiles"; import classNames from "classnames"; const { RangePicker } = DatePicker; const eeeeArr = [ { value: "项目状态1", label: "项目状态1", }, { value: "项目状态2", label: "项目状态2", }, ]; type LinkType = { id: number; name: string; link: string; }; type Props = { pageType: { txt: string; id: number }; closeFu: () => void; addFu: () => void; editFu: () => void; }; function A1Add({ pageType, closeFu, addFu, editFu }: Props) { useEffect(() => { console.log("进来编辑和新增项目的页面~~~~~~~"); }, []); // 表单的ref const FormBoxRef = useRef(null); // 图片数组的ref const imgsRef = useRef(null); // 视频数组的ref const videosRef = useRef(null); // 有关 项目链接 const [linkArr, setLinkArr] = useState([]); const addLinkFu = useCallback(() => { if (linkArr.length >= 10) return; setLinkArr([...linkArr, { id: Date.now(), name: "", link: "" }]); }, [linkArr]); const delLinkFu = useCallback( (id: number) => { setLinkArr(linkArr.filter((v) => v.id !== id)); }, [linkArr] ); const linkChangeFu = useCallback( (id: number, val: string, type: "name" | "link") => { setLinkArr( linkArr.map((v) => ({ ...v, [type]: v.id === id ? val.replace(/\s+/g, "") : v[type], })) ); }, [linkArr] ); // 没有通过校验 const onFinishFailed = useCallback(() => {}, []); // 通过校验点击确定 const onFinish = useCallback( async (value: any) => { console.log("通过校验", value); if (value.ffff) { console.log( "修改日期格式", dayjs(value.ffff[0]).format("YYYY-MM-DD"), dayjs(value.ffff[1]).format("YYYY-MM-DD") ); } // 获取图片地址 const imgsRes = imgsRef.current.imgIdsRes(); console.log("获取图片地址", imgsRes); // 获取视频地址 const videosRes = videosRef.current.videoIdsRes(); console.log("获取视频地址", videosRes); // 检查链接填写完整情况 const linkArrFlag = linkArr.some((v) => !v.name || !v.link); if (linkArrFlag) return MessageFu.warning("请完整填写 项目链接 !"); console.log("项目链接", linkArr); // 项目成功 const filesRes = filesRef.current.filesIdRes(); console.log("获取项目成果文件", filesRes); if (pageType.txt === "add") { MessageFu.success("新增成功!"); addFu(); } else if (pageType.txt === "edit") { MessageFu.success("编辑成功!"); editFu(); } closeFu(); }, [addFu, closeFu, editFu, linkArr, pageType.txt] ); // 项目成功的 ref const filesRef = useRef(null); return (
e.target.value.replace(/\s+/g, "")} > e.target.value.replace(/\s+/g, "")} >