feat: 增加招聘会机构管理和场地机构选择

This commit is contained in:
2026-07-24 09:42:37 +08:00
parent 5213215c65
commit c6d665c370
7 changed files with 426 additions and 22 deletions

View File

@@ -0,0 +1,72 @@
import { request } from '@umijs/max';
export interface JobFairInstitutionItem {
id: number;
/** 机构名称 */
institutionName: string;
/** 机构简介 */
institutionIntro?: string;
createTime?: string;
updateTime?: string;
}
export interface JobFairInstitutionForm {
id?: number;
institutionName: string;
institutionIntro?: string;
}
export interface JobFairInstitutionListParams {
institutionName?: string;
current?: number;
pageSize?: number;
}
export interface JobFairInstitutionListResult {
code: number;
msg?: string;
total: number;
rows: JobFairInstitutionItem[];
}
export interface JobFairInstitutionResult {
code: number;
msg?: string;
data?: JobFairInstitutionItem;
}
const BASE_URL = '/api/cms/job-fair-institution';
export async function getJobFairInstitutionList(params?: JobFairInstitutionListParams) {
return request<JobFairInstitutionListResult>(`${BASE_URL}/list`, {
method: 'GET',
params,
});
}
export async function getJobFairInstitution(id: number) {
return request<JobFairInstitutionResult>(`${BASE_URL}/${id}`, {
method: 'GET',
});
}
export async function addJobFairInstitution(data: JobFairInstitutionForm) {
return request<JobFairInstitutionResult>(BASE_URL, {
method: 'POST',
data,
});
}
export async function updateJobFairInstitution(data: JobFairInstitutionForm) {
return request<JobFairInstitutionResult>(BASE_URL, {
method: 'PUT',
data,
});
}
export async function deleteJobFairInstitution(ids: number | number[]) {
const idPath = Array.isArray(ids) ? ids.join(',') : ids;
return request<JobFairInstitutionResult>(`${BASE_URL}/${idPath}`, {
method: 'DELETE',
});
}

View File

@@ -27,6 +27,10 @@ export interface VenueInfoItem {
handler?: string;
/** 备注 */
remark?: string;
/** 所属机构ID支持多个 */
institutionIds?: number[];
/** 所属机构名称,多个用顿号分隔 */
institutionNames?: string;
createTime?: string;
updateTime?: string;
}
@@ -63,6 +67,7 @@ export interface VenueInfoForm {
handleOrg?: string;
handler?: string;
remark?: string;
institutionIds?: number[];
}
/** 通用响应 */
@@ -103,6 +108,7 @@ const formatDate = (value: any) => {
const toApiPayload = (data: VenueInfoForm) => ({
...data,
routeLineIds: Array.isArray(data.routeLineIds) ? data.routeLineIds.join(',') : data.routeLineIds,
institutionIds: Array.isArray(data.institutionIds) ? data.institutionIds : [],
handleDate: formatDate(data.handleDate),
});