forked from gzzfw/frontEnd/gzDyh

liuwh
2024-09-10 6349ca2190dd9e96c1c49497bb7fef0a362af5a5
gz-customerSystem/src/views/register/matterDetail/FileTable.jsx
@@ -18,15 +18,11 @@
const appUrl = $$.appUrl;
function delFile(id) {
  return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } });
}
function listIdTypeInfoApi(data) {
  return $$.ax.request({ url: `fileInfo/listIdTypeInfo`, type: 'post', service: 'sys', data });
  return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } });
}
function deleteFileByIdApi(data) {
  return $$.ax.request({ url: `fileInfo/deleteFileByIds`, type: 'delete', service: 'sys', data });
  return $$.ax.request({ url: `fileInfo/deleteFileByIds`, type: 'get', service: 'sys', data });
}
//表格数据
@@ -48,6 +44,12 @@
    id: 2,
  },
]
/**
 * mainId*,//就是caseId,事件id
 * fileInfoList*, //文件列表
 * isReview,//是否查看,查看的话就不能删除上传,只能查看下载
 */
export default function FileTable(props) {
  const formRef = useRef();
@@ -98,7 +100,7 @@
      title: '操作',
      dataIndex: 'perClassName',
      key: 'perClassName',
      width: 125,
      width: props.isReview ? 60 : 125,
      fixed: 'right',
      render: (text, record) => (
        <Space size="middle">
@@ -108,7 +110,7 @@
          }}>
            查看
          </Link>
          <Link onClick={() => {
          {!props.isReview && <Link onClick={() => {
            if (record.fileInfoList && record.fileInfoList.length != 0) {
              let ids = record.fileInfoList?.map(item => item.id).join(',')
              handleDelete(ids)
@@ -117,7 +119,7 @@
            }
          }}>
            删除
          </Link>
          </Link>}
          <Link onClick={() => {
            if (record.fileInfoList && record.fileInfoList.length != 0) {
              let ids = record.fileInfoList?.map(item => item.id).join(',')
@@ -128,7 +130,7 @@
          }}>
            下载
          </Link>
          <Link onClick={() => {
          {!props.isReview && <Link onClick={() => {
            setSourceType(record.ownerType)
            setUpLoadVisible(true)
            setFileInfoList(record.fileInfoList)
@@ -137,7 +139,7 @@
            }, 0)
          }}>
            上传
          </Link>
          </Link>}
        </Space>
      )
    },
@@ -216,33 +218,58 @@
  //上传弹窗完成后的事件
  const handleUpload = () => {
    const newList = tableData.map(item => {
      if (item.ownerType == sourceType) {
        const data = fileMap[sourceType]
        console.log(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,
            }
          }),
      if (item.ownerType == '22_00018-101') {
        const data = fileMap['22_00018-101'];
        if (data?.length > 0) {
          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
        }
      } else {
        return item
      }
      if (item.ownerType == '22_00018-102') {
        const data = fileMap['22_00018-102'] || [];
        if (data?.length > 0) {
          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
        }
      }
    })
    setTableData(newList)
    setUpLoadVisible(false);
  };
  //根据sourceType生成组件
  const formType = (type) => {
    if (type === '22_00018-101') {
      //申请材料
      return (
@@ -266,9 +293,10 @@
                    return item
                  }
                })
                setFileMap({
                  ...fileMap,
                  '22_00018-101': newList
                  '22_00018-101': newList.filter(i => i.ownerType === '22_00018-101')
                })
              }}
            />
@@ -302,7 +330,7 @@
                })
                setFileMap({
                  ...fileMap,
                  '22_00018-102': newList
                  '22_00018-102': newList.filter(i => i.ownerType === '22_00018-102')
                })
              }}
            />
@@ -322,6 +350,7 @@
        const res = await deleteFileByIdApi({ ids })
        if (res.type) {
          $$.infoSuccess({ content: '删除成功!' });
          setTableData(tableData.filter(item => !ids.includes(item.ownerType)))
        }
      },
    });
@@ -340,7 +369,6 @@
        size="small"
        rowKey="ownerType"
        bordered={true}
        style={{ marginBottom: '65px' }}
        scroll={{ x: 1300 }}
      />
      <Modal
@@ -361,6 +389,7 @@
              return (
                <Col span={12} key={t}>
                  <div
                    onClick={() => { x.value !== sourceType && setSourceType(x.value) }}
                    className={`casePerfection-cardTab-tab ${x.value === sourceType && 'casePerfection-cardTab-tabActive'}`}
                  >
                    <img src={x.value === sourceType ? personIconType(x.value)?.[1] : personIconType(x.value)?.[0]} alt="" style={{ width: '40px', height: '40px' }} />
@@ -403,9 +432,9 @@
        maskClosable={false}
      >
        <div style={{ marginTop: '-16px' }}>
          <NewFileCheck menuList={tableData} sourceType={sourceType}/>
          <NewFileCheck menuList={tableData} sourceType={sourceType} />
        </div>
      </Modal>
    </Fragment>
    </Fragment >
  )
}