102 lines
3.5 KiB
JavaScript
102 lines
3.5 KiB
JavaScript
|
|
import fs from 'fs';
|
|||
|
|
|
|||
|
|
// 读取交通物流岗位简历数据
|
|||
|
|
const trafficLogisticsData = JSON.parse(fs.readFileSync('网页未导入数据/交通物流产业/交通物流岗位简历.json', 'utf-8'));
|
|||
|
|
|
|||
|
|
// 按等级分组
|
|||
|
|
const jobLevelData = {
|
|||
|
|
code: 200,
|
|||
|
|
message: "操作成功",
|
|||
|
|
data: {
|
|||
|
|
high: {
|
|||
|
|
name: "储备干部岗",
|
|||
|
|
list: []
|
|||
|
|
},
|
|||
|
|
middle: {
|
|||
|
|
name: "技术骨干岗",
|
|||
|
|
list: []
|
|||
|
|
},
|
|||
|
|
ordinary: {
|
|||
|
|
name: "基础岗",
|
|||
|
|
list: []
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// 遍历数据,按等级分组
|
|||
|
|
trafficLogisticsData.forEach((item, index) => {
|
|||
|
|
const record = {
|
|||
|
|
record_id: `traffic_logistics_${index + 1}`,
|
|||
|
|
position_name: item.岗位名称,
|
|||
|
|
img: item.简历头像url
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// 根据岗位等级标签分配到对应的级别
|
|||
|
|
switch(item.岗位等级标签) {
|
|||
|
|
case "储备干部岗":
|
|||
|
|
jobLevelData.data.high.list.push(record);
|
|||
|
|
break;
|
|||
|
|
case "技术骨干岗":
|
|||
|
|
jobLevelData.data.middle.list.push(record);
|
|||
|
|
break;
|
|||
|
|
case "基础岗":
|
|||
|
|
case "普通岗":
|
|||
|
|
default:
|
|||
|
|
jobLevelData.data.ordinary.list.push(record);
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 统计信息
|
|||
|
|
console.log('生成的joblevel.json统计:');
|
|||
|
|
console.log(`- 储备干部岗: ${jobLevelData.data.high.list.length}个岗位`);
|
|||
|
|
console.log(`- 技术骨干岗: ${jobLevelData.data.middle.list.length}个岗位`);
|
|||
|
|
console.log(`- 基础岗: ${jobLevelData.data.ordinary.list.length}个岗位`);
|
|||
|
|
console.log(`- 总计: ${trafficLogisticsData.length}个岗位`);
|
|||
|
|
|
|||
|
|
// 备份原文件
|
|||
|
|
const backupFileName = `src/data/joblevel.json.backup_${new Date().toISOString().replace(/[:.]/g, '-')}`;
|
|||
|
|
try {
|
|||
|
|
const originalData = fs.readFileSync('src/data/joblevel.json', 'utf-8');
|
|||
|
|
fs.writeFileSync(backupFileName, originalData);
|
|||
|
|
console.log(`\n原文件已备份到: ${backupFileName}`);
|
|||
|
|
} catch (error) {
|
|||
|
|
console.log('备份原文件失败:', error.message);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 保存新的joblevel.json
|
|||
|
|
fs.writeFileSync('src/data/joblevel.json', JSON.stringify(jobLevelData, null, 4), 'utf-8');
|
|||
|
|
console.log('\n新的joblevel.json已保存');
|
|||
|
|
|
|||
|
|
// 同时更新resumeInterviewMock.js中的简历内容格式
|
|||
|
|
console.log('\n正在更新简历模板格式...');
|
|||
|
|
|
|||
|
|
// 生成更新后的resumeTemplates,确保content字段格式正确
|
|||
|
|
const updatedResumeTemplates = trafficLogisticsData.map(item => ({
|
|||
|
|
positionTitle: item.岗位名称,
|
|||
|
|
position: item.岗位名称, // 添加position字段用于匹配
|
|||
|
|
level: item.岗位等级标签,
|
|||
|
|
avatar: item.简历头像url,
|
|||
|
|
department: item.简历岗位群,
|
|||
|
|
content: {
|
|||
|
|
original: item.简历内容,
|
|||
|
|
modified: item.简历内容 // 默认使用相同内容
|
|||
|
|
},
|
|||
|
|
projectName: item.对应项目案例名称,
|
|||
|
|
coreCompetencies: item["对应单元名称(复合能力课)"],
|
|||
|
|
verticalDirection: item.对应垂直方向,
|
|||
|
|
relatedUnits: item["关联单元名称(垂直能力课)"]
|
|||
|
|
}));
|
|||
|
|
|
|||
|
|
// 读取现有的resumeInterviewMock.js文件
|
|||
|
|
const mockFileContent = fs.readFileSync('src/mocks/resumeInterviewMock.js', 'utf-8');
|
|||
|
|
|
|||
|
|
// 找到resumeTemplates的位置并替换
|
|||
|
|
const newMockContent = mockFileContent.replace(
|
|||
|
|
/export const resumeTemplates = \[[\s\S]*?\];/,
|
|||
|
|
`export const resumeTemplates = ${JSON.stringify(updatedResumeTemplates, null, 2)};`
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
// 保存更新后的mock文件
|
|||
|
|
fs.writeFileSync('src/mocks/resumeInterviewMock.js', newMockContent, 'utf-8');
|
|||
|
|
console.log('resumeInterviewMock.js已更新,简历content格式已修正');
|