feat: add job fair region type functionality and improve job fair detail pages
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

- Introduced job fair region type selection in EditModal and PublicJobFairList components.
- Enhanced JobFairDetail page to display job fair region type using DictTag.
- Updated API types to include jobFairRegionType for better data handling.
- Created new JobPortal pages for displaying job fair details with improved styling.
- Added CSS styles for job fair detail and list pages to enhance user experience.
- Implemented loading states and error handling for job fair data fetching.
This commit is contained in:
2026-07-21 14:18:58 +08:00
parent f2a81d8867
commit b8965fd241
13 changed files with 1230 additions and 24 deletions

View File

@@ -33,11 +33,13 @@ const PublicJobFairList: React.FC = () => {
const [companyJobModalOpen, setCompanyJobModalOpen] = useState(false);
const [currentJobFair, setCurrentJobFair] = useState<API.PublicJobFair.JobFairItem>();
const [jobFairTypeEnum, setJobFairTypeEnum] = useState<any>({});
const [jobFairRegionTypeEnum, setJobFairRegionTypeEnum] = useState<any>({});
const [yesNoEnum, setYesNoEnum] = useState<any>({});
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
useEffect(() => {
getDictValueEnum('job_fair_type', true).then(setJobFairTypeEnum);
getDictValueEnum('job_fair_region_type').then(setJobFairRegionTypeEnum);
getDictValueEnum('sys_yes_no').then(setYesNoEnum);
}, []);
@@ -129,6 +131,26 @@ const PublicJobFairList: React.FC = () => {
valueEnum: jobFairTypeEnum,
render: (_, record) => <DictTag enums={jobFairTypeEnum} value={record.jobFairType} />,
},
{
title: '区域类型',
dataIndex: 'jobFairRegionType',
valueType: 'select',
valueEnum: jobFairRegionTypeEnum,
render: (_, record) => (
<DictTag enums={jobFairRegionTypeEnum} value={record.jobFairRegionType} />
),
},
{
title: '举办状态',
dataIndex: 'jobFairStatus',
hideInSearch: true,
render: (_, record) => {
const status = record.jobFairStatus;
if (!status) return '-';
const color = status === '未举办' ? 'blue' : status === '正在举办' ? 'green' : 'default';
return <Tag color={color}>{status}</Tag>;
},
},
{
title: '报名审核状态',
dataIndex: 'enterpriseReviewStatus',
@@ -284,6 +306,7 @@ const PublicJobFairList: React.FC = () => {
pageSize: params.pageSize,
jobFairTitle: params.jobFairTitle,
jobFairType: params.jobFairType,
jobFairRegionType: params.jobFairRegionType,
startDate: params.startDate,
endDate: params.endDate,
});
@@ -322,6 +345,7 @@ const PublicJobFairList: React.FC = () => {
open={modalVisible}
values={currentRow}
jobFairTypeEnum={jobFairTypeEnum}
jobFairRegionTypeEnum={jobFairRegionTypeEnum}
onCancel={() => {
setModalVisible(false);
setCurrentRow(undefined);