Files
online_sys/frontend_财经商贸/updateInterviewStatus.js

76 lines
2.4 KiB
JavaScript
Raw Normal View History

import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// 读取财经商贸岗位面试状态数据
const financeStatusData = JSON.parse(
fs.readFileSync(path.join(__dirname, '网页未导入数据/财经商贸产业/财经商贸岗位面试状态.json'), 'utf-8')
);
// 转换数据格式 - 根据原始文件的格式转换
const transformedData = financeStatusData.map(item => {
// 解析流程时间和流程标签来构建阶段日期
let stageDate = '';
// 根据流程标签决定显示格式
switch(item["流程标签"]) {
case "面试未通过":
stageDate = `面试未通过:${item["流程时间"]}`;
break;
case "面试完成":
stageDate = `面试完成:${item["流程时间"]}`;
break;
case "收到Offer":
stageDate = `收到Offer${item["流程时间"]}`;
break;
case "面试日期已过":
stageDate = `面试日期已过:${item["流程时间"]}`;
break;
case "简历通过":
stageDate = `简历通过:${item["流程时间"]}`;
break;
case "面试日期已确定":
stageDate = `面试日期:${item["流程时间"]}`;
break;
case "简历未通过":
stageDate = `简历未通过:${item["流程时间"]}`;
break;
case "等待HR评估":
stageDate = `等待HR评估${item["流程时间"]}`;
break;
default:
stageDate = `${item["流程标签"]}${item["流程时间"]}`;
}
// 构建面试状态文本
let statusText = item["内容"];
if (item["剩余时间"]) {
statusText = item["内容"].replace(/\d+天/, `${item["剩余时间"]}`);
}
return {
"查询岗位名称": item["查询岗位名称"],
"阶段日期": stageDate,
"面试状态": statusText
};
});
// 备份原文件
const backupPath = path.join(__dirname, 'src/data', `interviewStatus.json.backup_${new Date().toISOString().replace(/[:.]/g, '-')}`);
fs.copyFileSync(
path.join(__dirname, 'src/data/interviewStatus.json'),
backupPath
);
console.log(`备份已创建: ${backupPath}`);
// 写入新数据
fs.writeFileSync(
path.join(__dirname, 'src/data/interviewStatus.json'),
JSON.stringify(transformedData, null, 2),
'utf-8'
);
console.log(`成功更新 interviewStatus.json${transformedData.length} 个面试状态`);