forked from gzzfw/frontEnd/gzDyh

dminyi
2024-09-08 ee9bd5cee3fe552b5f788e2af2dcd2daee6087f0
gz-customerSystem/src/components/ArcoUpload/index.jsx
@@ -23,6 +23,7 @@
 * label *, // form的label名
 * editData *, // 编辑回显数据
 * handleDelFile *,//删除文件接口
 * ownerType,//用于回显文件
 */
export default function ArcoUpload(props) {
@@ -36,8 +37,22 @@
  useEffect(() => {
    if (props.editData) {
      console.log(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])
@@ -60,7 +75,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
            //上传失败
@@ -79,7 +95,14 @@
            }
            //删除文件
            if (isDel && props.handleDelFile) {
              if(response) {
                //删除的是新提交的
              props.handleDelFile(response.data[0].id)
              } else {
                //删除的是回显的文件
                props.handleDelFile(uid)
              }
            }
            handleFileListChange(fileList);
            setMyFileList(fileList)