forked from gzzfw/frontEnd/gzDyh

zhangyongtian
2024-09-13 621a3268a8c2cebf899e3ba824c49a1513cb619b
gz-customerSystem/src/views/register/matterDetail/FileTable.jsx
@@ -100,9 +100,9 @@
      title: '操作',
      dataIndex: 'perClassName',
      key: 'perClassName',
      width: props.isReview ? 60 : 125,
      width: props.isReview ? 80 : 140,
      fixed: 'right',
      render: (text, record) => (
      render: (text, record, index) => (
        <Space size="middle">
          <Link onClick={() => {
            setSourceType(record.ownerType)
@@ -113,7 +113,7 @@
          {!props.isReview && <Link onClick={() => {
            if (record.fileInfoList && record.fileInfoList.length != 0) {
              let ids = record.fileInfoList?.map(item => item.id).join(',')
              handleDelete(ids)
              handleDelete(ids, record, index)
            } else {
              $$.info({ type: 'warning', content: '还没上传关于该材料的文件!' });
            }
@@ -121,8 +121,8 @@
            删除
          </Link>}
          <Link onClick={() => {
            if (record.fileInfoList && record.fileInfoList.length != 0) {
              let ids = record.fileInfoList?.map(item => item.id).join(',')
            if (record.fileList && record.fileList.length != 0) {
              let ids = record.fileList?.map(item => item.id).join(',')
              handleDownlod(ids)
            } else {
              $$.info({ type: 'warning', content: '还没上传关于该材料的文件!' });
@@ -131,11 +131,12 @@
            下载
          </Link>
          {!props.isReview && <Link onClick={() => {
            console.log(record);
            setSourceType(record.ownerType)
            setUpLoadVisible(true)
            setFileInfoList(record.fileInfoList)
            setFileInfoList(record.fileList)
            setTimeout(() => {
              formRef.current.setFieldValue('file', record.fileInfoList)
              formRef.current.setFieldValue('file', record.fileList)
            }, 0)
          }}>
            上传
@@ -151,6 +152,7 @@
  ]
  useEffect(() => {
    console.log(props.fileInfoList);
    if (props.fileInfoList && props.fileInfoList.length != 0) {
      //证明材料
      const applyFile = props.fileInfoList.find(item => item.ownerType == "22_00018-101")
@@ -165,13 +167,13 @@
          return {
            ...item,
            size: applyFile.fileList.length,
            fileNames: applyFile.fileList?.map(item => item.trueName).join(','),
            fileNames: applyFile.fileList?.map(item => item.name).join(','),
            updateTime: $$.timeFormat(applyFile.fileList[applyFile.fileList.length - 1].updateTime),
            fileInfoList: applyFile.fileList.map(item => {
            fileList: applyFile.fileList.map(item => {
              return {
                ...item,
                uid: item.id,
                name: item.trueName
                // name: item.trueName
              }
            })
          }
@@ -180,13 +182,13 @@
          return {
            ...item,
            size: evidenceFile.fileList.length,
            fileNames: evidenceFile.fileList?.map(item => item.trueName).join(','),
            fileNames: evidenceFile.fileList?.map(item => item.name).join(','),
            updateTime: $$.timeFormat(evidenceFile.fileList[evidenceFile.fileList.length - 1].updateTime),
            fileInfoList: evidenceFile.fileList.map(item => {
            fileList: evidenceFile.fileList.map(item => {
              return {
                ...item,
                uid: item.id,
                name: item.trueName
                // name: item.trueName
              }
            })
          }
@@ -218,54 +220,36 @@
  //上传弹窗完成后的事件
  const handleUpload = () => {
    console.log('tableData', tableData);
    console.log('fileMap', fileMap);
    const newList = tableData.map(item => {
      if (item.ownerType == '22_00018-101') {
        const data = fileMap['22_00018-101'];
        console.log('data', data);
      if (item.ownerType == sourceType) {
        const data = fileMap[sourceType]
        return {
          ...item,
          size: data.length,
          fileNames: data.map(item => item.trueName).join(','),
          fileNames: data.map(item => item.name).join(','),
          updateTime: $$.timeFormat(data[data.length - 1].updateTime),
          fileInfoList: data.map(item => {
          fileList: data.map(item => {
            return {
              ...item,
              name: item.trueName,
              // name: item.trueName,
              uid: item.id,
            }
          }),
        }
      }
      if (item.ownerType == '22_00018-102') {
        const data = fileMap['22_00018-102'];
        console.log('data', data);
        return {
          ...item,
          size: data.length,
          fileNames: data.map(item => item.trueName).join(','),
          updateTime: $$.timeFormat(data[data.length - 1].updateTime),
          fileInfoList: data.map(item => {
            return {
              ...item,
              name: item.trueName,
              uid: item.id,
            }
          }),
        }
      } else {
        return item
      }
    })
    console.log('newList', newList);
    //回传文件数据的时候使用
    if(props.handleSaveList) {
      props.handleSaveList(newList)
    }
    setTableData(newList)
    setUpLoadVisible(false);
  };
  //根据sourceType生成组件
  const formType = (type) => {
    console.log('typetypetype', type);
    if (type === '22_00018-101') {
      //申请材料
@@ -290,7 +274,6 @@
                    return item
                  }
                })
                console.log('newList', newList);
                setFileMap({
                  ...fileMap,
@@ -326,7 +309,6 @@
                    return item
                  }
                })
                console.log('newList', newList);
                setFileMap({
                  ...fileMap,
                  '22_00018-102': newList.filter(i => i.ownerType === '22_00018-102')
@@ -341,14 +323,20 @@
  }
  //删除
  const handleDelete = (ids) => {
  const handleDelete = (ids, record, index) => {
    Modal.confirm({
      title: '删除确认',
      content: '确认全部删除该材料?',
      onOk: async () => {
        let newData = tableData;
        newData[index] = { ...record, fileInfoList: record.fileInfoList.filter(i => (i.id !== ids)) }
        console.log('newData', newData);
        // setTableData(newData)
        const res = await deleteFileByIdApi({ ids })
        if (res.type) {
          $$.infoSuccess({ content: '删除成功!' });
          setTableData(tableData.filter(item => !ids.includes(item.ownerType)))
        }
      },
    });
@@ -368,6 +356,7 @@
        rowKey="ownerType"
        bordered={true}
        scroll={{ x: 1300 }}
        tableHeight={137}
      />
      <Modal
        style={{ width: '512px' }}