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