=【职业图谱】用户求职岗位更新

This commit is contained in:
2026-04-15 19:22:04 +08:00
parent 8b3523f645
commit 9d0881e6d1
3 changed files with 85 additions and 55 deletions

View File

@@ -1,25 +1,31 @@
import { computed, ref, watch } from 'vue';
import { defineStore } from 'pinia';
import { defineStore, storeToRefs } from 'pinia';
import useUserStore from '@/stores/useUserStore';
import { getCurrentPosition, getPath, getPathDetail } from '@/apiRc/service/careerPath';
export const useCareerPathStore = defineStore('career-path', () => {
const { userInfo: ui } = storeToRefs(useUserStore());
const userInfo = ref({
userName: '',
professions: [],
skills: []
});
watch(() => ui.value, () => {
if (!ui.value) {
return;
}
try {
const data = uni.getStorageSync('userInfo');
const { jobTitle, appSkillsList } = ui.value;
userInfo.value.professions = data.jobTitle.map((d) => {
userInfo.value.professions = jobTitle.map((d) => {
return {
label: d,
value: d
};
});
userInfo.value.skills = data.appSkillsList.map((d) => {
userInfo.value.skills = appSkillsList.map((d) => {
return {
label: d.name,
value: d.name
@@ -28,6 +34,10 @@ export const useCareerPathStore = defineStore('career-path', () => {
} catch (e) {
console.warn(e);
}
}, {
immediate: true,
deep: true
});
const professionIndex = ref(0);
const profession = ref('');

View File

@@ -1,25 +1,31 @@
import { computed, ref, watch } from 'vue';
import { defineStore } from 'pinia';
import { defineStore, storeToRefs } from 'pinia';
import useUserStore from '@/stores/useUserStore';
import { getProfessions, getRecommend, getSkillTags } from '@/apiRc/service/careerRecommendation';
export const useCareerRecommendationStore = defineStore('career-recommendation', () => {
const { userInfo: ui } = storeToRefs(useUserStore());
const userInfo = ref({
userName: '',
professions: [],
skills: []
});
watch(() => ui.value, () => {
if (!ui.value) {
return;
}
try {
const data = uni.getStorageSync('userInfo');
const { jobTitle, appSkillsList } = ui.value;
userInfo.value.professions = data.jobTitle.map((d) => {
userInfo.value.professions = jobTitle.map((d) => {
return {
label: d,
value: d
};
});
userInfo.value.skills = data.appSkillsList.map((d) => {
userInfo.value.skills = appSkillsList.map((d) => {
return {
label: d.name,
value: d.name
@@ -28,6 +34,10 @@ export const useCareerRecommendationStore = defineStore('career-recommendation',
} catch (e) {
console.warn(e);
}
}, {
immediate: true,
deep: true
});
const professionIndex = ref(0);
const profession = ref('');
@@ -144,7 +154,7 @@ export const useCareerRecommendationStore = defineStore('career-recommendation',
const eventProfession = (e) => {
professionIndex.value = Number(e.detail.value);
const item = professionsRef.value[e.detail.value]
const item = professionsRef.value[ e.detail.value ];
profession.value = item.value;
professionLabel.value = item.label;
};

View File

@@ -1,26 +1,32 @@
import { computed, ref, watch } from 'vue';
import { defineStore } from 'pinia';
import { defineStore, storeToRefs } from 'pinia';
import useUserStore from '@/stores/useUserStore';
import { getCurrentPosition, getPath } from '@/apiRc/service/careerPath';
import { getCareerPath, getSkillResult } from '@/apiRc/service/skillDevelopment';
export const useSkillDevelopmentStore = defineStore('skill-development', () => {
const { userInfo: ui } = storeToRefs(useUserStore());
const userInfo = ref({
userName: '',
professions: [],
skills: []
});
watch(() => ui.value, () => {
if (!ui.value) {
return;
}
try {
const data = uni.getStorageSync('userInfo');
const { jobTitle, appSkillsList } = ui.value;
userInfo.value.professions = data.jobTitle.map((d) => {
userInfo.value.professions = jobTitle.map((d) => {
return {
label: d,
value: d
};
});
userInfo.value.skills = data.appSkillsList.map((d) => {
userInfo.value.skills = appSkillsList.map((d) => {
return {
label: d.name,
value: d.name
@@ -29,6 +35,10 @@ export const useSkillDevelopmentStore = defineStore('skill-development', () => {
} catch (e) {
console.warn(e);
}
}, {
immediate: true,
deep: true
});
const professionIndex = ref(0);
const profession = ref('');