|
|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
<template>
|
|
|
|
|
<view class="p-root-detail-job g_pt_10 g_pl_16 g_pr_16 g_ml_16 g_mr_16 g_mt_10 g_kuaishou g_bg_f g_radius_8">
|
|
|
|
|
<view class="p-root-detail-job g_pl_16 g_pr_16 g_pt_10">
|
|
|
|
|
<!-- {{ from }} -->
|
|
|
|
|
<!-- {{ selfJob }} -->
|
|
|
|
|
|
|
|
|
|
@ -7,106 +7,181 @@
|
|
|
|
|
<g-loading />
|
|
|
|
|
</view>
|
|
|
|
|
<view v-if="speed == 1">
|
|
|
|
|
<view class="m-info g_mb_12">
|
|
|
|
|
<view class="g_flex_1">
|
|
|
|
|
<view class="g_mb_10 g_flex_row_between flex_center">
|
|
|
|
|
<view class="g_flex_1 g_c_3 g_fs_20 g_fw_bold">{{ jobDetail.jobName }}</view>
|
|
|
|
|
<view class="g_fs_14 g_c_9" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
{{ jobDetail.updateTime }}
|
|
|
|
|
</view>
|
|
|
|
|
<!-- <view class="g_flex_none g_flex_column_center">
|
|
|
|
|
<g-panel-server :str="attention ? jobDetail.serverPrice : '关注查看'" verson="new" />
|
|
|
|
|
</view> -->
|
|
|
|
|
<view v-if="corpUserFlag" class="g_bg_f g_pl_16 g_pr_16 g_radius_8 g_mb_8">
|
|
|
|
|
<view v-if="jobDetail.record.askAgencyName" class="g_flex_row_between flex_center g_h_45 g_border_e_b">
|
|
|
|
|
<view class="g_flex_row_start" style="flex: none">
|
|
|
|
|
<view class="g_fs_16 g_fw_600 g_mr_4 g_flex_column_center">来源</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_c_6 g_mt_4">{{ jobDetail.record.askAgencyName }}</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_row_between flex_center g_h_45 g_fs_16">
|
|
|
|
|
<view class="g_flex_row_start" style="flex: none">
|
|
|
|
|
<view class="g_fw_600 g_mr_4 g_flex_column_center">项目方</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_row_end" style="flex: 1">
|
|
|
|
|
<span class="g_c_6" selectable="false" space="false" decode="false">{{ jobDetail.supplier.supplierName }}</span>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<template v-if="jobDetail.classify == 1">
|
|
|
|
|
<view class="g_c_9">
|
|
|
|
|
<view class="g_flex_row_between flex_center g_mb_12" v-if="jobDetail.addss">
|
|
|
|
|
<!-- <view class="g_flex_column_center">
|
|
|
|
|
<i class="iconfont icon-dingwei2 g_c_6 g_fs_17 g_lh_1_2"></i>
|
|
|
|
|
</view> -->
|
|
|
|
|
<view class="g_fs_14 g_ml_4 g_lh_1_2 g_flex_column_center">{{ (jobDetail.addss ? jobDetail.addss + ' | ' : '') + jobDetail.genderAge }} </view>
|
|
|
|
|
</view>
|
|
|
|
|
<!-- <view class="g_flex_row_start">
|
|
|
|
|
<view class="g_fs_14 g_ml_4 g_lh_1_2 g_flex_column_center">{{ jobDetail.genderAge }} </view>
|
|
|
|
|
</view> -->
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_row_start" v-if="jobDetail.jobSpecialLabelNames">
|
|
|
|
|
<!-- :style="{ color: labelColor[index % labelColor.length], 'background-color': bgColor[index % bgColor.length] }" -->
|
|
|
|
|
<view v-for="(item, index) in jobDetail.jobSpecialLabelNames" :style="{ color: `${labelColor[index % labelColor.length]}`, 'background-color': `${bgColor[index % bgColor.length]}` }" class="g_mr_8 g_mb_8 g_pl_4 g_pr_4"> {{ item }}</view>
|
|
|
|
|
</view>
|
|
|
|
|
<!-- <view class="g_flex_row_start" v-if="appid == 'wxb0c590fd696b79be' && isUseNewJob">
|
|
|
|
|
<view v-for="(item, index) in jobDetail.jobRequestLabelNames" :style="{ color: `${labelColor[index % labelColor.length]}`, 'background-color': `${bgColor[index % bgColor.length]}` }" class="g_mr_8 g_mb_4 g_pl_4 g_pr_4 g_c_6 g_bg_f_5"> {{ item }}</view>
|
|
|
|
|
</view> -->
|
|
|
|
|
<view class="g_flex_row_start flex_center g_mt_8" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
<view class="g_fs_16 g_fw_600 g_c_f40 g_lh_1_2 g_flex_column_center" v-if="jobDetail.priceStr"> {{ jobDetail.priceStr }}</view>
|
|
|
|
|
<view class="g_fs_14 g_c_9" hover-class="none" hover-stop-propagation="false" v-if="jobDetail.monthPay">
|
|
|
|
|
{{ jobDetail.monthPay ? "丨" + jobDetail.monthPay : "" }}
|
|
|
|
|
<view class="g_bg_f g_pl_16 g_pr_16 g_radius_8 g_mb_10" @click="showFee">
|
|
|
|
|
<view class="g_flex_row_between flex_center g_fs_16">
|
|
|
|
|
<view class="g_flex_row_start" style="flex: none">
|
|
|
|
|
<view class="g_fw_600 g_mr_4 g_h_67 g_flex_column_center">代理佣金</view>
|
|
|
|
|
<icon :class="isServicePriceShow ? 'icon-zhengyan1' : 'icon-biyan1'" class="iconfont g_c_f40 g_fs_22 g_h_67 g_flex_column_center" v-if="userInfo.agencyStatus == 1" @click.stop="toggleReturnFee" style="width: 67px"></icon>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_row_end flex_center g_h_67" style="flex: 1">
|
|
|
|
|
<span class v-if="isServicePriceShow && userInfo.agencyStatus == 1">{{ jobDetail.fuWuFei || "详询客服" }}</span>
|
|
|
|
|
<span class wx:else>***</span>
|
|
|
|
|
<view class="iconfont icon-gengduo11 g_fs_14 g_c_6 g_ml_4"></view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_bg_f g_pt_10 g_pl_16 g_pr_16 g_mt_10 g_kuaishou g_radius_8" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
<view class="m-info g_mb_12">
|
|
|
|
|
<view class="g_flex_1">
|
|
|
|
|
<view class="g_mb_10 g_flex_row_between flex_center">
|
|
|
|
|
<view class="g_flex_1 g_c_3 g_fs_20 g_fw_bold">{{ jobDetail.jobName }}</view>
|
|
|
|
|
<view class="g_fs_14 g_c_9" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
{{ jobDetail.updateTime }}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<!-- 地址 -->
|
|
|
|
|
<div>
|
|
|
|
|
<view class="m-address g_mt_16 g_mb_16 g_pt_10 g_pb_10 g_flex_row_start g_border_e_t g_border_e_b" hover-class="thover" @click="goAddress"
|
|
|
|
|
v-if="jobDetail.storeLat && jobDetail.storeLng"
|
|
|
|
|
>
|
|
|
|
|
<view class="g_flex_none g_flex_column_center">
|
|
|
|
|
<i class="iconfont icon-dizhi1 g_c_main g_mr_10 g_w_14 g_h_14"></i>
|
|
|
|
|
<template>
|
|
|
|
|
<view class="g_c_9">
|
|
|
|
|
<view class="g_flex_row_between flex_center g_mb_12">
|
|
|
|
|
<view class="g_fs_14 g_ml_4 g_lh_1_2 g_flex_column_center">{{ (jobDetail.addss ? jobDetail.addss + "丨" : "") + jobDetail.genderRestrict + "丨" + jobDetail.age }} </view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_1 g_ml_4 g_mr_4 g_flex_column_center">
|
|
|
|
|
<view class="g_fs_16 g_c_3 g_ell_1">
|
|
|
|
|
{{ jobDetail.storeAddr || "-" }}
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_row_start" v-if="jobDetail.jobRequestLabelNames.length > 0">
|
|
|
|
|
<!-- :style="{ color: labelColor[index % labelColor.length], 'background-color': bgColor[index % bgColor.length] }" -->
|
|
|
|
|
<view v-for="(item, index) in jobDetail.jobRequestLabelNames" :style="{ color: `${labelColor[index % labelColor.length]}`, 'background-color': `${bgColor[index % bgColor.length]}` }" class="g_mr_8 g_mb_8 g_pl_4 g_pr_4"> {{ item }}</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_row_between flex_center g_mt_8" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
<view class="g_flex_row_start flex_center" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
<view class="g_fs_16 g_fw_600 g_c_f40 g_lh_1_2 g_flex_column_center" v-if="jobDetail.priceStr" v-html="jobDetail.priceStr"> </view>
|
|
|
|
|
<view class="g_fs_14 g_c_9" hover-class="none" hover-stop-propagation="false" v-if="jobDetail.monthPay">
|
|
|
|
|
{{ jobDetail.monthPay ? "丨" + jobDetail.monthPay : "" }}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_none g_flex_column_center">
|
|
|
|
|
<i class="iconfont icon-gengduo11 g_c_9 g_w_14 g_h_14"></i>
|
|
|
|
|
<view v-if="corpUserFlag" class="g_flex_row_start g_c_main" @click.stop="setCopy('jobName')">
|
|
|
|
|
<view class="iconfont icon-fuzhi mr4" style></view>
|
|
|
|
|
<span class="f14 biggerSize">复制</span>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view v-else class="g_border_e_t g_mt_16"></view>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- <view class="m-address g_mt_16 g_mb_16 g_pt_10 g_pb_10 g_flex_row_start" v-else style="border-top: 1rpx solid #f5f5f5; border-bottom: 1rpx solid #f5f5f5" hover-class="thover">
|
|
|
|
|
<view class="g_flex_none g_flex_column_center">
|
|
|
|
|
<i class="iconfont icon-dizhi1 g_c_main g_mr_10 g_w_14 g_h_14"></i>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_1 g_ml_4 g_mr_4 g_flex_column_center">
|
|
|
|
|
<view class="g_fs_16 g_c_3 g_ell_1">
|
|
|
|
|
{{ "登录后查看" }}
|
|
|
|
|
<!-- 地址 -->
|
|
|
|
|
<div>
|
|
|
|
|
<view class="m-address g_mt_16 g_mb_16 g_pt_10 g_pb_10 g_flex_row_start g_border_e_t g_border_e_b" hover-class="thover" @click="goAddress" v-if="jobDetail.storeLat && jobDetail.storeLng">
|
|
|
|
|
<view class="g_flex_none g_flex_column_center">
|
|
|
|
|
<i class="iconfont icon-dizhi1 g_c_main g_mr_10 g_w_14 g_h_14"></i>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_1 g_ml_4 g_mr_4 g_flex_column_center">
|
|
|
|
|
<view class="g_fs_16 g_c_3 g_ell_1">
|
|
|
|
|
{{ jobDetail.storeAddr || "-" }}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_none g_flex_column_center">
|
|
|
|
|
<i class="iconfont icon-gengduo11 g_c_9 g_w_14 g_h_14"></i>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view v-else class="g_border_e_t g_mt_16"></view>
|
|
|
|
|
</div>
|
|
|
|
|
<view class="g_flex_row_center g_border_e_b" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
<u-tabs bg-color="transparent" :list="tabInfo.list" :current="tabInfo.active" :active-color="globalData.themeColor" bar-width="32" bar-height="6" @change="setType" :gutter="50" font-size="32" duration="0.05" height="76"></u-tabs>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_none g_flex_column_center">
|
|
|
|
|
<i class="iconfont icon-gengduo11 g_c_9 g_w_14 g_h_14"></i>
|
|
|
|
|
<!-- <view class="m-address g_mt_16 g_mb_16 g_pt_10 g_pb_10 g_flex_row_start" v-else style="border-top: 1rpx solid #f5f5f5; border-bottom: 1rpx solid #f5f5f5" hover-class="thover">
|
|
|
|
|
<view class="g_flex_none g_flex_column_center">
|
|
|
|
|
<i class="iconfont icon-dizhi1 g_c_main g_mr_10 g_w_14 g_h_14"></i>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_1 g_ml_4 g_mr_4 g_flex_column_center">
|
|
|
|
|
<view class="g_fs_16 g_c_3 g_ell_1">
|
|
|
|
|
{{ "登录后查看" }}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_none g_flex_column_center">
|
|
|
|
|
<i class="iconfont icon-gengduo11 g_c_9 g_w_14 g_h_14"></i>
|
|
|
|
|
</view>
|
|
|
|
|
</view> -->
|
|
|
|
|
<!-- 轮播banner -->
|
|
|
|
|
<view class="m-banner g_pb_16 g_border_f5_b" v-if="swiperArray.length > 0">
|
|
|
|
|
<swiper class="swiper" :circular="false" :autoplay="false" :display-multiple-items="swiperArray.length < 5 ? swiperArray.length : 5" style="height: 58px">
|
|
|
|
|
<swiper-item v-for="(item, index) in swiperArray" style="max-width: 58px; padding-right: 12px" :key="index" :class="index == 0 ? 'g_ml_0 g_mr_0' : ''">
|
|
|
|
|
<u-image :radius="4" v-if="item.type == 'image'" :showLoading="true" :src="item.image" width="58px" height="58px" style="border-radius: 4px" @click="handleViewBig(item, index)"></u-image>
|
|
|
|
|
<view class="g_w_58 g_h_58 g_radius_4 videoContainer" style="overflow: hidden" @click="showVideo(item)" v-else>
|
|
|
|
|
<video class="theVideo" :show-fullscreen-btn="false" :show-play-btn="false" :show-center-play-btn="true" :enable-play-gesture="true" :id="item.id" :src="item.image" @fullscreenchange="fullScreen" :muted="muted" :show-mute-btn="true">
|
|
|
|
|
<view class="shareVideo">
|
|
|
|
|
<icon @click="shareVideo(item)" class="iconfont" :class="wxPlat == 'wxwork' ? 'icon-huidaodingbu' : 'icon-zhuanfa1'" hover-class="none" hover-stop-propagation="false"></icon>
|
|
|
|
|
</view>
|
|
|
|
|
</video>
|
|
|
|
|
</view>
|
|
|
|
|
</swiper-item>
|
|
|
|
|
</swiper>
|
|
|
|
|
</view>
|
|
|
|
|
</view> -->
|
|
|
|
|
<!-- 轮播banner -->
|
|
|
|
|
<view class="m-banner g_pb_16 g_border_f5_b" v-if="swiperArray.length > 0">
|
|
|
|
|
<swiper class="swiper" :circular="false" :autoplay="false" :display-multiple-items="swiperArray.length < 5 ? swiperArray.length : 5" style="height: 58px">
|
|
|
|
|
<swiper-item v-for="(item, index) in swiperArray" style="max-width: 58px; padding-right: 12px" :key="index" :class="index == 0 ? 'g_ml_0 g_mr_0' : ''">
|
|
|
|
|
<u-image :radius="4" v-if="item.type == 'image'" :showLoading="true" :src="item.image" width="58px" height="58px" style="border-radius: 4px" @click="handleViewBig(item, index)"></u-image>
|
|
|
|
|
<view class="g_w_58 g_h_58 g_radius_4 videoContainer" style="overflow: hidden" @click="showVideo(item)" v-else>
|
|
|
|
|
<video class="theVideo" :show-fullscreen-btn="false" :show-play-btn="false" :show-center-play-btn="true" :enable-play-gesture="true" :id="item.id" :src="item.image" @fullscreenchange="fullScreen" :muted="muted" :show-mute-btn="true">
|
|
|
|
|
<view class="shareVideo">
|
|
|
|
|
<icon @click="shareVideo(item)" class="iconfont" :class="wxPlat == 'wxwork' ? 'icon-huidaodingbu' : 'icon-zhuanfa1'" hover-class="none" hover-stop-propagation="false"></icon>
|
|
|
|
|
<view class="content_card" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
<view v-if="tabInfo.active == 0" style="line-height: 24px" class="" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
<view v-if="jobDetail.notes">
|
|
|
|
|
<view class="detailH3">注意事项</view>
|
|
|
|
|
<view class="pri g_c_f40" style="line-height: 24px; padding: 3px 8px; border-radius: 4px; text-align: justify">{{ jobDetail.notes }}</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="detailH3">一、薪资待遇</view>
|
|
|
|
|
<view class="g_radius_4">
|
|
|
|
|
<view class="g_flex_row_between">
|
|
|
|
|
<view class="rb1">1. 薪资明细:</view>
|
|
|
|
|
<view class="textb1">{{ jobDetail.salaryDetail }}</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="detailH3">二、职位要求</view>
|
|
|
|
|
<view class="g_radius_4">
|
|
|
|
|
<view class="g_flex_row_between">
|
|
|
|
|
<view class="rb1">1. 性别年龄:</view>
|
|
|
|
|
<view class="textb1">{{ jobDetail.genderRestrict + " " + jobDetail.age }}</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="detailH3">三、岗位说明</view>
|
|
|
|
|
<view class="g_radius_4">
|
|
|
|
|
<view class="g_flex_row_between">
|
|
|
|
|
<view class="rb1">1. 班次工时:</view>
|
|
|
|
|
<view class="textb1">{{ jobDetail.workClasses }}</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_row_between">
|
|
|
|
|
<view class="rb1">2. 其他说明:</view>
|
|
|
|
|
<view class="textb1">{{ jobDetail.otherDesp }}</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="detailH3">四、面试对接</view>
|
|
|
|
|
<view class="g_radius_4">
|
|
|
|
|
<view class="g_flex_row_between">
|
|
|
|
|
<view class="rb1">1. 面试地点:</view>
|
|
|
|
|
<view class="textb1 g_flex_row_between g_flex_1">
|
|
|
|
|
<view class>{{ jobDetail.interviewAddr || "-" }}</view>
|
|
|
|
|
<i v-if="jobDetail.interviewLat" class="iconfont icon-dizhi11 f16 mr4 biggerSize" style="color: #027aff" data-type="interview"></i>
|
|
|
|
|
</view>
|
|
|
|
|
</video>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</swiper-item>
|
|
|
|
|
</swiper>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<!-- 职位描述富文本 -->
|
|
|
|
|
<view class="g_flex_column_center">
|
|
|
|
|
<view class="g_fs_16">
|
|
|
|
|
<view class="g_fw_600 g_flex_row_start flex_center g_mb_8 g_mt_16"> <view class="g_mr_12 g_bg_main" style="width: 4px; height: 19px; border-radius: 2px"> </view>职位描述 </view>
|
|
|
|
|
<view class="g_c_7" style="white-space: pre-line">
|
|
|
|
|
<view @click="setCopy" v-if="jobDetail.jobInfoWithoutReturnFee || jobDetail.jobInfo">
|
|
|
|
|
<span class="desp-copy g_c_main g_border_main">复制</span>
|
|
|
|
|
<view v-if="jobDetail.OtherInfo">
|
|
|
|
|
<view class="detailH3">其它信息</view>
|
|
|
|
|
<view class="pri" style="line-height: 24px; padding: 3px 8px; border-radius: 4px; color: #333">{{ jobDetail.OtherInfo }}</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<!-- 职位描述富文本 -->
|
|
|
|
|
<view class="g_flex_column_center" v-if="tabInfo.active == 1">
|
|
|
|
|
<view class="g_fs_16">
|
|
|
|
|
<view class="g_c_3 g_pt_16 pri">
|
|
|
|
|
<view @click="setCopy('new')" v-if="jobDetail.jobInfoWithoutReturnFee || jobDetail.jobInfo"> <span class="desp-copy g_c_main g_border_main">复制</span> </view>{{ jobDetail.jobInfoWithoutReturnFee || jobDetail.jobInfo || "-" }}</view
|
|
|
|
|
>
|
|
|
|
|
</view>
|
|
|
|
|
{{ jobDetail.jobInfoWithoutReturnFee || jobDetail.jobInfo || "-" }}</view
|
|
|
|
|
>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" v-if="tabInfo.active == 2" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
<view class="g_pt_16 g_fs_16 pri" style="">
|
|
|
|
|
<view @click.stop="setCopy('old')">
|
|
|
|
|
<span class="desp-copy g_c_main g_border_main">复制</span>
|
|
|
|
|
</view>
|
|
|
|
|
<rich-text class style="text-align: justify" :nodes="jobDetail.lastNotice"></rich-text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
@ -117,21 +192,8 @@
|
|
|
|
|
<view class="g_pl_20 g_pr_20 g_flex_row_center flex_center flex_nw" style="width: 100%">
|
|
|
|
|
<!-- #ifdef MP-WEIXIN -->
|
|
|
|
|
<!-- #endif -->
|
|
|
|
|
<view class="g_flex_none g_flex_column_center" v-if="from != 'bill'">
|
|
|
|
|
<button class="g_pl_0 g_pr_0 g_bg_f g_mr_16" hover-class="thover" v-if="envVersion != 'trial'" @click="showShareImg" style="line-height: 1">
|
|
|
|
|
<icon class="iconfont icon-zhuanfa1 g_fsi_16" style="color: #787878; line-height: 1; margin-top: -5px"> </icon>
|
|
|
|
|
<view class="g_fs_12 g_c_6 g_w_28" style="margin-top: 8px">分享</view>
|
|
|
|
|
</button>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view class="g_flex_none g_flex_column_center" v-if="attention && from != 'bill'">
|
|
|
|
|
<button class="g_pl_0 g_pr_0 g_bg_f g_mr_12 g_w_36" hover-class="thover" style="line-height: 1; border-radius: 0" @click="showService">
|
|
|
|
|
<icon class="iconfont icon-qiwei g_fsi_18" style="color: #787878; line-height: 1; margin-top: -5px"> </icon>
|
|
|
|
|
<view class="g_fs_12 g_c_6" style="margin-top: 8px">客服</view>
|
|
|
|
|
</button>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="g_flex_none g_flex_column_center" v-if="attention && from != 'bill'">
|
|
|
|
|
<g-button :btnText="isSc ? '已想去' : '想去'" :icon="isSc ? 'icon-heart-fill g_mr_2' : 'icon-heart g_mr_2'" class="g_fw_600 g_mr_12 g_w_100" size="small_auto" @clickBtn="handleCollection"> </g-button>
|
|
|
|
|
<g-button btnText="客服" icon="icon-qiwei g_mr_4" class="g_fw_600 g_mr_12 g_w_100" size="small_auto" @clickBtn="kefu"> </g-button>
|
|
|
|
|
<!-- <button class="g_pl_0 g_pr_0 g_bg_f g_mr_12 g_w_36 g_border_main" hover-class="thover" style="line-height: 1; border-radius: 0" @click="handleCollection">
|
|
|
|
|
<icon v-if="isSc" class="iconfont icon-yishoucang g_fsi_16" style="color: #ff4400; line-height: 1; margin-top: -5px"></icon>
|
|
|
|
|
<icon v-else class="iconfont icon-shoucang g_fsi_16" style="color: #787878; line-height: 1; margin-top: -5px"> </icon>
|
|
|
|
|
@ -170,8 +232,7 @@
|
|
|
|
|
<image class="g_w_40 g_h_40" :src="jobDetail.logo" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload=""> </image>
|
|
|
|
|
<view class="g_ml_8" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
<view class="g_c_f40 g_fs_16 g_mb_4" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
<span class="g_fw_600 g_mr_4" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
{{ jobDetail.priceStr }}
|
|
|
|
|
<span class="g_fw_600 g_mr_4" hover-class="none" hover-stop-propagation="false" v-html="jobDetail.priceStr">
|
|
|
|
|
</span>
|
|
|
|
|
<span class="g_fs_14" hover-class="none" hover-stop-propagation="false">
|
|
|
|
|
{{ jobDetail.monthPay }}
|
|
|
|
|
@ -289,6 +350,7 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
globalData: getApp().globalData,
|
|
|
|
|
isUseNewJob: getApp().globalData.isUseNewJob,
|
|
|
|
|
appid: getApp().globalData.appId,
|
|
|
|
|
isLogin: false,
|
|
|
|
|
@ -322,7 +384,6 @@ export default {
|
|
|
|
|
dateTimeArray: null,
|
|
|
|
|
dateTime: [],
|
|
|
|
|
from: "", // 来源页面
|
|
|
|
|
isSc: false, // 收藏判断
|
|
|
|
|
attention: true, // 分享时隐藏信息
|
|
|
|
|
selfJob: false, // 是否是自己团队职位的判断
|
|
|
|
|
showPrice: true, // 隐藏服务费
|
|
|
|
|
@ -344,6 +405,24 @@ export default {
|
|
|
|
|
miniAppInfo: uni.getStorageSync("miniApp-info"), // 小程序的信息
|
|
|
|
|
serviceShow: false, // 客服弹窗
|
|
|
|
|
currentStore: {},
|
|
|
|
|
isServicePriceShow: false, // 服务费显示隐藏
|
|
|
|
|
tabInfo: {
|
|
|
|
|
list: [
|
|
|
|
|
{
|
|
|
|
|
name: "职位详情",
|
|
|
|
|
key: "0",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "通告分享",
|
|
|
|
|
key: "1",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "原始通告",
|
|
|
|
|
key: "2",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
active: 0,
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
onLoad(options) {
|
|
|
|
|
@ -472,40 +551,6 @@ export default {
|
|
|
|
|
// that.speed = 1;
|
|
|
|
|
// });
|
|
|
|
|
// },
|
|
|
|
|
handleCollection() {
|
|
|
|
|
let that = this;
|
|
|
|
|
|
|
|
|
|
if (this.isLogin) {
|
|
|
|
|
that.G.Get(that.api.yi_job_collect + "/" + that.uid, {}, (res) => {
|
|
|
|
|
that.isSc = !that.isSc;
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: that.isSc ? "想去成功" : "取消想去",
|
|
|
|
|
icon: "success",
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
uni.showModal({
|
|
|
|
|
title: "登录提示",
|
|
|
|
|
content: "想去功能需要登录才能使用,是否登录",
|
|
|
|
|
success(res) {
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: "/pages/login/index?path=detail",
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
showService() {
|
|
|
|
|
if (this.appid == "wxb0c590fd696b79be") {
|
|
|
|
|
this.getKefu();
|
|
|
|
|
} else {
|
|
|
|
|
this.getKefu();
|
|
|
|
|
}
|
|
|
|
|
// this.serviceShow = true;
|
|
|
|
|
},
|
|
|
|
|
hideService() {
|
|
|
|
|
this.serviceShow = false;
|
|
|
|
|
},
|
|
|
|
|
@ -518,14 +563,12 @@ export default {
|
|
|
|
|
that.isSc = res.record.collected == 1 ? true : false;
|
|
|
|
|
console.log("职位详情:", res);
|
|
|
|
|
res = {
|
|
|
|
|
...res,
|
|
|
|
|
...res.record,
|
|
|
|
|
};
|
|
|
|
|
if (!res.hasOwnProperty("storeJobDetail")) {
|
|
|
|
|
res.storeJobDetail = {};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
res.addss = that.G.setJobInfoPositionv3(res.storeAddr);
|
|
|
|
|
console.log("职位详情1------:", res);
|
|
|
|
|
that.isPerson = res.agencyId == uni.getStorageSync("apply-agencyId") ? true : false;
|
|
|
|
|
@ -533,35 +576,32 @@ export default {
|
|
|
|
|
res.agencyServerPrice = that.G.setReturnFee(res.agencyReturnFee, res.agencyReturnFeeType);
|
|
|
|
|
res.serverPrice = that.G.setReturnFee(res.returnFee, res.returnFeeType);
|
|
|
|
|
|
|
|
|
|
let setData = that.G.disposeJobListData(res);
|
|
|
|
|
console.log("setData.district", setData.district);
|
|
|
|
|
res.addressStr = setData.district.slice(0, -1);
|
|
|
|
|
res.sexStr = setData.genderAge;
|
|
|
|
|
that.G.disposeJobListData(res);
|
|
|
|
|
|
|
|
|
|
// res.ageStr = setData.age;
|
|
|
|
|
// res.priceStr = that.G.getSalaryClassifyValue(res.salaryClassify, res.salaryClassifyValue);
|
|
|
|
|
res.priceStr = res.salaryClassify != 7 ? that.G.getSalaryClassifyValue(res.salaryClassify, res.salaryClassifyValue) : that.G.getSalaryClassifyValue(res.salaryClassify, res.minMonthlyPay, res.maxMonthlyPay);
|
|
|
|
|
|
|
|
|
|
res.priceStr = that.G.getSalaryClassifyValueHtml(res.salaryClassify, res.salaryClassifyValue)
|
|
|
|
|
res.fuWuFei = that.G.setReturnFee(res.returnFee, res.returnFeeType);
|
|
|
|
|
res.monthPay = res.minMonthlyPay / 100 + "-" + res.maxMonthlyPay / 100;
|
|
|
|
|
res.updateTime = that.G.setDeadLine(res.updateTime, "jiaofu");
|
|
|
|
|
console.log("res.images", res.images);
|
|
|
|
|
that.swiperArray =
|
|
|
|
|
res.images.length == 0
|
|
|
|
|
? []
|
|
|
|
|
: res.images.map((item, index) => {
|
|
|
|
|
return {
|
|
|
|
|
id: index + 1,
|
|
|
|
|
image: item.url,
|
|
|
|
|
type: item.url.indexOf(".mp4") > -1 ? "video" : "image",
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
if (res.logo) {
|
|
|
|
|
that.swiperArray.unshift({
|
|
|
|
|
id: 0,
|
|
|
|
|
image: res.logo,
|
|
|
|
|
type: "image",
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
res.genderRestrict = that.G.getGenderByMinAge(res);
|
|
|
|
|
// that.swiperArray =
|
|
|
|
|
// res.images.length == 0
|
|
|
|
|
// ? []
|
|
|
|
|
// : res.images.map((item, index) => {
|
|
|
|
|
// return {
|
|
|
|
|
// id: index + 1,
|
|
|
|
|
// image: item.url,
|
|
|
|
|
// type: item.url.indexOf(".mp4") > -1 ? "video" : "image",
|
|
|
|
|
// };
|
|
|
|
|
// });
|
|
|
|
|
// if (res.logo) {
|
|
|
|
|
// that.swiperArray.unshift({
|
|
|
|
|
// id: 0,
|
|
|
|
|
// image: res.logo,
|
|
|
|
|
// type: "image",
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
that.jobDetail = res;
|
|
|
|
|
that.selfJob = that.jobDetail.agencyId == that.loginInfo.agencyId;
|
|
|
|
|
if (that.jobDetail.jobInfo.indexOf("————————" > -1)) {
|
|
|
|
|
@ -570,20 +610,13 @@ export default {
|
|
|
|
|
that.jobDetail.jobInfo = that.jobDetail.jobInfo.replace(/\*\*\*\*\*/g, "");
|
|
|
|
|
}
|
|
|
|
|
// that.jobDetail.jobRequestLabelNamesList = that.jobDetail.jobRequestLabelNames.split(",");
|
|
|
|
|
// that.jobDetail.jobSpecialLabelNamesList = that.jobDetail.jobSpecialLabelNames.split(",");
|
|
|
|
|
var str = that.jobDetail.supplier;
|
|
|
|
|
var reg = /1[3456789]\d{9}/g;
|
|
|
|
|
var phone = str.match(reg);
|
|
|
|
|
if (phone != null) {
|
|
|
|
|
that.jobDetail["phone"] = phone.toString();
|
|
|
|
|
}
|
|
|
|
|
// console.log(phone.length);
|
|
|
|
|
|
|
|
|
|
// that.jobDetail.jobSpecialLabelNames = that.jobDetail.jobSpecialLabelNames.split(",");
|
|
|
|
|
console.log('that.jobDetail',that.jobDetail);
|
|
|
|
|
// that.jobDetail.jobName = '三顿饭卡加斯冯老师独立开发技术的返利看打两发慷慨激昂收代理费'
|
|
|
|
|
that.jobDetail.logo = that.jobDetail.logo.indexOf("http:") > -1 ? that.jobDetail.logo.replace("http:", "https:") : that.jobDetail.logo;
|
|
|
|
|
setTimeout(()=>{
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
that.speed = 1;
|
|
|
|
|
},100)
|
|
|
|
|
}, 100);
|
|
|
|
|
resolve(that.jobDetail);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
@ -725,7 +758,7 @@ export default {
|
|
|
|
|
console.log("innerLogin", that.isLogin);
|
|
|
|
|
that.G.fillTextLineBreak(ctx, that.jobDetail.monthPay, 750 - ctx.measureText(that.jobDetail.monthPay).width, line3, 400, 20, "#ff4400", titleFontSize, "400"); // 月工资
|
|
|
|
|
// that.G.fillTextLineBreak(ctx, "工价", baseLeft + logoSize + 10, line2 + 50, 100, 30, "#ff4400", titleFontSize - 8, "500", "left"); // 工价
|
|
|
|
|
that.G.fillTextLineBreak(ctx, that.jobDetail.priceStr, baseLeft + 10, line3, 400, 40, "#ff4400", titleFontSize + 6, "600", "left"); // 时薪
|
|
|
|
|
that.G.fillTextLineBreak(ctx, that.G.getSalaryClassifyValue(that.jobDetail.salaryClassify, that.jobDetail.salaryClassifyValue), baseLeft + 10, line3, 400, 40, "#ff4400", titleFontSize + 6, "600", "left"); // 时薪
|
|
|
|
|
// } else {
|
|
|
|
|
// console.log("notLogin", that.isLogin);
|
|
|
|
|
// that.G.fillTextLineBreak(ctx, "工价登录后查看", baseLeft + logoSize + 10, line3 - 40, 400, 20, "#ff4400", titleFontSize - 6, "400"); // 时薪
|
|
|
|
|
@ -860,9 +893,9 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
that.G.fillTextLineBreak(ctx, that.jobDetail.jobName, logoLeft, baseTop, 500 * 2, 20, "#333", titleSize, "600", "left"); // 岗位标题
|
|
|
|
|
that.G.fillTextLineBreak(ctx, that.jobDetail.priceStr, salaryClassifyValueLeft, baseTop + salaryClassifyValueTop, 400 * 2, 20, "#ff4400", titleSize, "600"); // 时薪
|
|
|
|
|
that.G.fillTextLineBreak(ctx, that.G.getSalaryClassifyValue(that.jobDetail.salaryClassify, that.jobDetail.salaryClassifyValue), salaryClassifyValueLeft, baseTop + salaryClassifyValueTop, 400 * 2, 20, "#ff4400", titleSize, "600"); // 时薪
|
|
|
|
|
|
|
|
|
|
that.G.fillTextLineBreak(ctx, that.jobDetail.monthPay, salaryClassifyValueLeft + ctx.measureText(that.jobDetail.priceStr + " ").width, baseTop + salaryClassifyValueTop, 400 * 2, 20, "#ff4400", monthlyPaySize, "400"); // 月工资
|
|
|
|
|
that.G.fillTextLineBreak(ctx, that.jobDetail.monthPay, salaryClassifyValueLeft + ctx.measureText(that.G.getSalaryClassifyValue(that.jobDetail.salaryClassify, that.jobDetail.salaryClassifyValue) + " ").width, baseTop + salaryClassifyValueTop, 400 * 2, 20, "#ff4400", monthlyPaySize, "400"); // 月工资
|
|
|
|
|
|
|
|
|
|
that.G.fillTextLineBreak(ctx, that.jobDetail.shortDistrict, salaryClassifyValueLeft, baseTop + ageTop, 300 * 2, 20, "#333", monthlyPaySize); // 省市年龄
|
|
|
|
|
|
|
|
|
|
@ -1081,7 +1114,14 @@ export default {
|
|
|
|
|
// 复制通告
|
|
|
|
|
setCopy(e) {
|
|
|
|
|
var that = this;
|
|
|
|
|
let text = that.jobDetail.jobInfoWithoutReturnFee || that.jobDetail.jobInfo;
|
|
|
|
|
let text;
|
|
|
|
|
if (e == "new") {
|
|
|
|
|
text = that.jobDetail.jobInfoWithoutReturnFee || that.jobDetail.jobInfo;
|
|
|
|
|
} else if (e == "old") {
|
|
|
|
|
text = that.jobDetail.lastNotice;
|
|
|
|
|
} else if (e == "jobName") {
|
|
|
|
|
text = that.jobDetail.jobName + "@" + that.jobDetail.supplier.supplierName;
|
|
|
|
|
}
|
|
|
|
|
uni.setClipboardData({
|
|
|
|
|
data: text,
|
|
|
|
|
success(res) {
|
|
|
|
|
@ -1351,17 +1391,57 @@ export default {
|
|
|
|
|
phoneNumber: e.mark.tel,
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
getKefu() {
|
|
|
|
|
let that = this;
|
|
|
|
|
that.currentStore = uni.getStorageSync("CUSTOMSERVICE_INFO");
|
|
|
|
|
that.currentStore.splitPhone = this.G.splitPhone(that.currentStore.tel);
|
|
|
|
|
that.serviceShow = true;
|
|
|
|
|
},
|
|
|
|
|
successLogin(e) {
|
|
|
|
|
console.log("e", e);
|
|
|
|
|
this.isLogin = true;
|
|
|
|
|
this.handleOpenApplyPopup();
|
|
|
|
|
},
|
|
|
|
|
tobeAgencyToast() {
|
|
|
|
|
uni.showModal({
|
|
|
|
|
title: "",
|
|
|
|
|
content: "抱歉,您需先成为伯才代理以获得使用权限。",
|
|
|
|
|
confirmColor: "#1890ff",
|
|
|
|
|
confirmText: "成为代理",
|
|
|
|
|
cancelText: "知道了",
|
|
|
|
|
success(res) {
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: "/pages/tobeAgency/index",
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
showFee() {
|
|
|
|
|
let that = this;
|
|
|
|
|
if (!that.userInfo.agencyStatus == 1) {
|
|
|
|
|
this.tobeAgencyToast();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
let content, title;
|
|
|
|
|
if (that.jobDetail.returnFeeDesp) {
|
|
|
|
|
title = that.userInfo.agencyStatus == 1 ? "佣金: " + that.jobDetail.fuWuFei : "";
|
|
|
|
|
content = that.userInfo.agencyStatus == 1 ? that.jobDetail.returnFeeDesp : "抱歉,您需先成为伯才代理以获得使用权限。";
|
|
|
|
|
} else {
|
|
|
|
|
title = "详询客服";
|
|
|
|
|
content = "因三方项目政策变动太快,详情请咨询客服。页面左下角点击“联系客服”直接联系我哟~";
|
|
|
|
|
}
|
|
|
|
|
uni.showModal({
|
|
|
|
|
title,
|
|
|
|
|
content,
|
|
|
|
|
contentColor: "#ccc",
|
|
|
|
|
confirmColor: "#1890ff",
|
|
|
|
|
confirmText: "确定",
|
|
|
|
|
showCancel: false,
|
|
|
|
|
success(res) {},
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
setType(e) {
|
|
|
|
|
this.tabInfo.active = e;
|
|
|
|
|
},
|
|
|
|
|
toggleReturnFee() {
|
|
|
|
|
this.isServicePriceShow = !this.isServicePriceShow;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
@ -1501,4 +1581,32 @@ page {
|
|
|
|
|
|
|
|
|
|
margin-right: 16px;
|
|
|
|
|
}
|
|
|
|
|
.detailH3 {
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
color: #000;
|
|
|
|
|
line-height: 22px;
|
|
|
|
|
margin-top: 16px;
|
|
|
|
|
margin-bottom: 8px;
|
|
|
|
|
}
|
|
|
|
|
.pri {
|
|
|
|
|
white-space: pre-line;
|
|
|
|
|
}
|
|
|
|
|
.pri:empty:before,
|
|
|
|
|
.textb1:empty:before {
|
|
|
|
|
content: "-" !important;
|
|
|
|
|
color: #333;
|
|
|
|
|
}
|
|
|
|
|
.rb1 {
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
color: #666;
|
|
|
|
|
text-align: center;
|
|
|
|
|
width: 95px;
|
|
|
|
|
}
|
|
|
|
|
.textb1 {
|
|
|
|
|
white-space: pre-line;
|
|
|
|
|
color: #333;
|
|
|
|
|
flex: 1;
|
|
|
|
|
line-height: 1.8;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|