二次调研功能开发
Some checks failed
Node CI / build (14.x, macOS-latest) (push) Has been cancelled
Node CI / build (14.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (14.x, windows-latest) (push) Has been cancelled
Node CI / build (16.x, macOS-latest) (push) Has been cancelled
Node CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (16.x, windows-latest) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
coverage CI / build (push) Has been cancelled
Node pnpm CI / build (16.x, macOS-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, windows-latest) (push) Has been cancelled

This commit is contained in:
francis-fh
2026-06-09 16:08:39 +08:00
parent 79e67e307f
commit f2da3d6929
11 changed files with 133 additions and 25 deletions

View File

@@ -1,6 +1,6 @@
import React, { useRef, useState, useEffect } from 'react';
import { useAccess, history } from '@umijs/max';
import { Button, message, Modal } from 'antd';
import { Button, FormInstance, message, Modal } from 'antd';
import { ActionType, PageContainer, ProColumns, ProTable } from '@ant-design/pro-components';
import { PlusOutlined, DeleteOutlined, FormOutlined, ExportOutlined, EyeOutlined } from '@ant-design/icons';
import { getDictValueEnum } from '@/services/system/dict';
@@ -17,6 +17,7 @@ import EditModal from './components/EditModal';
const PublicJobFairList: React.FC = () => {
const access = useAccess();
const formRef = useRef<FormInstance>();
const actionRef = useRef<ActionType>();
const [modalVisible, setModalVisible] = useState(false);
const [currentRow, setCurrentRow] = useState<API.PublicJobFair.JobFairItem>();
@@ -44,10 +45,21 @@ const PublicJobFairList: React.FC = () => {
});
};
const buildListSearchParams = (values: Record<string, any>): API.PublicJobFair.ListParams => {
const { dateRange, current, pageSize, ...rest } = values || {};
const params = { ...rest } as API.PublicJobFair.ListParams;
if (dateRange?.[0] && dateRange?.[1]) {
params.startDate = dateRange[0];
params.endDate = dateRange[1];
}
return params;
};
const handleExport = async () => {
message.loading('正在导出...');
try {
await exportPublicJobFair();
const searchVal = formRef.current?.getFieldsValue();
await exportPublicJobFair(buildListSearchParams(searchVal || {}));
message.success('导出成功');
} catch {
message.error('导出失败');
@@ -55,6 +67,21 @@ const PublicJobFairList: React.FC = () => {
};
const columns: ProColumns<API.PublicJobFair.JobFairItem>[] = [
{
title: '时间范围',
dataIndex: 'dateRange',
hideInTable: true,
valueType: 'dateRange',
fieldProps: {
format: 'YYYY-MM-DD',
},
search: {
transform: (value) => ({
startDate: value[0],
endDate: value[1],
}),
},
},
{
title: '招聘会标题',
dataIndex: 'jobFairTitle',
@@ -85,6 +112,12 @@ const PublicJobFairList: React.FC = () => {
valueType: 'dateTime',
hideInSearch: true,
},
{
title: '创建时间',
dataIndex: 'createTime',
valueType: 'dateTime',
hideInSearch: true,
},
{
title: '操作',
valueType: 'option',
@@ -136,6 +169,7 @@ const PublicJobFairList: React.FC = () => {
<ProTable<API.PublicJobFair.JobFairItem>
headerTitle="公共招聘会列表"
actionRef={actionRef}
formRef={formRef}
rowKey="jobFairId"
columns={columns}
scroll={{ x: 'max-content' }}
@@ -149,6 +183,8 @@ const PublicJobFairList: React.FC = () => {
pageSize: params.pageSize,
jobFairTitle: params.jobFairTitle,
jobFairType: params.jobFairType,
startDate: params.startDate,
endDate: params.endDate,
});
return { data: res.rows, total: res.total, success: true };
}}