2 Commits
jiagou ... yxl

Author SHA1 Message Date
9d0881e6d1 =【职业图谱】用户求职岗位更新 2026-04-15 19:22:04 +08:00
FengHui
8b3523f645 详情页面加工作地点 2026-04-15 14:38:48 +08:00
4 changed files with 109 additions and 58 deletions

View File

@@ -60,6 +60,14 @@
<view class="explain-right button-click" @click="seeExplain">点击查看</view> <view class="explain-right button-click" @click="seeExplain">点击查看</view>
</view> </view>
</view> </view>
<view class="content-card">
<view class="card-title">
<text class="title">工作地点</text>
</view>
<view class="description">
{{ jobInfo.jobAddress || jobInfo.jobLocation || '暂无地址信息' }}
</view>
</view>
<view class="content-card"> <view class="content-card">
<view class="card-title"> <view class="card-title">
<text class="title">职位描述</text> <text class="title">职位描述</text>
@@ -90,7 +98,7 @@
<view class="contact-label">联系人</view> <view class="contact-label">联系人</view>
<view class="contact-value">{{ contact.contactPerson }}</view> <view class="contact-value">{{ contact.contactPerson }}</view>
</view> </view>
<view class="contact-info"> <view class="contact-info" v-if="contact.position">
<view class="contact-label">职位</view> <view class="contact-label">职位</view>
<view class="contact-value">{{ contact.position }}</view> <view class="contact-value">{{ contact.position }}</view>
</view> </view>
@@ -127,6 +135,7 @@
<span v-if="jobInfo.company?.industry">&nbsp;</span> <span v-if="jobInfo.company?.industry">&nbsp;</span>
<dict-Label dictType="scale" :value="jobInfo.company?.scale"></dict-Label> <dict-Label dictType="scale" :value="jobInfo.company?.scale"></dict-Label>
</view> </view>
<view class="row2"> <view class="row2">
<text>在招</text> <text>在招</text>
<text style="color: #256bfa">{{ companyCount }}</text> <text style="color: #256bfa">{{ companyCount }}</text>
@@ -143,7 +152,7 @@
></map> ></map>
</view> </view>
</view> </view>
<view class="content-card" v-if="currentUserType !== 0"> <view class="content-card jzlfx-card" v-if="currentUserType !== 0">
<view class="card-title"> <view class="card-title">
<text class="title">竞争力分析</text> <text class="title">竞争力分析</text>
</view> </view>
@@ -774,9 +783,9 @@ for i in 0..100
} }
} }
.content{ .content{
padding: 0 28rpx
height: 100% height: 100%
padding-top: 28rpx padding-top: 28rpx
padding-bottom: 28rpx
.content-top{ .content-top{
box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0,0,0,0.04); box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0,0,0,0.04);
border-radius: 20rpx 20rpx 20rpx 20rpx; border-radius: 20rpx 20rpx 20rpx 20rpx;
@@ -825,7 +834,19 @@ for i in 0..100
color: #64779F; color: #64779F;
border-bottom-left-radius: 20rpx border-bottom-left-radius: 20rpx
} }
.publish-time{
margin-top: 20rpx
font-weight: 400;
font-size: 24rpx;
color: #999999;
text-align: right
} }
}
/* #ifdef H5 */
.jzlfx-card{
padding-bottom: 90rpx!important;
}
/* #endif */
.content-card{ .content-card{
padding: 24rpx padding: 24rpx
margin-top: 28rpx margin-top: 28rpx

View File

@@ -1,25 +1,31 @@
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: []
}); });
watch(() => ui.value, () => {
if (!ui.value) {
return;
}
try { 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 { 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
@@ -28,6 +34,10 @@ export const useCareerPathStore = defineStore('career-path', () => {
} 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,25 +1,31 @@
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: []
}); });
watch(() => ui.value, () => {
if (!ui.value) {
return;
}
try { 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 { 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
@@ -28,6 +34,10 @@ export const useCareerRecommendationStore = defineStore('career-recommendation',
} 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,26 +1,32 @@
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: []
}); });
watch(() => ui.value, () => {
if (!ui.value) {
return;
}
try { 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 { 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
@@ -29,6 +35,10 @@ export const useSkillDevelopmentStore = defineStore('skill-development', () => {
} 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('');