Compare commits
8 Commits
e290340b8c
...
CareerMap
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d78382ba08 | ||
|
|
a74cdcc850 | ||
| d89b566ad3 | |||
| 3c66e16e49 | |||
| ccbb5008bd | |||
|
|
bc48d7fff0 | ||
|
|
6baacfcf20 | ||
|
|
c4f7d6d998 |
@@ -81,10 +81,16 @@ const fromValue = reactive({
|
||||
area: '',
|
||||
jobTitleId: [],
|
||||
});
|
||||
onLoad(async () => {
|
||||
const needSkill = ref(false);
|
||||
|
||||
onLoad(async (options) => {
|
||||
// 初始化字典数据
|
||||
await getDictData();
|
||||
initLoad();
|
||||
// 检查是否需要继续跳转到技能页面
|
||||
if (options && options.needSkill === 'true') {
|
||||
needSkill.value = true;
|
||||
}
|
||||
});
|
||||
const confirm = () => {
|
||||
if (!fromValue.jobTitleId) {
|
||||
@@ -94,7 +100,12 @@ const confirm = () => {
|
||||
$api.msg('完成');
|
||||
state.disbleDate = true;
|
||||
getUserResume().then(() => {
|
||||
navBack();
|
||||
// 如果需要继续跳转到技能页面,则跳转到个人信息页面(携带 needSkill 标记,便于返回两级)
|
||||
if (needSkill.value) {
|
||||
navTo('/packageA/pages/personalInfo/personalInfo?needSkill=true');
|
||||
} else {
|
||||
navBack();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
@@ -150,6 +150,8 @@ const openSelectPopup = (config) => {
|
||||
};
|
||||
|
||||
const percent = ref('0%');
|
||||
// 当从“先职位后技能”链路进入时,提交后需直接返回职业规划页
|
||||
const needGoBackTwoStep = ref(false);
|
||||
const state = reactive({
|
||||
educationText: '',
|
||||
politicalAffiliationText: '',
|
||||
@@ -168,7 +170,10 @@ const fromValue = reactive({
|
||||
// 移除重复的onLoad定义,已在上方实现
|
||||
|
||||
// 在onLoad中初始化数据,确保页面加载时就能获取技能信息
|
||||
onLoad(() => {
|
||||
onLoad((options = {}) => {
|
||||
if (options.needSkill === 'true') {
|
||||
needGoBackTwoStep.value = true;
|
||||
}
|
||||
// 初始化页面数据
|
||||
initLoad();
|
||||
});
|
||||
@@ -369,7 +374,12 @@ const confirm = () => {
|
||||
$api.createRequest('/app/user/resume', params, 'post').then((resData) => {
|
||||
$api.msg('完成');
|
||||
getUserResume().then(() => {
|
||||
navBack();
|
||||
// 如果从“缺职位+技能”链路进入,回退两层直接返回职业规划页
|
||||
if (needGoBackTwoStep.value) {
|
||||
navBack({ delta: 2 });
|
||||
} else {
|
||||
navBack();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Date: 2025-10-16 15:15:47
|
||||
* @LastEditors: lip
|
||||
* @LastEditTime: 2025-11-19 18:22:34
|
||||
* @LastEditors: shirlwang
|
||||
* @LastEditTime: 2025-12-08 16:10:47
|
||||
-->
|
||||
<template>
|
||||
<!-- @scroll="handleScroll" @scrolltolower="scrollBottom" -->
|
||||
@@ -66,7 +66,7 @@
|
||||
<view class="title-item active"><view>政策专区</view></view>
|
||||
<view @click="toPolicyList">{{'查看更多 >'}}</view>
|
||||
</view>
|
||||
<view v-for="(item, index) in policyList" :key="index" class="job-list" @click="toPolicyDetail">
|
||||
<view v-for="(item, index) in policyList" :key="index" class="job-list" @click="toPolicyDetail(item)">
|
||||
<view class="sign">推荐</view>
|
||||
<view class="title">
|
||||
<image src="../../../packageRc/static/zcLeft.png"/>
|
||||
@@ -100,7 +100,7 @@ function getPolicy() {
|
||||
function toPolicyList() {
|
||||
navTo(`/packageRc/pages/policy/policyList`)
|
||||
}
|
||||
function toPolicyDetail() {
|
||||
function toPolicyDetail(item) {
|
||||
navTo(`/packageRc/pages/policy/policyDetail?id=${item.id}`)
|
||||
}
|
||||
let activeTab = ref(1)
|
||||
|
||||
@@ -95,12 +95,7 @@
|
||||
</view>
|
||||
<view class="service-title">服务指导</view>
|
||||
</view>
|
||||
// <view class="service-item press-button" @click="handleServiceClick('public-recruitment')">
|
||||
// <view class="service-icon service-icon-2">
|
||||
// <IconfontIcon name="zhengfulou" :size="48" color="#FFFFFF" />
|
||||
// </view>
|
||||
// <view class="service-title">事业单位招录</view>
|
||||
// </view>
|
||||
|
||||
<view class="service-item press-button" @click="handleServiceClick('resume-creation')">
|
||||
<view class="service-icon service-icon-3">
|
||||
<IconfontIcon name="jianli" :size="48" color="#FFFFFF" />
|
||||
@@ -111,7 +106,7 @@
|
||||
<view class="service-icon service-icon-4">
|
||||
<IconfontIcon name="zhengce" :size="48" color="#FFFFFF" />
|
||||
</view>
|
||||
<view class="service-title">劳动政策指引</view>
|
||||
<view class="service-title">政策指引</view>
|
||||
</view>
|
||||
<view class="service-item press-button" @click="handleServiceClick('skill-training')">
|
||||
<view class="service-icon service-icon-5">
|
||||
@@ -861,7 +856,7 @@ function navToService(serviceType) {
|
||||
'service-guidance': '/pages/service/guidance',
|
||||
'public-recruitment': '/pages/service/public-recruitment',
|
||||
'resume-creation': '/pages/resume-guide/resume-guide',
|
||||
'labor-policy': '/pages/service/labor-policy',
|
||||
'labor-policy': '/packageRc/pages/policy/policyList',
|
||||
'skill-training': '/packageB/train/video/videoList',
|
||||
'skill-evaluation': '/packageB/train/index',
|
||||
// 'skill-evaluation': '/pages/service/skill-evaluation',
|
||||
@@ -1070,7 +1065,6 @@ import storeRc from '@/utilsRc/store/index.js';
|
||||
function goRc(){
|
||||
if (checkLogin()) {
|
||||
let userInfo = uni.getStorageSync('userInfo')
|
||||
console.log(uni.getStorageSync('userInfo'), "uni.getStorageSync('userInfo')");
|
||||
storeRc.dispatch('LoginByUserInfo', userInfo).then(res => {
|
||||
// console.log(res, "'res");
|
||||
navTo('/packageRc/pages/index/index');
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
<script setup>
|
||||
import { ref, inject, nextTick, onMounted } from 'vue';
|
||||
import { onLoad } from '@dcloudio/uni-app';
|
||||
import { onLoad, onShow } from '@dcloudio/uni-app';
|
||||
import { appUserInfo } from '@/apiRc/user/user.js';
|
||||
import RemindPopup from './components/RemindPopup.vue';
|
||||
import PageHeader from './components/PageHeader.vue';
|
||||
@@ -143,6 +143,11 @@ function openRemindPopup() {
|
||||
|
||||
// 检查用户是否完善了个人信息(调用接口获取)
|
||||
let hasCheckedRemindInfo = false;
|
||||
// 保存缺失信息的标识
|
||||
const missingInfo = ref({
|
||||
hasJobInfo: false,
|
||||
hasSkills: false
|
||||
});
|
||||
|
||||
async function getRemindInfo() {
|
||||
if (hasCheckedRemindInfo) {
|
||||
@@ -186,6 +191,10 @@ async function getRemindInfo() {
|
||||
return skillName && skillName.trim() !== '';
|
||||
});
|
||||
|
||||
// 保存缺失信息标识(只保存职位信息和技能标签,身份证信息跳转到个人信息页面)
|
||||
missingInfo.value.hasJobInfo = hasJobInfo;
|
||||
missingInfo.value.hasSkills = hasSkills;
|
||||
|
||||
// 判断信息是否完整(idCard、职位信息、技能标签都必须有)
|
||||
const isComplete = hasIdCard && hasJobInfo && hasSkills;
|
||||
|
||||
@@ -250,6 +259,10 @@ async function getRemindInfo() {
|
||||
return skillName && skillName.trim() !== '';
|
||||
});
|
||||
|
||||
// 保存缺失信息标识
|
||||
missingInfo.value.hasJobInfo = hasJobInfo;
|
||||
missingInfo.value.hasSkills = hasSkills;
|
||||
|
||||
// 判断信息是否完整(idCard、职位信息、技能标签都必须有)
|
||||
const isComplete = hasIdCard && hasJobInfo && hasSkills;
|
||||
|
||||
@@ -299,8 +312,25 @@ function handleCancel() {
|
||||
async function handleConfirm() {
|
||||
remindPopup.value?.close();
|
||||
|
||||
// 跳转到完善信息页面
|
||||
navTo('/pages/complete-info/complete-info');
|
||||
const { hasJobInfo, hasSkills } = missingInfo.value;
|
||||
|
||||
// 如果同时缺少职位信息和技能标签:先跳转到职位信息页面,并传递参数表示完成后需要继续跳转到技能页面
|
||||
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
|
||||
@@ -483,6 +513,14 @@ onLoad(() => {
|
||||
getRemindInfo();
|
||||
});
|
||||
|
||||
onShow(() => {
|
||||
// 返回本页后,如果之前因为信息缺失未展示内容,则重新检查
|
||||
if (!showContent.value) {
|
||||
hasCheckedRemindInfo = false;
|
||||
getRemindInfo();
|
||||
}
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
if (remindList.value.length > 0 && !showContent.value) {
|
||||
setTimeout(() => {
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
<text>在职位详情页面点击右上角的收藏按钮,即可将职位添加到收藏夹。</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="faq-item">
|
||||
<!-- <view class="faq-item">
|
||||
<view class="faq-question">
|
||||
<uni-icons type="right" size="18" color="#256BFA"></uni-icons>
|
||||
<text>如何联系客服?</text>
|
||||
@@ -165,7 +165,7 @@
|
||||
<view class="faq-answer">
|
||||
<text>如果您在使用过程中遇到问题,可以在"我的"页面找到"联系客服"入口,或拨打客服热线。</text>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user