|
|
@@ -118,8 +118,8 @@
|
|
|
|
|
|
<!-- 从事方向 -->
|
|
|
<view class="direction-tip">
|
|
|
- <view class="direction-tip-title">请选择您可从事方向</view>
|
|
|
- <view class="direction-tip-subtitle">您的偏好选择将用于为您推荐更匹配的职位</view>
|
|
|
+ <view class="direction-tip-title">请选择您的跨境标签</view>
|
|
|
+ <view class="direction-tip-subtitle">您的跨境标签将用于为您推荐更匹配的职位</view>
|
|
|
|
|
|
<!-- 标签选择 -->
|
|
|
<view class="direction-tags flex align-center flex-wrap">
|
|
|
@@ -352,6 +352,28 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 请筛选牛人的跨境标签 -->
|
|
|
+ <view class="direction-tip">
|
|
|
+ <view class="direction-tip-title">请筛选牛人的跨境标签</view>
|
|
|
+ <view class="direction-tip-subtitle">跨境标签将用于为您推荐更匹配的牛人</view>
|
|
|
+
|
|
|
+ <!-- 标签选择 -->
|
|
|
+ <view class="direction-tags flex align-center flex-wrap">
|
|
|
+ <view class="direction-tag"
|
|
|
+ :class="positionTagArr.indexOf(item.id) >= 0 || (positionTagArr.length <= 0 && item.id == '不限') ? 'active' : ''"
|
|
|
+ @click="selectPositionTag(item)" v-for="(item, index) in positionTag"
|
|
|
+ :key="index">
|
|
|
+ {{ item.name }}
|
|
|
+ </view>
|
|
|
+ <!-- <view class="direction-tag-add" @click="addDirection">
|
|
|
+ <text>对应职位相关标签</text>
|
|
|
+ </view> -->
|
|
|
+ <view class="direction-tag-plus" @click="goToPage">
|
|
|
+ <u-icon name="plus" color="#999999" size="16"></u-icon>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</u-sticky>
|
|
|
@@ -418,6 +440,12 @@
|
|
|
style="width: 95rpx;height: 95rpx;border-radius: 50%;" mode=""></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
+ <!-- 标签 -->
|
|
|
+ <view v-if="item.skillName" class="flex align-center" style="gap:8rpx;margin: 32rpx 0;">
|
|
|
+ <view v-for="(text, i) in (item.skillName ? item.skillName.split(',') : [])" :key="i" class="skillTag">
|
|
|
+ {{text}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
|
|
|
<view class="qyList-box-item-job flex align-center">
|
|
|
<image src="../../static/images/qi.png"
|
|
|
@@ -542,7 +570,7 @@ export default {
|
|
|
currentJobSxs: 0,
|
|
|
jobSxsTypeList: [{
|
|
|
id: 1,
|
|
|
- name: '推荐',
|
|
|
+ name: '跨境标签',
|
|
|
},
|
|
|
{
|
|
|
id: 2,
|
|
|
@@ -583,6 +611,14 @@ export default {
|
|
|
name: '不限'
|
|
|
}
|
|
|
],
|
|
|
+ // 招聘端标签
|
|
|
+ positionTag:[
|
|
|
+ {
|
|
|
+ id: '不限',
|
|
|
+ name: '不限'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ positionTagArr:[]
|
|
|
};
|
|
|
},
|
|
|
onShareAppMessage(res) {
|
|
|
@@ -714,6 +750,17 @@ export default {
|
|
|
})
|
|
|
that.directionList = prefer
|
|
|
})
|
|
|
+ uni.$on("skillsUpdated", (data) => {
|
|
|
+ console.log("接收到的职位技能数据:", data);
|
|
|
+ let prefer = data.selectedTags.map(item => ({
|
|
|
+ id: item,
|
|
|
+ name: item
|
|
|
+ }))
|
|
|
+ prefer = prefer.filter(tag => tag.id !== '不限')
|
|
|
+ prefer.unshift({ id: '不限', name: '不限' })
|
|
|
+ this.positionTag = prefer
|
|
|
+ })
|
|
|
+
|
|
|
|
|
|
//#ifdef H5
|
|
|
this.getLocalJobs('');
|
|
|
@@ -770,7 +817,7 @@ export default {
|
|
|
uni.$off('preferenceUpdated')
|
|
|
uni.$off('updateScreenFilterRecord')
|
|
|
uni.$off('updateIndexType')
|
|
|
- // uni.$off('city')
|
|
|
+ uni.$off('skillsUpdated')
|
|
|
},
|
|
|
//加载更多
|
|
|
// onReachBottom() {
|
|
|
@@ -1339,12 +1386,13 @@ export default {
|
|
|
page: this.page,
|
|
|
limit: this.limit,
|
|
|
postType: '', //工作性质
|
|
|
- expectedPosition: this.jobSxTypeList.length > 0 ? this.jobSxTypeList[this.currentJobSx].projectName : '', //岗位名称
|
|
|
+ expectedPosition: '',//this.jobSxTypeList.length > 0 ? this.jobSxTypeList[this.currentJobSx].projectName : '', //岗位名称
|
|
|
screen: +this.currentJobSxs + 1, //1推荐 2最新
|
|
|
city: this.city == '全国' ? '' : this.city, //城市
|
|
|
salaryRange: this.salaryRange, //薪资范围
|
|
|
eduRange: this.education, //学历
|
|
|
expRange: this.experience, //经验
|
|
|
+ intentPostSkill:this.positionTagArr.join(','),
|
|
|
//industryName: this.industry, //行业
|
|
|
// companyPeople: this.companyPeople, //公司规模
|
|
|
lng: this.longitude,
|
|
|
@@ -1408,26 +1456,51 @@ export default {
|
|
|
data.companyId = uni.getStorageSync('companyId')
|
|
|
|
|
|
this.$Request.getT('/app/postPush/getCompanyClassify', data).then(res => {
|
|
|
- if (res.code == 0) {
|
|
|
- let arr = []
|
|
|
- console.log("布的岗位列表", res.data.length)
|
|
|
- if (res.data.length == 0) {
|
|
|
- // let backUrl = '/pages/my/index'
|
|
|
- // uni.navigateTo({
|
|
|
- // url: `/pages/jobManagement/jobManagement?backUrl=${backUrl}`
|
|
|
- // })
|
|
|
- }
|
|
|
- res.data.map(item => {
|
|
|
- let obj = {
|
|
|
- id: item.postPushId,
|
|
|
- projectName: item.ruleClassifyName,
|
|
|
- name: item.ruleClassifyName,
|
|
|
- }
|
|
|
- arr.push(obj)
|
|
|
- })
|
|
|
- this.jobSxTypeList = arr
|
|
|
- this.getPeopList()
|
|
|
- }
|
|
|
+ if (res.code === 0) {
|
|
|
+ let arr = []
|
|
|
+ let tempTags = []
|
|
|
+
|
|
|
+ res.data.forEach(item => {
|
|
|
+ let obj = {
|
|
|
+ id: item.postPushId,
|
|
|
+ projectName: item.ruleClassifyName,
|
|
|
+ name: item.ruleClassifyName,
|
|
|
+ ruleClassifyId: item.ruleClassifyId
|
|
|
+ }
|
|
|
+ arr.push(obj)
|
|
|
+
|
|
|
+ if (item.positionTag) {
|
|
|
+ tempTags.push(
|
|
|
+ ...item.positionTag
|
|
|
+ .split(',')
|
|
|
+ .filter(Boolean)
|
|
|
+ .map(tag => ({ id: tag, name: tag }))
|
|
|
+ )
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.jobSxTypeList = arr
|
|
|
+ const isDefault = this.positionTag.length === 1 && this.positionTag[0].id === '不限'
|
|
|
+
|
|
|
+ if (isDefault) {
|
|
|
+ if (tempTags.length > 0) {
|
|
|
+ this.positionTag = [{ id: '不限', name: '不限' }, ...tempTags]
|
|
|
+ } else {
|
|
|
+ this.positionTag = [{ id: '不限', name: '不限' }]
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ const existingIds = this.positionTag.map(i => i.id)
|
|
|
+ tempTags.forEach(tag => {
|
|
|
+ if (!existingIds.includes(tag.id)) {
|
|
|
+ this.positionTag.push(tag)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.positionTag = [
|
|
|
+ { id: '不限', name: '不限' },
|
|
|
+ ...this.positionTag.filter(i => i.id !== '不限')
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ this.getPeopList()
|
|
|
+ }
|
|
|
})
|
|
|
},
|
|
|
/**
|
|
|
@@ -1488,6 +1561,7 @@ export default {
|
|
|
}
|
|
|
arr.push(obj)
|
|
|
})
|
|
|
+ console.log(arr)
|
|
|
this.jobTypeList = arr
|
|
|
}
|
|
|
})
|
|
|
@@ -1831,6 +1905,14 @@ export default {
|
|
|
.directionList, 'name')))
|
|
|
})
|
|
|
},
|
|
|
+ //跳转招聘端选择标签页面
|
|
|
+ goToPage(){
|
|
|
+ if (this.jobSxTypeList.length <= 0 || this.jobSxTypeList[this.currentJobSx].id == '') return this.$queue.showToast('请先点击右上角发布岗位');
|
|
|
+ let selectTag = this.positionTag.map(item => item.id)
|
|
|
+ uni.navigateTo({
|
|
|
+ url: "/package/jobIntention/jobSkills?tag=" + selectTag + '&jobTitle=' + this.jobSxTypeList[this.currentJobSx].name + '&ruleClassifyId=' + this.jobSxTypeList[this.currentJobSx].ruleClassifyId,
|
|
|
+ });
|
|
|
+ },
|
|
|
selectPreference(item) {
|
|
|
var preference = this.preference
|
|
|
var res = preference.indexOf(item.id)
|
|
|
@@ -1850,6 +1932,21 @@ export default {
|
|
|
this.getUserList()
|
|
|
}
|
|
|
},
|
|
|
+ selectPositionTag(item){
|
|
|
+ var preference = this.positionTagArr
|
|
|
+ var res = preference.indexOf(item.id)
|
|
|
+ if (res >= 0) {
|
|
|
+ preference.splice(res, 1)
|
|
|
+ } else {
|
|
|
+ if (item.id == '不限')
|
|
|
+ preference = []
|
|
|
+ else
|
|
|
+ preference.push(item.id)
|
|
|
+ }
|
|
|
+ this.positionTagArr = preference
|
|
|
+ this.page = 1;
|
|
|
+ this.getPeopList();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
@@ -2597,7 +2694,7 @@ page {
|
|
|
padding: 28rpx;
|
|
|
position: relative;
|
|
|
z-index: 1;
|
|
|
- margin: 52rpx 20rpx 0;
|
|
|
+ margin: 24rpx 20rpx 0;
|
|
|
|
|
|
.qySx-box-row {
|
|
|
margin-bottom: 20rpx;
|
|
|
@@ -2904,4 +3001,14 @@ page {
|
|
|
border: 1rpx solid #016bf6;
|
|
|
background: #D6E7FD !important;
|
|
|
}
|
|
|
+.skillTag{
|
|
|
+ padding: 8rpx;
|
|
|
+ border-radius: 8rpx;
|
|
|
+ background: rgba(198, 198, 198, 0.1);
|
|
|
+ color: rgba(153, 153, 153, 1);
|
|
|
+ font-family: DM Sans;
|
|
|
+ font-size: 20rpx;
|
|
|
+ font-weight: 400;
|
|
|
+ line-height: 20rpx;
|
|
|
+}
|
|
|
</style>
|