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

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

View File

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

View File

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