fix: 修复项目案例对应单元显示问题

- 修复"长安幻夜"和"水墨苏乡"项目对应单元无法显示的问题
- 使用模板字符串处理包含中文双引号的项目名称键
- 调整JobInfoModal弹窗最大宽度为860px

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
KQL
2025-09-14 14:23:33 +08:00
parent fc616bb6cd
commit 11af479a44
3 changed files with 40 additions and 9 deletions

View File

@@ -22,7 +22,7 @@ export const projectUnitsMapping = {
compoundUnits: ["商业设计基础"],
verticalUnits: ["商业空间与文创产品设计", "文旅衍生文创产品设计"]
},
"'长安幻夜'文创IP运营与品牌建设项目": {
[`"长安幻夜"文创IP运营与品牌建设项目`]: {
compoundUnits: ["商业设计基础"],
verticalUnits: ["品牌招商展全案策划与招商运营", "商业空间与文创产品设计", "文旅衍生文创产品设计"]
},
@@ -62,7 +62,7 @@ export const projectUnitsMapping = {
compoundUnits: ["活动策划基础"],
verticalUnits: ["露营地规划与经营管理", "营销传播与品牌推广"]
},
"'水墨苏乡'文化创意产品设计与量产落地项目": {
[`"水墨苏乡"文化创意产品设计与量产落地项目`]: {
compoundUnits: ["商业设计基础"],
verticalUnits: ["品牌招商展全案策划与招商运营", "商业空间与文创产品设计", "文旅衍生文创产品设计"]
},
@@ -87,36 +87,38 @@ export const projectUnitsMapping = {
// 获取项目的复合能力课程
export const getCompoundUnits = (projectTitle) => {
if (!projectTitle) return [];
// 直接匹配
if (projectUnitsMapping[projectTitle]) {
return projectUnitsMapping[projectTitle].compoundUnits || [];
}
// 尝试去除后缀后匹配(如"详情"
const cleanTitle = projectTitle.replace(/详情$/, '');
if (projectUnitsMapping[cleanTitle]) {
return projectUnitsMapping[cleanTitle].compoundUnits || [];
}
return [];
};
// 获取项目的垂直能力课程
export const getVerticalUnits = (projectTitle) => {
if (!projectTitle) return [];
// 直接匹配
if (projectUnitsMapping[projectTitle]) {
return projectUnitsMapping[projectTitle].verticalUnits || [];
}
// 尝试去除后缀后匹配(如"详情"
const cleanTitle = projectTitle.replace(/详情$/, '');
if (projectUnitsMapping[cleanTitle]) {
return projectUnitsMapping[cleanTitle].verticalUnits || [];
}
return [];
};

View File

@@ -1,6 +1,7 @@
.job-info-modal-content {
max-height: 80vh;
width: 720px;
max-width: 860px;
width: 100%;
position: relative;
display: flex;
flex-direction: column;

View File

@@ -138,10 +138,38 @@ export default ({ visible, onClose, data, directToResume = false, hideDeliverBut
template.position === item.position
);
// 添加调试日志
console.log('查找简历模板:', {
industryName: item.industry,
positionTitle: item.position,
templatesCount: industryTemplates.length,
templatePositions: industryTemplates.map(t => t.position),
templatesStructure: industryTemplates.slice(0, 2).map(t => ({
position: t.position,
hasContent: !!t.content,
hasStudentInfo: !!t.studentInfo,
keys: Object.keys(t)
}))
});
if (positionTemplate) {
console.log('找到的模板:', {
position: positionTemplate.position,
hasContent: !!positionTemplate.content,
hasContentOriginal: !!positionTemplate.content?.original,
hasStudentInfo: !!positionTemplate.studentInfo,
templateKeys: Object.keys(positionTemplate),
contentKeys: positionTemplate.content ? Object.keys(positionTemplate.content) : null
});
} else {
console.warn('未找到简历模板:', item.position);
}
// 构造简历数据使用与ResumeInterviewPage相同的格式
const resumeData = {
title: item.position, // 使用岗位名称作为标题
content: positionTemplate?.content || null, // 这里包含原始版和修改版数据
selectedTemplate: positionTemplate, // 添加selectedTemplate字段
studentResume: pageData.myResume
};