import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react' import styles from './index.module.scss' import { useDispatch, useSelector } from 'react-redux' import { A3FromDataType, A3Selct_1 } from './data' import { A3_APIdel, A3_APIgetList } from '@/store/action/A3holding' import { RootState } from '@/store' import { MessageFu } from '@/utils/message' import { A3tableType } from '@/types' import { Button, Input, Select } from 'antd' import MyPopconfirm from '@/components/MyPopconfirm' import { A1EditInfoType, A1Selct } from '../A1event/data' import MyTable from '@/components/MyTable' import { A3tableC } from '@/utils/tableData' import { A8_APIgetList } from '@/store/action/A8dict' import A3add from './A3add' function A3holding() { const dispatch = useDispatch() const [fromData, setFromData] = useState({ pageNum: 1, pageSize: 10, searchKey: '', type: '', dictAgeId: '', display: '' }) const getListFu = useCallback(() => { dispatch(A3_APIgetList(fromData)) }, [dispatch, fromData]) useEffect(() => { getListFu() }, [getListFu]) const [inputKey, setInputKey] = useState(1) // 标题的输入 const timeRef = useRef(-1) const fromKeyChangeFu = useCallback( (e: React.ChangeEvent, key: 'searchKey') => { clearTimeout(timeRef.current) timeRef.current = window.setTimeout(() => { setFromData({ ...fromData, [key]: e.target.value, pageNum: 1 }) }, 500) }, [fromData] ) // 点击重置 const resetSelectFu = useCallback(() => { setInputKey(Date.now()) setFromData({ pageNum: 1, pageSize: 10, searchKey: '', type: '', dictAgeId: '', display: '' }) }, []) const tableInfo = useSelector((state: RootState) => state.A3holding.tableInfo) const delTableFu = useCallback( async (id: number) => { const res = await A3_APIdel(id) if (res.code === 0) { MessageFu.success('删除成功!') getListFu() } }, [getListFu] ) const tableLastBtn = useMemo(() => { return [ { title: '操作', render: (item: A3tableType) => ( <> delTableFu(item.id)} /> ) } ] }, [delTableFu]) //查看、新增、编辑 const [editInfo, setEditInfo] = useState({ id: 0, txt: '' }) useEffect(() => { dispatch(A8_APIgetList()) }, [dispatch]) const A8tableList = useSelector((state: RootState) => state.A8dict.list) const selectAgeArr = useMemo(() => { return [{ value: '', label: '全部' }, ...A8tableList.map(v => ({ value: v.id, label: v.name }))] }, [A8tableList]) return (
馆藏管理{editInfo.id ? ` - ${editInfo.txt}` : ''}
{/* 顶部筛选 */}
名称: fromKeyChangeFu(e, 'searchKey')} />
类别: setFromData({ ...fromData, pageNum: 1, dictAgeId: e })} options={selectAgeArr} />
状态: