import React from 'react'; import { Button, notification } from "antd"; import { ProTable } from "@ant-design/pro-components"; import { useNavigate } from 'react-router-dom'; import { queryTable, queryDict } from "@/utils/request"; import Page from '@/components/Page'; import { getTaCheck } from '@/service/tacheck'; import { getTdLocType } from '@/service/tdloctype'; import { getTaCheckAnswer, exportTaCheckAnswer } from '@/service/tacheckanswer'; import useBool from '@/utils/hooks/useBool'; const getCheck = queryDict(getTaCheck, { labelKey: 'title', valueKey: 'checkId' }); const getLocType = queryDict(getTdLocType, { labelKey: 'name', valueKey: 'typeId' }); const getAnswer = queryTable(getTaCheckAnswer); const addOnParams = { itemType: 'loc' }; export default (props) => { const [loading, startLoading, stopLoading] = useBool(); const paramsRef = React.useRef(); const [notificationApi, contextHolder] = notification.useNotification(); const navigate = useNavigate(); const [params, setParams] = React.useState({}); const goToDetail = (row) => { navigate(`/checkAnswer/loc/detail?answerId=${row.answerId}&itemType=loc`) } const columns = [ { title: "模拟测评", dataIndex: "checkId", valueType: 'select', request: getCheck, hideInTable: true, formItemProps: { rules: [ { required: true, message: '请选择模拟测评' } ] } }, { title: "答题时间", dataIndex: "createDate", valueType: 'date', hideInSearch: true, }, { title: "点位名称", valueType: 'select', request: getLocType, dataIndex: "typeId", }, { title: "详细地址", dataIndex: "addr", hideInSearch: true, }, { title: "答题人", dataIndex: "userName", }, { title: "得分", dataIndex: "score", hideInSearch: true, }, { title: '操作', hideInSearch: true, key: 'options', render: (_, row) => { return ( ) } } ] const beforeSearchSubmit = (params) => { paramsRef.current = params; setParams(params); return params; } const onExport = () => { if (!paramsRef.current) { notificationApi.warning({ message: '请先进行条件查询' }); return } startLoading(); exportTaCheckAnswer({ ...addOnParams, ...params }).then(() => { // console.log('params', params); stopLoading(); }).catch(() => { stopLoading(); }); } return ( {contextHolder} [ , ]} /> ) }