Fix career map missing info redirect flow

This commit is contained in:
2025-12-08 20:22:40 +08:00
parent bc48d7fff0
commit a74cdcc850
3 changed files with 57 additions and 6 deletions

View File

@@ -81,10 +81,16 @@ const fromValue = reactive({
area: '', area: '',
jobTitleId: [], jobTitleId: [],
}); });
onLoad(async () => { const needSkill = ref(false);
onLoad(async (options) => {
// 初始化字典数据 // 初始化字典数据
await getDictData(); await getDictData();
initLoad(); initLoad();
// 检查是否需要继续跳转到技能页面
if (options && options.needSkill === 'true') {
needSkill.value = true;
}
}); });
const confirm = () => { const confirm = () => {
if (!fromValue.jobTitleId) { if (!fromValue.jobTitleId) {
@@ -94,7 +100,12 @@ const confirm = () => {
$api.msg('完成'); $api.msg('完成');
state.disbleDate = true; state.disbleDate = true;
getUserResume().then(() => { getUserResume().then(() => {
navBack(); // 如果需要继续跳转到技能页面,则跳转到个人信息页面(携带 needSkill 标记,便于返回两级)
if (needSkill.value) {
navTo('/packageA/pages/personalInfo/personalInfo?needSkill=true');
} else {
navBack();
}
}); });
}); });
}; };

View File

@@ -150,6 +150,8 @@ const openSelectPopup = (config) => {
}; };
const percent = ref('0%'); const percent = ref('0%');
// 当从“先职位后技能”链路进入时,提交后需直接返回职业规划页
const needGoBackTwoStep = ref(false);
const state = reactive({ const state = reactive({
educationText: '', educationText: '',
politicalAffiliationText: '', politicalAffiliationText: '',
@@ -168,7 +170,10 @@ const fromValue = reactive({
// 移除重复的onLoad定义已在上方实现 // 移除重复的onLoad定义已在上方实现
// 在onLoad中初始化数据确保页面加载时就能获取技能信息 // 在onLoad中初始化数据确保页面加载时就能获取技能信息
onLoad(() => { onLoad((options = {}) => {
if (options.needSkill === 'true') {
needGoBackTwoStep.value = true;
}
// 初始化页面数据 // 初始化页面数据
initLoad(); initLoad();
}); });
@@ -369,7 +374,12 @@ const confirm = () => {
$api.createRequest('/app/user/resume', params, 'post').then((resData) => { $api.createRequest('/app/user/resume', params, 'post').then((resData) => {
$api.msg('完成'); $api.msg('完成');
getUserResume().then(() => { getUserResume().then(() => {
navBack(); // 如果从“缺职位+技能”链路进入,回退两层直接返回职业规划页
if (needGoBackTwoStep.value) {
navBack({ delta: 2 });
} else {
navBack();
}
}); });
}); });
}; };

View File

@@ -143,6 +143,11 @@ function openRemindPopup() {
// 检查用户是否完善了个人信息(调用接口获取) // 检查用户是否完善了个人信息(调用接口获取)
let hasCheckedRemindInfo = false; let hasCheckedRemindInfo = false;
// 保存缺失信息的标识
const missingInfo = ref({
hasJobInfo: false,
hasSkills: false
});
async function getRemindInfo() { async function getRemindInfo() {
if (hasCheckedRemindInfo) { if (hasCheckedRemindInfo) {
@@ -186,6 +191,10 @@ async function getRemindInfo() {
return skillName && skillName.trim() !== ''; return skillName && skillName.trim() !== '';
}); });
// 保存缺失信息标识(只保存职位信息和技能标签,身份证信息跳转到个人信息页面)
missingInfo.value.hasJobInfo = hasJobInfo;
missingInfo.value.hasSkills = hasSkills;
// 判断信息是否完整idCard、职位信息、技能标签都必须有 // 判断信息是否完整idCard、职位信息、技能标签都必须有
const isComplete = hasIdCard && hasJobInfo && hasSkills; const isComplete = hasIdCard && hasJobInfo && hasSkills;
@@ -250,6 +259,10 @@ async function getRemindInfo() {
return skillName && skillName.trim() !== ''; return skillName && skillName.trim() !== '';
}); });
// 保存缺失信息标识
missingInfo.value.hasJobInfo = hasJobInfo;
missingInfo.value.hasSkills = hasSkills;
// 判断信息是否完整idCard、职位信息、技能标签都必须有 // 判断信息是否完整idCard、职位信息、技能标签都必须有
const isComplete = hasIdCard && hasJobInfo && hasSkills; const isComplete = hasIdCard && hasJobInfo && hasSkills;
@@ -299,8 +312,25 @@ function handleCancel() {
async function handleConfirm() { async function handleConfirm() {
remindPopup.value?.close(); remindPopup.value?.close();
// 跳转到完善信息页面 const { hasJobInfo, hasSkills } = missingInfo.value;
navTo('/packageA/pages/personalInfo/personalInfo');
// 如果同时缺少职位信息和技能标签:先跳转到职位信息页面,并传递参数表示完成后需要继续跳转到技能页面
if (!hasJobInfo && !hasSkills) {
// 跳转到职位信息页面,传递参数表示完成后需要继续跳转到技能页面
navTo('/packageA/pages/jobExpect/jobExpect?needSkill=true');
}
// 如果只缺少技能标签:直接跳转到技能页面(个人信息页面的技能部分)
else if (!hasSkills) {
navTo('/packageA/pages/personalInfo/personalInfo');
}
// 如果只缺少职位信息:直接跳转到职位信息页面
else if (!hasJobInfo) {
navTo('/packageA/pages/jobExpect/jobExpect');
}
// 如果只缺少身份证信息:跳转到个人信息页面
else {
navTo('/packageA/pages/personalInfo/personalInfo');
}
} }
// 切换tab // 切换tab