From 5aa4a814ab8d4aa194a9683ebefaefdfc6d92c3a Mon Sep 17 00:00:00 2001 From: liuwh <964324856@qq.com> Date: Tue, 17 Sep 2024 17:18:05 +0800 Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh into master --- gz-customerSystem/src/components/ArcoUpload/index.jsx | 39 ++++++++++++++++++++++++++++++++------- 1 files changed, 32 insertions(+), 7 deletions(-) diff --git a/gz-customerSystem/src/components/ArcoUpload/index.jsx b/gz-customerSystem/src/components/ArcoUpload/index.jsx index e9f5cca..034b40c 100644 --- a/gz-customerSystem/src/components/ArcoUpload/index.jsx +++ b/gz-customerSystem/src/components/ArcoUpload/index.jsx @@ -23,22 +23,37 @@ * label *, // form的label名 * editData *, // 编辑回显数据 * handleDelFile *,//删除文件接口 + * ownerType,//用于回显文件 + * formItemParams, formItem的参数 */ export default function ArcoUpload(props) { const [myFileList, setMyFileList] = useState([]) const handleFileListChange = (fileList) => { - setMyFileList(fileList); if (props.onFileListChange) { - props.onFileListChange(fileList.length); + props.onFileListChange(fileList); } }; useEffect(() => { if (props.editData) { - console.log(props.editData[props.field]); - setMyFileList(props.editData[props.field]) + if(props.editData[props.field]) { + //新增的时候有file数据,可以这样子回显 + setMyFileList(props.editData[props.field]) + } else { + //编辑的时候,文件统一放在filInfoList了,需要设置ownerType获取到该材料文件回显 + const fileInfoList = props.editData.fileInfoList + if(fileInfoList && fileInfoList.length != 0) { + let file = []; + fileInfoList.forEach(item => { + if(item.ownerType == props.ownerType) { + file.push(item.fileList[0]) + } + }) + setMyFileList(file) + } + } } }, [props.editData]) @@ -48,6 +63,7 @@ label={props.label} field={props.field} triggerPropName='fileList' + {...props.formItemParams} > <Upload drag @@ -61,7 +77,8 @@ }} headers={{ Authorization: $$.getSessionStorage('customerSystemToken') }} onChange={(fileList, file) => { - const { status, response } = file + const { status, response, uid } = file + console.log(fileList, file); //因为字节upLoad组件有bug,不能区分添加文件还是删除文件,所以用这种办法来判断是不是删除 const isDel = myFileList && myFileList.length > fileList.length //上传失败 @@ -80,10 +97,18 @@ } //删除文件 if (isDel && props.handleDelFile) { - props.handleDelFile(response.data[0].id) + if(response) { + //删除的是新提交的 + props.handleDelFile(response.data[0].id) + } else { + //删除的是回显的文件 + props.handleDelFile(uid) + } + } - // setMyFileList(fileList) handleFileListChange(fileList); + setMyFileList(fileList) + }} {...props.params}//自定义 /> -- Gitblit v1.8.0