import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react' import styles from './index.module.scss' import { Button } from 'antd' import MyTable from '@/components/MyTable' import MyPopconfirm from '@/components/MyPopconfirm' import { baseURL } from '@/utils/http' import B1upXLSX from '@/pages/B_enterTibet/B1collect/B1edit/B1upXLSX' import { TypeinfoXLSX } from '@/pages/B_enterTibet/B1collect/type' import C4impImg from './C4impImg' import { C4tableCFu } from '@/utils/tableData' import { A3m_APIdel, A3m_APIgetList, A3m_APIlookInfo } from '@/store/action/A3machineReg' import { MessageFu } from '@/utils/message' import { B1Xtype } from '@/pages/B_enterTibet/B1collect/data' type Props = { colseFu: (flag: boolean) => void } function C4import({ colseFu }: Props) { const [formData, setFormData] = useState({ pageNum: 1, pageSize: 10 }) // 列表数据 const [tableObj, setTableObj] = useState({ list: [], total: 0 }) // 获取列表信息 const getListFu = useCallback(async () => { const res = await A3m_APIgetList({ ...formData, type: '4' }) if (res.code === 0) { setTableObj({ list: res.data.records || [], total: res.data.total }) } }, [formData]) useEffect(() => { getListFu() }, [getListFu]) const [acTxt, setAcTxt] = useState('导入藏品数据') const delFu = useCallback( async (id: number) => { const res = await A3m_APIdel(id) if (res.code === 0) { MessageFu.success('删除成功') getListFu() } }, [getListFu] ) // 点击查看 const lookTableFu = useCallback(async (id: number) => { const res = await A3m_APIlookInfo('4', id) if (res.code === 0) { const succArr: B1Xtype[] = [] const errArr: B1Xtype[] = [] res.data.forEach((v: any) => { if (v.importError === 0) succArr.push({ ...v, row: v.id }) else { errArr.push({ ...v, row: v.id, error: JSON.parse(v.importDesc || '[]') }) } }) setInfoXLSX({ show: true, succ: succArr, err: errArr, type: '查看' }) } }, []) const tableLastBtn = useMemo(() => { return [ { title: '导入结果', render: (item: any) => ( ) }, { title: '操作', render: (item: any) => { return ( delFu(item.id)} Dom={ } /> ) } } ] }, [delFu, lookTableFu]) const flagRef = useRef(false) // 导入合格数据之后变成true const B1upXLSXRef = useRef(null) // 上传表格数据 const [infoXLSX, setInfoXLSX] = useState({ show: false, succ: [], err: [] }) // 页码变化 const paginationChange = useCallback((pageNum: number, pageSize: number) => { setFormData({ pageNum, pageSize }) }, []) return (
{['导入藏品数据', '导入藏品图片'].map(v => ( ))} {acTxt === '导入藏品数据' ? ( <> 一普数据{' '} 省平台数据{' '} 每组数据最多1000条 setInfoXLSX({ show: false, succ: [], err: [] })} infoXLSX={infoXLSX} upSuccFu={(succ, err) => setInfoXLSX({ show: true, succ, err })} isZongZhang={true} url='cms/import/im/upload/excel' clickSuccFu={arr => { // console.log(123, arr) getListFu() // 导入成功 flagRef.current = true }} /> ) : null}
) } const MemoC4import = React.memo(C4import) export default MemoC4import