127 lines
4.6 KiB
JavaScript
127 lines
4.6 KiB
JavaScript
|
|
import fs from 'fs';
|
|||
|
|
|
|||
|
|
// 读取交通物流岗位简历数据
|
|||
|
|
const trafficLogisticsData = JSON.parse(fs.readFileSync('网页未导入数据/交通物流产业/交通物流岗位简历.json', 'utf-8'));
|
|||
|
|
|
|||
|
|
// 根据岗位群分组数据
|
|||
|
|
const groupedData = {};
|
|||
|
|
trafficLogisticsData.forEach(item => {
|
|||
|
|
if (!groupedData[item.简历岗位群]) {
|
|||
|
|
groupedData[item.简历岗位群] = [];
|
|||
|
|
}
|
|||
|
|
groupedData[item.简历岗位群].push(item);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 生成industries数据结构(保持原有格式)
|
|||
|
|
const industries = [];
|
|||
|
|
let industryIdCounter = 1;
|
|||
|
|
|
|||
|
|
for (const [groupName, positions] of Object.entries(groupedData)) {
|
|||
|
|
const industry = {
|
|||
|
|
id: `traffic_logistics_${industryIdCounter}`,
|
|||
|
|
name: groupName,
|
|||
|
|
positions: positions.map((pos, index) => ({
|
|||
|
|
id: `traffic_logistics_${industryIdCounter}_${index + 1}`,
|
|||
|
|
title: pos.岗位名称,
|
|||
|
|
level: pos.岗位等级标签,
|
|||
|
|
avatar: pos.简历头像url,
|
|||
|
|
department: groupName,
|
|||
|
|
type: "全职",
|
|||
|
|
experience: pos.岗位等级标签 === "基础岗" ? "1-3年" : pos.岗位等级标签 === "储备干部岗" ? "2-5年" : "3-7年",
|
|||
|
|
education: "大专",
|
|||
|
|
salary: pos.岗位等级标签 === "基础岗" ? "5-10K" : pos.岗位等级标签 === "储备干部岗" ? "8-15K" : "10-20K",
|
|||
|
|
location: "苏州",
|
|||
|
|
updateTime: "2024-01-20",
|
|||
|
|
description: `负责${pos.岗位名称}相关工作`,
|
|||
|
|
requirements: [
|
|||
|
|
`具备${pos.岗位名称}相关的专业知识和技能`,
|
|||
|
|
`熟悉${groupName}领域的业务流程和操作规范`,
|
|||
|
|
`具有良好的团队协作和沟通能力`,
|
|||
|
|
`能够独立完成岗位职责要求的各项工作`
|
|||
|
|
]
|
|||
|
|
})),
|
|||
|
|
questions: [] // 暂时为空
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
industries.push(industry);
|
|||
|
|
industryIdCounter++;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 生成按岗位群分组的resumeTemplates对象(关键修改)
|
|||
|
|
const resumeTemplates = {};
|
|||
|
|
for (const [groupName, positions] of Object.entries(groupedData)) {
|
|||
|
|
resumeTemplates[groupName] = positions.map(item => ({
|
|||
|
|
position: item.岗位名称, // 用于匹配的关键字段
|
|||
|
|
positionTitle: item.岗位名称,
|
|||
|
|
level: item.岗位等级标签,
|
|||
|
|
avatar: item.简历头像url,
|
|||
|
|
department: item.简历岗位群,
|
|||
|
|
content: {
|
|||
|
|
original: item.简历内容,
|
|||
|
|
modified: item.简历内容 // 默认使用相同内容
|
|||
|
|
},
|
|||
|
|
projectName: item.对应项目案例名称,
|
|||
|
|
coreCompetencies: item["对应单元名称(复合能力课)"],
|
|||
|
|
verticalDirection: item.对应垂直方向,
|
|||
|
|
relatedUnits: item["关联单元名称(垂直能力课)"]
|
|||
|
|
}));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 生成myResume数据
|
|||
|
|
const myResume = {
|
|||
|
|
personal: {
|
|||
|
|
name: "张明",
|
|||
|
|
studentId: "2021001",
|
|||
|
|
className: "交通物流2101",
|
|||
|
|
majorName: "交通物流管理",
|
|||
|
|
avatar: "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/butler_position_avatar/recuPFXZhkWje7.jpeg"
|
|||
|
|
},
|
|||
|
|
resumes: [
|
|||
|
|
{
|
|||
|
|
id: "resume_1",
|
|||
|
|
positionTitle: "仓储管理员",
|
|||
|
|
submitTime: "2024-01-15 10:30:00",
|
|||
|
|
status: "已通过",
|
|||
|
|
score: 92,
|
|||
|
|
feedback: "简历内容完整,专业技能描述清晰"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// 统计信息
|
|||
|
|
console.log('数据结构修复完成:');
|
|||
|
|
console.log(`- 岗位群数量:${Object.keys(resumeTemplates).length}`);
|
|||
|
|
console.log(`- 各岗位群包含的简历模板:`);
|
|||
|
|
Object.entries(resumeTemplates).forEach(([group, templates]) => {
|
|||
|
|
console.log(` ${group}: ${templates.length}个模板`);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 生成最终的mock文件内容
|
|||
|
|
const mockFileContent = `// 交通物流产业数据
|
|||
|
|
export const industries = ${JSON.stringify(industries, null, 2)};
|
|||
|
|
|
|||
|
|
// 按岗位群分组的简历模板
|
|||
|
|
export const resumeTemplates = ${JSON.stringify(resumeTemplates, null, 2)};
|
|||
|
|
|
|||
|
|
export const myResume = ${JSON.stringify(myResume, null, 2)};
|
|||
|
|
|
|||
|
|
export const resumeInterviewMockData = {
|
|||
|
|
industries,
|
|||
|
|
resumeTemplates,
|
|||
|
|
myResume
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
export function getMockPageData() {
|
|||
|
|
return resumeInterviewMockData;
|
|||
|
|
}
|
|||
|
|
`;
|
|||
|
|
|
|||
|
|
// 备份原文件
|
|||
|
|
const backupFileName = `src/mocks/resumeInterviewMock.js.backup_${new Date().toISOString().replace(/[:.]/g, '-')}`;
|
|||
|
|
fs.copyFileSync('src/mocks/resumeInterviewMock.js', backupFileName);
|
|||
|
|
console.log(`\n原文件已备份到: ${backupFileName}`);
|
|||
|
|
|
|||
|
|
// 保存新的mock文件
|
|||
|
|
fs.writeFileSync('src/mocks/resumeInterviewMock.js', mockFileContent, 'utf-8');
|
|||
|
|
console.log('\n新的resumeInterviewMock.js已保存');
|
|||
|
|
console.log('数据结构已修正为按岗位群分组的对象格式');
|