11
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-18 02:30:11 +08:00
parent 4f484f1d00
commit e7616b0c8e
35 changed files with 5815 additions and 19 deletions

263
src/types/jobfair/indoorJobFair.d.ts vendored Normal file
View File

@@ -0,0 +1,263 @@
/**
* 室内固定摊位招聘会管理 类型定义
*/
declare namespace API.IndoorJobFair {
// ==================== 模块1: 场地信息 ====================
export interface VenueItem {
id: number;
venueName: string;
employmentAgency: string;
venueType: string;
venueAddress: string;
contactPerson: string;
contactPhone: string;
boothCount: number;
status: string;
createTime: string;
}
export interface VenueListParams {
employmentAgency?: string;
venueName?: string;
venueType?: string;
current?: number;
pageSize?: number;
}
export interface VenueForm {
id?: number;
venueName: string;
employmentAgency: string;
venueType: string;
venueAddress: string;
contactPerson: string;
contactPhone: string;
boothCount: number;
}
// ==================== 模块2: 摊位信息 ====================
export interface BoothItem {
id: number;
venueId: number;
boothNumber: string;
companyId?: number;
companyName?: string;
status: string;
operator?: string;
operateTime?: string;
remark?: string;
}
export interface BoothListParams {
venueId?: number;
boothNumber?: string;
companyName?: string;
current?: number;
pageSize?: number;
}
export interface BoothForm {
id?: number;
venueId: number;
boothNumber: string;
companyId?: number;
companyName?: string;
status?: string;
operator?: string;
operateTime?: string;
remark?: string;
}
// ==================== 模块3: 招聘会信息 ====================
export interface JobFairItem {
id: number;
fairName: string;
venueId: number;
venueName: string;
startDate: string;
endDate: string;
status: string;
boothUseCount: number;
createTime: string;
}
export interface JobFairListParams {
fairName?: string;
startDate?: string;
endDate?: string;
current?: number;
pageSize?: number;
}
export interface JobFairForm {
id?: number;
fairName: string;
venueId: number;
venueName: string;
startDate: string;
endDate: string;
}
// ==================== 模块4: 参会单位查询 ====================
export interface CompanyQueryItem {
id: number;
fairId: number;
fairName: string;
companyId: number;
companyName: string;
industry: string;
scale: string;
contactPerson: string;
contactPhone: string;
registrationTime: string;
}
export interface CompanyQueryParams {
fairName?: string;
current?: number;
pageSize?: number;
}
// ==================== 模块5: 参会岗位查询 ====================
export interface JobQueryItem {
id: number;
fairId: number;
fairName: string;
companyId: number;
companyName: string;
jobTitle: string;
minSalary: number;
maxSalary: number;
education: string;
experience: string;
vacancies: number;
status: string;
}
export interface JobQueryParams {
fairName?: string;
companyName?: string;
current?: number;
pageSize?: number;
}
// ==================== 模块6: 参会单位审核 ====================
export interface CompanyReviewItem {
id: number;
fairId: number;
fairName: string;
companyId: number;
companyName: string;
industry: string;
scale: string;
contactPerson: string;
contactPhone: string;
reservationStart: string;
reservationEnd: string;
reviewStatus: string;
reviewTime?: string;
reviewRemark?: string;
}
export interface CompanyReviewParams {
fairName?: string;
companyName?: string;
reviewStatus?: string;
reservationStart?: string;
reservationEnd?: string;
current?: number;
pageSize?: number;
}
// ==================== 模块7: 退订信息管理 ====================
export interface UnsubscribeItem {
id: number;
fairId: number;
fairName: string;
companyId: number;
companyName: string;
boothNumber: string;
contactPerson: string;
contactPhone: string;
unsubscribeTime: string;
reason: string;
}
export interface UnsubscribeParams {
fairName?: string;
companyName?: string;
boothNumber?: string;
contactPerson?: string;
contactPhone?: string;
current?: number;
pageSize?: number;
}
// ==================== 模块8: 单位参会查询 ====================
export interface CompanyRecordItem {
id: number;
companyId: number;
companyName: string;
industry: string;
scale: string;
contactPerson: string;
contactPhone: string;
status: string;
creditStatus: string;
fairCount: number;
createTime: string;
}
export interface CompanyRecordParams {
companyName?: string;
contactPerson?: string;
contactPhone?: string;
current?: number;
pageSize?: number;
}
// ==================== 模块9: 招聘会岗位审核 ====================
export interface JobReviewItem {
id: number;
fairId: number;
fairName: string;
companyId: number;
companyName: string;
jobId: number;
jobTitle: string;
education: string;
experience: string;
vacancies: number;
reviewStatus: string;
reviewTime?: string;
reviewRemark?: string;
}
export interface JobReviewParams {
companyName?: string;
jobTitle?: string;
reviewStatus?: string;
current?: number;
pageSize?: number;
}
// ==================== 模块10: 预留操作记录 ====================
export interface ReservationRecordItem {
id: number;
fairId: number;
fairName: string;
boothNumber: string;
companyName?: string;
operator: string;
operateTime: string;
operateType: string;
remark?: string;
}
export interface ReservationRecordParams {
operator?: string;
current?: number;
pageSize?: number;
}
}

