feat: 优化教务系统多项功能
主要更新: 1. 项目库功能优化 - 添加项目效果图点击预览功能,支持图片放大查看和切换 - 新增ImagePreviewModal组件,提供完整的图片预览体验 2. 企业内推岗位页面改进 - 右侧岗位面试状态卡片支持点击查看岗位详情 - 从企业内推岗位库直接导入岗位数据 - 面试状态查看的岗位详情隐藏投递按钮 - 岗位要求显示优化,添加数字编号格式 3. 课堂作业板块完善 - 修复垂直能力课只显示4个单元的问题,现可显示全部12个单元 - 为"展会主题与品牌定位"课程添加"可试看"标签 - 调整"可试看"标签位置,避免遮挡课程名称 - 在全部视图中将"展会主题与品牌定位"课程置顶 4. 课程直播间页面优化 - 为复合能力课添加文字虚线分割线,与垂直能力课保持一致 - 删除页面顶部的进度条,简化界面 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
47
src/services/companyJobsNew.js
Normal file
47
src/services/companyJobsNew.js
Normal file
@@ -0,0 +1,47 @@
|
||||
import companyJobsData from "@/mocks/companyJobsData.json";
|
||||
|
||||
// 将原始数据转换为前端格式
|
||||
function transformJobData(rawJob, index) {
|
||||
// 从招聘人数中提取数字
|
||||
const recruitNumberMatch = rawJob["招聘人数"]?.match(/\d+/);
|
||||
const remainingPositions = recruitNumberMatch ? recruitNumberMatch[0] : "若干";
|
||||
|
||||
return {
|
||||
id: index + 1,
|
||||
position: rawJob["内推岗位名称"],
|
||||
salary: rawJob["薪资"],
|
||||
location: rawJob["工作地点"],
|
||||
education: rawJob["学历要求"],
|
||||
recruitNumber: rawJob["招聘人数"],
|
||||
remainingPositions: remainingPositions,
|
||||
tags: rawJob["职位标签"] || [],
|
||||
benefits: rawJob["福利标签"] || [],
|
||||
deadline: rawJob["截止时间"],
|
||||
jobCategory: rawJob["岗位相关标签"],
|
||||
// details对象包含描述、要求和公司介绍
|
||||
details: {
|
||||
description: rawJob["职位描述"] || "",
|
||||
requirementsText: rawJob["任职要求"] || "",
|
||||
companyInfo: rawJob["公司介绍"] || ""
|
||||
},
|
||||
// 保留原始数据以备需要
|
||||
_raw: rawJob
|
||||
};
|
||||
}
|
||||
|
||||
// 获取所有岗位数据
|
||||
export function getAllCompanyJobs() {
|
||||
return companyJobsData.map((job, index) => transformJobData(job, index));
|
||||
}
|
||||
|
||||
// 根据岗位名称获取岗位详情
|
||||
export function getJobByPosition(positionName) {
|
||||
const allJobs = getAllCompanyJobs();
|
||||
return allJobs.find(job => job.position === positionName);
|
||||
}
|
||||
|
||||
// 根据ID获取岗位详情
|
||||
export function getJobById(id) {
|
||||
const allJobs = getAllCompanyJobs();
|
||||
return allJobs.find(job => job.id === id);
|
||||
}
|
||||
Reference in New Issue
Block a user