|
@@ -7,84 +7,96 @@
|
|
|
<view class="recruitment">
|
|
|
<u-navbar title-color="#FFFFFF" :customBack="navbarCustomBack" :bpay-bottom="false" back-icon-color="#FFFFFF" :background="{background: '#3D5D4C' }" title="招聘就业" class="recruitment-unavbar" />
|
|
|
|
|
|
- <!-- ###################################-- 轮播图 -- ################################### -->
|
|
|
- <view class="recruitment-banner">
|
|
|
- <u-swiper
|
|
|
- :list="bannerList"
|
|
|
- name="bannerUrl"
|
|
|
- border-radius="0"
|
|
|
- mode="round"
|
|
|
- height="440"
|
|
|
- img-mode="scaleToFill"
|
|
|
- @click="swiperClick"
|
|
|
- ></u-swiper>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- ###################################-- 请输入您关键词 -- ################################### -->
|
|
|
- <view class="recruitment-usearch">
|
|
|
- <u-search placeholder="请输入您关键词" v-model="headerTopKeyword" :show-action="false" bg-color="#FFFFFF"></u-search>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- ###################################-- 企业推荐 -- ################################### -->
|
|
|
- <view class="u-card-wrap recruitment-recommend">
|
|
|
- <u-card :show-foot="false" class="recruitment-recommend-card">
|
|
|
- <view slot="head">
|
|
|
- <view class="recommend-card-head">
|
|
|
- <view class="recommend-card-head-title">{{recommendConfigData.title}}</view>
|
|
|
- <view class="recommend-card-head-subtitle" @tap="recommendCardMoreClick">
|
|
|
- {{recommendConfigData.titlemore}}
|
|
|
- <u-icon name="arrow-right" color="#A3A3A3" size="28"></u-icon>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view slot="body">
|
|
|
- <view class="recommend-card-body">
|
|
|
- <swiper
|
|
|
- v-if="recommendListData&&recommendListData.length>0"
|
|
|
- class="recommend-card-content"
|
|
|
- :display-multiple-items="5"
|
|
|
- >
|
|
|
- <swiper-item v-for="(item,index) in recommendListData" :key="index">
|
|
|
- <view class="swiper-item" @tap="tapRecommendSwiperItem(item)" :data-id="item.id" :data-index="index">
|
|
|
- <image class="img" :src="item.img" mode="aspectFill"></image>
|
|
|
- <view class="subject">{{item.subject}}</view>
|
|
|
- <view class="post u-text-center">
|
|
|
- 岗位
|
|
|
- <text class="postlink">{{item.postNumber}}</text>个
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </swiper-item>
|
|
|
- <swiper-item v-if="recommendConfigData.listmore">
|
|
|
- <view class="swiper-item lookmore" @tap="recommendCardMoreClick">
|
|
|
- <view class="moretext">查看更多</view>
|
|
|
- </view>
|
|
|
- </swiper-item>
|
|
|
- </swiper>
|
|
|
+ <z-paging ref="recruitmentPaging"
|
|
|
+ v-model="recruitmentJobList"
|
|
|
+ @query="recruitmentQueryList">
|
|
|
+
|
|
|
+ <!-- ###################################-- 轮播图 -- ################################### -->
|
|
|
+ <view class="recruitment-banner" slot="top">
|
|
|
+ <u-swiper
|
|
|
+ :list="bannerList"
|
|
|
+ name="bannerUrl"
|
|
|
+ border-radius="0"
|
|
|
+ mode="round"
|
|
|
+ height="440"
|
|
|
+ img-mode="scaleToFill"
|
|
|
+ @click="swiperClick"
|
|
|
+ ></u-swiper>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- ###################################-- 请输入您关键词 -- ################################### -->
|
|
|
+ <view class="recruitment-usearch" slot="top">
|
|
|
+ <u-search placeholder="请输入您关键词" v-model="headerTopKeyword" :show-action="false" bg-color="#FFFFFF" @search="searchKeyword" @clear="searchKeyword"></u-search>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- ###################################-- 企业推荐 -- ################################### -->
|
|
|
+ <view class="u-card-wrap recruitment-recommend" slot="top">
|
|
|
+ <u-card :show-foot="false" class="recruitment-recommend-card">
|
|
|
+ <view slot="head">
|
|
|
+ <view class="recommend-card-head">
|
|
|
+ <view class="recommend-card-head-title">{{recommendConfigData.title}}</view>
|
|
|
+ <view class="recommend-card-head-subtitle" @tap="recommendCardMoreClick">
|
|
|
+ {{recommendConfigData.titlemore}}
|
|
|
+ <u-icon name="arrow-right" color="#A3A3A3" size="28"></u-icon>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- </u-card>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="recruitment-dataarea">
|
|
|
- <u-tabs bg-color="transparent" :list="dataAreaTabsList" @change="dataAreaTabsChange" :current="dataAreaTabsCurrent" />
|
|
|
- <view class="recruitment-dataarea-card" v-for="(item,index) in recommendListData" :key="index" @tap="tapDataAreaCard(item)">
|
|
|
- <view class="dataarea-card-left">
|
|
|
- <image :src="item.img" mode="aspectFill" class="image"></image>
|
|
|
- </view>
|
|
|
- <view class="dataarea-card-content">
|
|
|
- <view class="dataarea-content-left">
|
|
|
- <view>{{item.postName}}</view>
|
|
|
- <view class="content">{{item.postContent}}</view>
|
|
|
- <view >{{item.postCompany}}</view>
|
|
|
+ <view slot="body">
|
|
|
+ <view class="recommend-card-body">
|
|
|
+ <swiper
|
|
|
+ v-if="recommendList&&recommendList.length>0"
|
|
|
+ class="recommend-card-content"
|
|
|
+ :display-multiple-items="5"
|
|
|
+ :autoplay="true"
|
|
|
+ >
|
|
|
+ <swiper-item v-for="(recommendItem, index) in recommendList" :key="recommendItem.id">
|
|
|
+ <view class="swiper-item" @tap="tapRecommendSwiperItem(recommendItem)" :data-id="recommendItem.id" :data-index="index">
|
|
|
+ <image class="img" :src="recommendItem.logoUrl" mode="aspectFill"></image>
|
|
|
+ <view class="subject">{{recommendItem.companyName}}</view>
|
|
|
+ <view class="post u-text-center">
|
|
|
+ 岗位
|
|
|
+ <text class="postlink">{{recommendItem.postCount}}</text>个
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </swiper-item>
|
|
|
+ <swiper-item v-if="recommendConfigData.listmore">
|
|
|
+ <view class="swiper-item lookmore" @tap="recommendCardMoreClick">
|
|
|
+ <view class="moretext">查看更多</view>
|
|
|
+ </view>
|
|
|
+ </swiper-item>
|
|
|
+ </swiper>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </u-card>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- ###################################-- tabs页签 -- ################################### -->
|
|
|
+ <view class="recruitment-tabs" slot="top">
|
|
|
+ <u-tabs bg-color="transparent" :list="dataAreaTabsList" @change="dataAreaTabsChange" :current="dataAreaTabsCurrent" />
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- ###################################-- 招聘就业岗位 -- ################################### -->
|
|
|
+ <view class="recruitment-dataarea">
|
|
|
+ <view class="recruitment-dataarea-card" v-for="(item,index) in recruitmentJobList" :key="index" @tap="tapDataAreaCard(item)">
|
|
|
+ <view class="dataarea-card-left">
|
|
|
+ <image :src="item.companyLogoUrl" mode="aspectFill" class="image"></image>
|
|
|
</view>
|
|
|
- <view class="dataarea-content-right">
|
|
|
- <view>{{item.postWage}}</view>
|
|
|
- <view> </view>
|
|
|
- <view>{{item.deadline}}</view>
|
|
|
+ <view class="dataarea-card-content">
|
|
|
+ <view class="dataarea-content-left">
|
|
|
+ <view>{{item.postName}}</view>
|
|
|
+ <view class="content">{{item.workPlace}}|{{item.workYear}}|{{item.educationBg}}</view>
|
|
|
+ <view >{{item.companyName}}</view>
|
|
|
+ </view>
|
|
|
+ <view class="dataarea-content-right">
|
|
|
+ <view>{{item.salary}}</view>
|
|
|
+ <view> </view>
|
|
|
+ <view>{{item.createTime}}</view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
+ </z-paging>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
@@ -93,11 +105,10 @@
|
|
|
data() {
|
|
|
return {
|
|
|
headerTopKeyword: '',
|
|
|
- paginationConfig:{
|
|
|
- pageNo: 1,
|
|
|
- pageSize: 10
|
|
|
- },
|
|
|
bannerList: [],
|
|
|
+ // 企业推荐列表
|
|
|
+ recommendList: [],
|
|
|
+ recruitmentJobList: [],
|
|
|
recommendListData:[
|
|
|
{
|
|
|
id:1,
|
|
@@ -174,7 +185,8 @@
|
|
|
dataAreaTabsCurrent: 0,
|
|
|
dataAreaTabsList: [
|
|
|
{
|
|
|
- name: '最新'
|
|
|
+ name: '最新',
|
|
|
+ text: '1'
|
|
|
},
|
|
|
// {
|
|
|
// name: '附近',
|
|
@@ -187,7 +199,8 @@
|
|
|
},
|
|
|
onLoad() {
|
|
|
// console.log(this.$u.config.v);
|
|
|
-
|
|
|
+ // 获取企业推荐列表
|
|
|
+ this.getRecommendList();
|
|
|
},
|
|
|
onShow() {
|
|
|
this.getBannerList();
|
|
@@ -251,6 +264,76 @@
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
+ /**
|
|
|
+ * 获取企业推荐列表
|
|
|
+ */
|
|
|
+ getRecommendList() {
|
|
|
+ this.$u.api.recruitment.getRecommendList().then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.recommendList = res.data || [];
|
|
|
+ } else {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: res.msg
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ uni.showToast({
|
|
|
+ title: '系统异常!',
|
|
|
+ type: 'error'
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 获取招聘就业岗位列表
|
|
|
+ * @param { Number } newest
|
|
|
+ * @param { Number } pageNum
|
|
|
+ * @param { Number } pageSize
|
|
|
+ * @param { String } postName
|
|
|
+ */
|
|
|
+ getRecruitmentJobList(newest, pageNum, pageSize, postName) {
|
|
|
+ this.$u.api.recruitment.getRecruitmentJobList({
|
|
|
+ pageNum,
|
|
|
+ pageSize,
|
|
|
+ postName,
|
|
|
+ newest
|
|
|
+ }).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.$refs.recruitmentPaging.complete(res.rows || []);
|
|
|
+ } else {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: res.msg
|
|
|
+ });
|
|
|
+ this.$refs.recruitmentPaging.complete([]);
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ uni.showToast({
|
|
|
+ title: '系统异常!',
|
|
|
+ type: 'error'
|
|
|
+ });
|
|
|
+ this.$refs.recruitmentPaging.complete([]);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @param { String } value
|
|
|
+ */
|
|
|
+ searchKeyword(value) {
|
|
|
+ this.getRecruitmentJobList(this.dataAreaTabsList[this.dataAreaTabsCurrent]?.text, 1, 10, this.headerTopKeyword);
|
|
|
+ },
|
|
|
+ // tab栏切换
|
|
|
+ dataAreaTabsChange(index) {
|
|
|
+ this.dataAreaTabsCurrent = index;
|
|
|
+ this.getRecruitmentJobList(this.dataAreaTabsList[index]?.text, 1, 10, this.headerTopKeyword);
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 列表加载触发
|
|
|
+ */
|
|
|
+ recruitmentQueryList(pageNo, pageSize) {
|
|
|
+ if (this.dataAreaTabsList.length > 0) {
|
|
|
+ this.getRecruitmentJobList(this.dataAreaTabsList[this.dataAreaTabsCurrent]?.text, pageNo, pageSize, this.headerTopKeyword);
|
|
|
+ }
|
|
|
+ },
|
|
|
recommendCardMoreClick(index) {
|
|
|
console.log("recommendCardMoreClick: ",index);
|
|
|
this.$u.route({
|
|
@@ -261,18 +344,14 @@
|
|
|
});
|
|
|
},
|
|
|
tapRecommendSwiperItem(param){
|
|
|
- console.log("tapRecommendSwiperItem: ",param);
|
|
|
this.$u.route({
|
|
|
url: 'pages/businessDetails/businessDetails',
|
|
|
params: {
|
|
|
+ id: param?.id,
|
|
|
flag: 'recruitment'
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- dataAreaTabsChange(index) {
|
|
|
- console.log("dataAreaTabsChange: ",index);
|
|
|
- this.dataAreaTabsCurrent = index;
|
|
|
- },
|
|
|
tapDataAreaCard(param){
|
|
|
console.log("tapDataAreaCard: ",param);
|
|
|
this.$u.route({
|