feat: add enterprise outdoor fair viewer
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:
2026-07-23 10:52:38 +08:00
parent befc27adae
commit bdb1516570
8 changed files with 315 additions and 2 deletions

View File

@@ -20,6 +20,8 @@ export interface PortalJobFairItem {
jobFairImage?: string;
enterpriseNum?: string;
boothNum?: string;
/** 户外招聘会展位图中的实际摊位数量 */
boothMapCount?: number;
divisionName?: string;
jobFairCategory?: string;
jobFairRegion?: string;
@@ -69,6 +71,7 @@ interface PortalOutdoorFairDetailData extends Partial<PortalJobFairItem> {
venueName?: string;
address?: string;
boothCount?: number;
boothMapCount?: number;
holdTime?: string;
endTime?: string;
photoUrl?: string;
@@ -206,6 +209,7 @@ export async function getPortalJobFairDetail(channel: JobFairChannel, jobFairId:
jobFairImage: fair.jobFairImage || fair.photoUrl,
boothNum:
fair.boothNum || (fair.boothCount === undefined ? undefined : String(fair.boothCount)),
boothMapCount: fair.boothMapCount,
jobFairRegion: fair.jobFairRegion || fair.region,
jobFairVenueName: fair.jobFairVenueName || fair.venueName,
},

View File

@@ -1,4 +1,5 @@
import { request } from '@umijs/max';
import type { VenueBoothItem } from './venueInfo';
/** 户外招聘会列表项 */
export interface OutdoorFairItem {
@@ -37,6 +38,10 @@ export interface OutdoorFairItem {
fairIntroduction?: string;
/** 招聘会整体流程 */
fairProcess?: string;
/** 企业参加招聘会需携带的资料 */
requiredMaterials?: string;
/** 企业到场须知 */
attendanceNotes?: string;
/** 当前企业ID */
companyId?: number;
/** 当前企业名称 */
@@ -96,6 +101,10 @@ export interface OutdoorFairForm {
fairIntroduction?: string;
/** 招聘会整体流程 */
fairProcess?: string;
/** 企业参加招聘会需携带的资料 */
requiredMaterials?: string;
/** 企业到场须知 */
attendanceNotes?: string;
/** 更换场地时确认清空旧展位图与预定,并按新模板重建 */
resetBoothMap?: boolean;
}
@@ -125,6 +134,12 @@ export interface OutdoorFairCompanyQrCodeInfo {
qrCodeContent: string;
}
/** 企业审核通过后可读取的只读展位图。 */
export interface OutdoorFairCompanyBoothMap {
currentCompanyId: number;
booths: VenueBoothItem[];
}
/** 户外招聘会字典新增表单 */
export interface OutdoorFairDictForm {
dictType: 'outdoor_fair_type' | 'outdoor_fair_region';
@@ -169,6 +184,17 @@ export async function getOutdoorFairInfo(id: number) {
});
}
/**
* 当前企业查看户外招聘会展位图。
* 服务端会校验当前企业已报名且审核通过,接口只提供读取能力。
*/
export async function getCurrentCompanyOutdoorFairBoothMap(fairId: number) {
return request<{ code: number; msg?: string; data?: OutdoorFairCompanyBoothMap }>(
`${CMS_OUTDOOR_FAIR_BASE}/${fairId}/company/booth-map`,
{ method: 'GET' },
);
}
/** 招聘会统计-时间桶序列项(曲线图用) */
export interface OutdoorFairStatisticsSeriesItem {
time: string;