|  | @@ -1,51 +1,53 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  |    <div style="position: relative;">
 | 
	
		
			
				|  |  |      <div class="banner px-6" id="share" :class="{'default-width': defaultWidth}">
 | 
	
		
			
				|  |  | -      <div class="banner-title d-flex justify-space-between align-center">
 | 
	
		
			
				|  |  | -        <div class="d-flex align-center justify-between">
 | 
	
		
			
				|  |  | -          <svg-icon v-if="info?.hire" class="mr-5" name="pin" size="50"></svg-icon>
 | 
	
		
			
				|  |  | -          <svg-icon v-if="jobFairId" name="jobFair" class="mr-1" size="35"></svg-icon>
 | 
	
		
			
				|  |  | -          <h1>{{ formatName(info.name) }}</h1>
 | 
	
		
			
				|  |  | +      <div class="sticky">
 | 
	
		
			
				|  |  | +        <div class="banner-title d-flex justify-space-between align-center pt-5">
 | 
	
		
			
				|  |  | +          <div class="d-flex align-center justify-between">
 | 
	
		
			
				|  |  | +            <svg-icon v-if="info?.hire" class="mr-5" name="pin" size="50"></svg-icon>
 | 
	
		
			
				|  |  | +            <svg-icon v-if="jobFairId" name="jobFair" class="mr-1" size="35"></svg-icon>
 | 
	
		
			
				|  |  | +            <h1>{{ formatName(info.name) }}</h1>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  | +          <v-btn v-if="showContentRight && !jobFairId" color="primary" variant="text" size="large" @click.stop="handleReturn" prepend-icon="mdi-chevron-triple-left">返回上一页</v-btn>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  | -        <v-btn v-if="showContentRight && !jobFairId" color="primary" variant="text" size="large" @click.stop="handleReturn" prepend-icon="mdi-chevron-triple-left">返回上一页</v-btn>
 | 
	
		
			
				|  |  | -      </div>
 | 
	
		
			
				|  |  | -      <div class="d-flex mt-1 justify-space-between align-center">
 | 
	
		
			
				|  |  | -        <div class="banner-tags">
 | 
	
		
			
				|  |  | -          <span v-for="k in desc" :key="k.mdi">
 | 
	
		
			
				|  |  | -            <span v-if="positionInfo[k.value] || k.value === 'areaName'" class="mr-10">
 | 
	
		
			
				|  |  | -              <v-icon color="var(--color-666)" size="20">{{ k.mdi }}</v-icon>
 | 
	
		
			
				|  |  | -              <span class="ml-1">
 | 
	
		
			
				|  |  | -                {{ k.value === 'areaName' ? !positionInfo.areaId ? '全国' : positionInfo.area?.str : positionInfo[k.value] }}
 | 
	
		
			
				|  |  | +        <div class="d-flex mt-1 justify-space-between align-center">
 | 
	
		
			
				|  |  | +          <div class="banner-tags">
 | 
	
		
			
				|  |  | +            <span v-for="k in desc" :key="k.mdi">
 | 
	
		
			
				|  |  | +              <span v-if="positionInfo[k.value] || k.value === 'areaName'" class="mr-10">
 | 
	
		
			
				|  |  | +                <v-icon color="var(--color-666)" size="20">{{ k.mdi }}</v-icon>
 | 
	
		
			
				|  |  | +                <span class="ml-1">
 | 
	
		
			
				|  |  | +                  {{ k.value === 'areaName' ? !positionInfo.areaId ? '全国' : positionInfo.area?.str : positionInfo[k.value] }}
 | 
	
		
			
				|  |  | +                </span>
 | 
	
		
			
				|  |  |                </span>
 | 
	
		
			
				|  |  |              </span>
 | 
	
		
			
				|  |  | -          </span>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  | +          <div>
 | 
	
		
			
				|  |  | +            <span v-if="!info.payFrom && !info.payTo" class="salary font-size-20 text-end">面议</span>
 | 
	
		
			
				|  |  | +            <span v-else class="salary font-size-20">{{ info.payFrom ? info.payFrom + '-' : ''}}{{ info.payTo }}{{ positionInfo.payName ? '/' + positionInfo.payName : '' }}</span>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  | -        <div>
 | 
	
		
			
				|  |  | -          <span v-if="!info.payFrom && !info.payTo" class="salary font-size-20 text-end">面议</span>
 | 
	
		
			
				|  |  | -          <span v-else class="salary font-size-20">{{ info.payFrom ? info.payFrom + '-' : ''}}{{ info.payTo }}{{ positionInfo.payName ? '/' + positionInfo.payName : '' }}</span>
 | 
	
		
			
				|  |  | +        <div class="refresh-time text-end">{{ timesTampChange(info.refreshTime || info.updateTime) }} {{ $t('common.refresh') }} <v-icon color="primary" size="20">mdi-circle-medium</v-icon></div>
 | 
	
		
			
				|  |  | +        <div class="banner-tools my-4">
 | 
	
		
			
				|  |  | +          <v-chip size="small" label v-for="(k, i) in info.tagList" :key="i" class="mr-1" color="primary">{{ k }}</v-chip>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  | -      </div>
 | 
	
		
			
				|  |  | -      <div class="refresh-time text-end">{{ timesTampChange(info.refreshTime || info.updateTime) }} {{ $t('common.refresh') }} <v-icon color="primary" size="20">mdi-circle-medium</v-icon></div>
 | 
	
		
			
				|  |  | -      <div class="banner-tools my-4">
 | 
	
		
			
				|  |  | -        <v-chip size="small" label v-for="(k, i) in info.tagList" :key="i" class="mr-1" color="primary">{{ k }}</v-chip>
 | 
	
		
			
				|  |  | -      </div>
 | 
	
		
			
				|  |  | -      <div class="d-flex justify-space-between mb-5">
 | 
	
		
			
				|  |  | -        <div>
 | 
	
		
			
				|  |  | +        <div class="d-flex justify-space-between mb-5">
 | 
	
		
			
				|  |  |            <div>
 | 
	
		
			
				|  |  | -            <v-chip v-if="info.hire && info.hirePrice && info.hirePrice > 0" label color="primary">赏金:{{ commissionCalculation(info.hirePrice / 100, 1) }}元</v-chip>
 | 
	
		
			
				|  |  | -            <v-chip v-if="info.hire && info.hirePoint && info.hirePoint > 0" label color="primary" class="ml-1">积分:{{ commissionCalculation(info.hirePoint / 100, 1) }}点</v-chip>
 | 
	
		
			
				|  |  | +            <div>
 | 
	
		
			
				|  |  | +              <v-chip v-if="info.hire && info.hirePrice && info.hirePrice > 0" label color="primary">赏金:{{ commissionCalculation(info.hirePrice / 100, 1) }}元</v-chip>
 | 
	
		
			
				|  |  | +              <v-chip v-if="info.hire && info.hirePoint && info.hirePoint > 0" label color="primary" class="ml-1">积分:{{ commissionCalculation(info.hirePoint / 100, 1) }}点</v-chip>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +            <div v-if="info?.hire" class="font-size-14 mt-3 color-error">推荐好友入职成功即可获得赏金</div>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  | +          <div class="banner-tools-btns" v-if="props.showOperateBtn">
 | 
	
		
			
				|  |  | +            <v-btn v-if="info?.hire" class="radius mr-2 button-item" variant="outlined" color="error" prepend-icon="mdi-share-outline" @click="handleShare">我要赏金</v-btn>
 | 
	
		
			
				|  |  | +            <v-btn v-else class="radius mr-2 button-item" variant="outlined" color="error" prepend-icon="mdi-share-outline" @click="handleShare">{{ $t('position.rewardsShared') }}</v-btn>
 | 
	
		
			
				|  |  | +            <v-btn class="button-item radius" color="warning" variant="outlined" :prepend-icon="isCollection ? 'mdi-heart' : 'mdi-heart-outline'" @click="handleCollection">{{ isCollection ? $t('position.cancelFavorite') : $t('position.collection') }}</v-btn>
 | 
	
		
			
				|  |  | +            <v-btn class="button-item mx-2 radius" color="success" variant="outlined" @click="toDetails(info)">{{ $t('position.communicate') }}</v-btn>
 | 
	
		
			
				|  |  | +            <v-btn class="button-item radius" :disabled="delivery" color="primary" variant="outlined" @click="handleDelivery">{{ delivery ? $t('position.delivered') : $t('position.submitResume') }}</v-btn>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  | -          <div v-if="info?.hire" class="font-size-14 mt-3 color-error">推荐好友入职成功即可获得赏金</div>
 | 
	
		
			
				|  |  | -        </div>
 | 
	
		
			
				|  |  | -        <div class="banner-tools-btns" v-if="props.showOperateBtn">
 | 
	
		
			
				|  |  | -          <v-btn v-if="info?.hire" class="radius mr-2 button-item" variant="outlined" color="error" prepend-icon="mdi-share-outline" @click="handleShare">我要赏金</v-btn>
 | 
	
		
			
				|  |  | -          <v-btn v-else class="radius mr-2 button-item" variant="outlined" color="error" prepend-icon="mdi-share-outline" @click="handleShare">{{ $t('position.rewardsShared') }}</v-btn>
 | 
	
		
			
				|  |  | -          <v-btn class="button-item radius" color="warning" variant="outlined" :prepend-icon="isCollection ? 'mdi-heart' : 'mdi-heart-outline'" @click="handleCollection">{{ isCollection ? $t('position.cancelFavorite') : $t('position.collection') }}</v-btn>
 | 
	
		
			
				|  |  | -          <v-btn class="button-item mx-2 radius" color="success" variant="outlined" @click="toDetails(info)">{{ $t('position.communicate') }}</v-btn>
 | 
	
		
			
				|  |  | -          <v-btn class="button-item radius" :disabled="delivery" color="primary" variant="outlined" @click="handleDelivery">{{ delivery ? $t('position.delivered') : $t('position.submitResume') }}</v-btn>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  | +        <v-divider></v-divider>
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  | -      <v-divider></v-divider>
 | 
	
		
			
				|  |  |        <div class="d-flex">
 | 
	
		
			
				|  |  |            <div class="content-left">
 | 
	
		
			
				|  |  |              <div v-if="Object.keys(info).length">
 | 
	
	
		
			
				|  | @@ -549,5 +551,12 @@ const toDetails = async (info) => {
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <style lang="scss" scoped>
 | 
	
		
			
				|  |  | +.sticky {
 | 
	
		
			
				|  |  | +  position: sticky;
 | 
	
		
			
				|  |  | +  top: 50px;
 | 
	
		
			
				|  |  | +  background-color: #fff;
 | 
	
		
			
				|  |  | +  z-index: 1;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  @import '@/styles/recruit/position/index.scss'
 | 
	
		
			
				|  |  |  </style>
 |