- Added QR code functionality for companies signing up for outdoor fairs. - Implemented job management for outdoor fairs, including job listing and editing. - Updated Public Job Fair detail view to reflect new data structure. - Refactored EditModal to support dynamic lists for host, co-organizer, and organizing units. - Introduced cross-domain city selection for job fairs. - Enhanced API services for managing cross-domain jobs and cities. - Improved data handling for outdoor fair items, including review status and QR code content. - Updated type definitions to accommodate new fields and structures.
153 lines
4.1 KiB
TypeScript
153 lines
4.1 KiB
TypeScript
import { request } from '@umijs/max';
|
|
import { downLoadXlsx } from '@/utils/downloadfile';
|
|
|
|
const BASE_URL = '/api/cms/publicJobFair';
|
|
|
|
/** 跨域招聘会岗位列表项 */
|
|
export interface CrossDomainJobItem {
|
|
jobId: number;
|
|
jobTitle: string;
|
|
minSalary?: number;
|
|
maxSalary?: number;
|
|
education?: string;
|
|
experience?: string;
|
|
vacancies?: number;
|
|
postingDate?: string;
|
|
companyId?: number;
|
|
companyName?: string;
|
|
industry?: string;
|
|
scale?: string;
|
|
jobFairId?: string;
|
|
jobFairTitle?: string;
|
|
crossDomainCities?: string;
|
|
}
|
|
|
|
/** 跨域岗位查询参数 */
|
|
export interface CrossDomainJobParams {
|
|
/** 逗号分隔的城市名称 */
|
|
cityNames?: string;
|
|
current?: number;
|
|
pageSize?: number;
|
|
}
|
|
|
|
/** 跨域岗位列表响应 */
|
|
export interface CrossDomainJobResult {
|
|
code: number;
|
|
msg?: string;
|
|
total: number;
|
|
rows: CrossDomainJobItem[];
|
|
}
|
|
|
|
/** 查询跨域招聘会下的岗位(可按联盟城市过滤) */
|
|
export async function getCrossDomainJobs(params?: CrossDomainJobParams) {
|
|
return request<CrossDomainJobResult>(`${BASE_URL}/cross-domain-jobs`, {
|
|
method: 'GET',
|
|
params,
|
|
});
|
|
}
|
|
|
|
/** 查询招聘会列表 */
|
|
export async function getPublicJobFairList(params?: API.PublicJobFair.ListParams) {
|
|
return request<API.PublicJobFair.ListResult>(`${BASE_URL}/list`, {
|
|
method: 'GET',
|
|
params,
|
|
});
|
|
}
|
|
|
|
/** 获取招聘会详情 */
|
|
export async function getPublicJobFairDetail(jobFairId: string) {
|
|
return request<API.PublicJobFair.DetailResult>(`${BASE_URL}/${jobFairId}`, {
|
|
method: 'GET',
|
|
});
|
|
}
|
|
|
|
/** 新增招聘会 */
|
|
export async function addPublicJobFair(data: API.PublicJobFair.JobFairForm) {
|
|
return request<API.PublicJobFair.CommonResult>(BASE_URL, {
|
|
method: 'POST',
|
|
data,
|
|
});
|
|
}
|
|
|
|
/** 修改招聘会 */
|
|
export async function updatePublicJobFair(data: API.PublicJobFair.JobFairForm) {
|
|
return request<API.PublicJobFair.CommonResult>(BASE_URL, {
|
|
method: 'PUT',
|
|
data,
|
|
});
|
|
}
|
|
|
|
/** 删除招聘会 */
|
|
export async function deletePublicJobFair(jobFairIds: string) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/${jobFairIds}`, {
|
|
method: 'DELETE',
|
|
});
|
|
}
|
|
|
|
/** 添加企业到招聘会 */
|
|
export async function addCompanyToJobFair(data: API.PublicJobFair.AddCompanyParams) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/company`, {
|
|
method: 'POST',
|
|
data,
|
|
});
|
|
}
|
|
|
|
|
|
/** 批量添加企业到招聘会 */
|
|
export async function batchAddCompanyToJobFair(data: API.PublicJobFair.AddCompanyParams[]) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/company/batch`, {
|
|
method: 'POST',
|
|
data,
|
|
});
|
|
}
|
|
|
|
/** 移除招聘会企业 */
|
|
export async function removeCompanyFromJobFair(id: string) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/company/${id}`, {
|
|
method: 'DELETE',
|
|
});
|
|
}
|
|
|
|
/** 添加岗位到招聘会 */
|
|
export async function addJobToJobFair(data: API.PublicJobFair.AddJobParams) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/job`, {
|
|
method: 'POST',
|
|
data,
|
|
});
|
|
}
|
|
|
|
/** 批量添加岗位到招聘会 */
|
|
export async function batchAddJobToJobFair(data: API.PublicJobFair.AddJobParams[]) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/job/batch`, {
|
|
method: 'POST',
|
|
data,
|
|
});
|
|
}
|
|
|
|
/** 移除招聘会岗位 */
|
|
export async function removeJobFromJobFair(id: string) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/job/${id}`, {
|
|
method: 'DELETE',
|
|
});
|
|
}
|
|
|
|
/** 查询招聘会报名列表 */
|
|
export async function getJobFairSignups(jobFairId: string, params?: { userName?: string; status?: string }) {
|
|
return request<API.PublicJobFair.SignupListResult>(`${BASE_URL}/signups/${jobFairId}`, {
|
|
method: 'GET',
|
|
params,
|
|
});
|
|
}
|
|
|
|
/** 查询招聘会企业及岗位 */
|
|
export async function getJobFairCompanies(jobFairId: string) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/companies/${jobFairId}`, {
|
|
method: 'GET',
|
|
});
|
|
}
|
|
|
|
/** 导出招聘会 */
|
|
export async function exportPublicJobFair(params?: API.PublicJobFair.ListParams) {
|
|
return downLoadXlsx(`${BASE_URL}/export`, { params }, `job_fair_${new Date().getTime()}.xlsx`);
|
|
}
|