192
src/types/jobfair/outdoorFairDetail.d.ts vendored Normal file
View File

@@ -0,0 +1,192 @@
/**
* 户外招聘会详情管理类型定义
*/
declare namespace API.OutdoorFairDetail {
// ==================== 模块1: 招聘会管理 ====================
/** 参会企业 */
export interface ParticipatingCompany {
id: number;
fairId: number;
companyId: number;
companyName: string;
industry: string;
scale: string;
contactPerson: string;
contactPhone: string;
boothId?: number;
boothNumber?: string;
jobList: PostedJob[];
}
/** 已发布岗位 */
export interface PostedJob {
id: number;
fairId: number;
companyId: number;
jobTitle: string;
minSalary: number;
maxSalary: number;
education: string;
experience: string;
vacancies: number;
status: string; // 'active' | 'closed'
}
// ==================== 模块2: 展位管理 ====================
/** 展位信息 */
export interface BoothItem {
id: number;
fairId: number;
boothNumber: string;
companyId?: number;
companyName?: string;
jobCount: number;
reviewStatus: string; // 'pending' | 'approved' | 'rejected'
assignedTime?: string;
createTime: string;
}
/** 展位分配参数 */
export interface BoothAssignParams {
fairId: number;
boothId: number;
companyId: number;
boothNumber: string;
}
// ==================== 模块3: 参会单位管理 ====================
/** 单位报名记录 */
export interface CompanyRegistration {
id: number;
fairId: number;
companyId: number;
companyName: string;
industry: string;
scale: string;
contactPerson: string;
contactPhone: string;
reviewStatus: string; // 'pending' | 'approved' | 'rejected'
reviewTime?: string;
reviewRemark?: string;
qrCheckInStatus: string; // 'checked_in' | 'not_checked_in'
checkInTime?: string;
registeredJobs: RegisteredJob[];
}
/** 报名岗位 */
export interface RegisteredJob {
id: number;
regId: number;
jobTitle: string;
minSalary: number;
maxSalary: number;
education: string;
vacancies: number;
reviewStatus: string; // 'pending' | 'approved' | 'rejected'
}
// ==================== 模块4: 参会人员管理 ====================
/** 参会人员 */
export interface AttendeeItem {
id: number;
fairId: number;
name: string;
gender: string;
phone: string;
idCard: string;
education: string;
graduationSchool: string;
major: string;
checkInTime?: string;
checkInMethod: string; // 'qr_scan' | 'id_card' | 'manual'
targetCompanies: string;
mobileInteraction: boolean;
resumeUrl?: string;
resumeContent?: string;
interviewStatus: string; // 'none' | 'scheduled' | 'in_progress' | 'completed' | 'passed' | 'failed'
interviewCompany?: string;
interviewTime?: string;
interviewResult?: string;
}
/** 面试跟踪参数 */
export interface InterviewTrackParams {
attendeeId: number;
interviewStatus: string;
interviewCompany: string;
interviewTime: string;
interviewResult?: string;
}
// ==================== 模块5: 入场设备管理 ====================
/** 设备信息 */
export interface DeviceItem {
id: number;
fairId: number;
type: string; // 'mobile_terminal' | 'qr_sticker'
deviceName: string;
deviceCode: string;
assignedBoothId?: number;
assignedBoothNumber?: string;
assignedCompanyName?: string;
status: string; // 'online' | 'offline'
lastActiveTime?: string;
}
/** 闸机状态 */
export interface GateStatus {
id: number;
fairId: number;
gateName: string;
isOpen: boolean;
totalScans: number;
}
/** 闸机入场记录 */
export interface GateEntryLog {
id: number;
fairId: number;
attendeeName: string;
scanTime: string;
gateName: string;
scanMethod: string; // 'qr' | 'id_card'
}
// ==================== 模块6: 数据统计 ====================
/** 招聘会统计数据 */
export interface FairStatistics {
fairId: number;
companyCount: number;
jobCount: number;
demandCount: number;
intentionCount: number;
industryDistribution: { industry: string; count: number }[];
jobTypeDistribution: { type: string; count: number }[];
dailyAttendees: { date: string; count: number }[];
timeSlotDistribution: { slot: string; count: number }[];
}
// ==================== 通用响应类型 ====================
/** 分页结果 */
export interface PageResult<T> {
code: number;
msg?: string;
total: number;
rows: T[];
}
/** 通用响应 */
export interface CommonResult {
code: number;
msg?: string;
data?: any;
}
}