import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react' import styles from './index.module.scss' import { Button, Checkbox, DatePicker, Input, Popconfirm, Select } from 'antd' import MyTable from '@/components/MyTable' import { useDispatch, useSelector } from 'react-redux' import { RootState } from '@/store' import { A4voucherItemType, A4voucherSearchType, IA4voucherParams } from './types' import history, { downFileFu } from '@/utils/history' import { A4VOUCHER_PARAM_ROWS, A4VOUCHER_TABLE_COLUMNS, DEFAULT_A4VOUCHER_PARAMS } from './constants' import { MessageFu } from '@/utils/message' import { A4_APIDownload, A4_APIList } from '@/store/action/A4voucher' import { filterEmptyStrings } from '@/utils/objects' import { fileImgArr } from '@/store/action/layout' import { BUSINESS_DETAIL_PATH_MAP } from '../A3flow/data' import dayjs from 'dayjs' const { RangePicker } = DatePicker function A4voucher() { // 从仓库拿数据 const tableInfo = useSelector((state: RootState) => state.A4voucher.tableInfo) const [formData, setFormData] = useState({ ...DEFAULT_A4VOUCHER_PARAMS }) const formDataRef = useRef({ ...DEFAULT_A4VOUCHER_PARAMS }) const dispatch = useDispatch() // 获取下载权限 const downImg = useSelector((state: RootState) => state.A0Layout.downImg) // 输入框的改变 const txtChangeFu = useCallback( (txt: string, key: keyof IA4voucherParams) => { setFormData({ ...formData, [key]: txt }) }, [formData] ) // 顶部筛选 const searchDom = useCallback( (arr: A4voucherSearchType[]) => { return arr.map(item => { return (
{item.name}: {item.type === '输入框' ? ( txtChangeFu(e.target.value, item.key)} /> ) : item.type === '下拉框' ? (