import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react' import styles from './index.module.scss' import { useDispatch, useSelector } from 'react-redux' import { B2_APIdel, B2_APIgetList, B2_APIupdate } from '@/store/action/B2exhiLog' import { RootState } from '@/store' import { MessageFu } from '@/utils/message' import { B2FromDataType, B2tableType } from './type' import { Button, Input, Select, Switch } from 'antd' import MyPopconfirm from '@/components/MyPopconfirm' import MyTable from '@/components/MyTable' import { B2tableC } from '@/utils/tableData' import B2look from './B2look' import { B2selectArr } from './data' const fromDataBase: B2FromDataType = { searchKey: '', status: '', pageNum: 1, pageSize: 10 } function B2exhiLog() { const dispatch = useDispatch() const [fromData, setFromData] = useState(fromDataBase) const getListFu = useCallback(() => { dispatch(B2_APIgetList(fromData)) }, [dispatch, fromData]) useEffect(() => { getListFu() }, [getListFu]) const [inputKey, setInputKey] = useState(1) // 输入框的输入 const timeRef = useRef(-1) const txtChangeFu = useCallback( (e: React.ChangeEvent, key: 'searchKey') => { clearTimeout(timeRef.current) timeRef.current = window.setTimeout(() => { setFromData({ ...fromData, [key]: e.target.value.replaceAll("'", ''), pageNum: 1 }) }, 500) }, [fromData] ) // 点击重置 const resetSelectFu = useCallback(() => { setInputKey(Date.now()) setFromData(fromDataBase) }, []) const { tableInfo } = useSelector((state: RootState) => state.B2exhiLog) // 点击删除 const delTableFu = useCallback( async (id: number) => { const res = await B2_APIdel(id) if (res.code === 0) { MessageFu.success('删除成功!') getListFu() } }, [getListFu] ) // 核销 const updateFu = useCallback( async (id: number, status: 0 | 1) => { const res = await B2_APIupdate(id, status) if (res.code === 0) { MessageFu.success('操作成功!') getListFu() } }, [getListFu] ) const tableLastBtn = useMemo(() => { return [ { title: '核销状态', render: (item: B2tableType) => ( updateFu(item.id, item.status === 1 ? 0 : 1)} /> ) }, { title: '操作', render: (item: B2tableType) => ( <> delTableFu(item.id)} /> ) } ] }, [delTableFu, updateFu]) // 点击查看 const [lookId, setLookId] = useState(0) return (
展馆预约记录
搜索: txtChangeFu(e, 'searchKey')} />
核销状态: