|  | @@ -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({
 |