lifanagju_citu hace 3 meses
padre
commit
172cbd3f10

+ 13 - 1
api/position.js

@@ -39,7 +39,6 @@ export const getPositionDetails = (params) => {
   })
 }
 
-
 // 效验招聘职位是否投递
 export const jobCvRelCheckSend = (params) => {
   return request({
@@ -53,6 +52,19 @@ export const jobCvRelCheckSend = (params) => {
   })
 }
 
+// 效验“招聘会”职位是否投递
+export const jobFairCvRelCheckSend = (params) => {
+  return request({
+    url: '/app-api/menduner/system/job-cv-rel/job-fair/send/check',
+    method: 'GET',
+    params,
+    custom: {
+      showLoading: false,
+      auth: true
+    }
+  })
+}
+
 // 效验求职者是否收藏该职位
 export const getJobFavoriteCheck = (params) => {
   return request({

+ 2 - 1
components/PositionList/index.vue

@@ -103,7 +103,8 @@ const props = defineProps({
 
 //岗位详情
 const toDetail = (item) =>{
-  const url = `/pagesB/positionDetail/index?id=${item.job?.id}&area=${item.job.areaName}`
+  if (!item?.job?.id) return
+  const url = `/pagesB/positionDetail/index?id=${item.job.id}&area=${item.job.areaName}&jobFairId=${item.job.jobFairId}`
   uni.navigateTo({ url })
 }
 

+ 1 - 0
pages/index/position.vue

@@ -205,6 +205,7 @@ const getData = async () => {
     
   }, {})
   const params = hasValue ? _query : { pageSize: query.pageSize, pageNo: query.pageNo, hire: 0 }
+  if (params.pageNo === 1) positionListData.value = []
   type.value = hasValue ? 'position' : 'recommend'
   try {
     const res = await api(params)

+ 1 - 1
pagesB/jobFair/enterprises.vue

@@ -248,7 +248,7 @@ const toDetail = (item) =>{
     margin-bottom: 12px;
   }
   .jobFairName {
-    color: var( --v-primary-base);
+    color: #999;
   }
 }
 </style>

+ 8 - 2
pagesB/jobFair/positions.vue

@@ -12,7 +12,13 @@
             </view>
           </view>
           <view v-if="listData?.length" class="listDataBox defaultBgc">
-			      <PositionList class="pb-10" :list="listData" :noMore="false" :showEntInfo="false" updateTimeAlign="left"></PositionList>
+			      <PositionList
+              class="pb-10"
+              :list="listData"
+              :noMore="false"
+              :showEntInfo="false"
+              updateTimeAlign="left"
+            ></PositionList>
             <uni-load-more :status="more" />
           </view>
           <view v-else class="nodata-img-parent">
@@ -204,7 +210,7 @@ const loadingMore = () => {
     margin-bottom: 12px;
   }
   .entName {
-    color: var( --v-primary-base);
+    color: #999;
   }
 }
 </style>

+ 27 - 21
pagesB/positionDetail/index.vue

@@ -211,6 +211,7 @@ import {
   jobCvRelSend,
   getPositionDetails,
   jobCvRelCheckSend,
+  jobFairCvRelCheckSend,
   getPersonJobUnfavorite, // 取消收藏
   getPersonJobFavorite, // 收藏
   getJobFavoriteCheck,
@@ -220,7 +221,7 @@ import {
 import { getPersonResumeCv, saveResume } from '@/api/user'
 import { dealDictObjData } from '@/utils/position'
 import { getAccessToken, showNecessaryInfoPopup } from '@/utils/request'
-import { onLoad, onShareAppMessage, onShow } from '@dcloudio/uni-app'
+import { onLoad, onShareAppMessage } from '@dcloudio/uni-app'
 import { prologue, defaultText } from '@/hooks/useIM'
 import { userStore } from '@/store/user'
 import { getSubscribeTemplateList } from '@/api/common'
@@ -248,6 +249,7 @@ watch(() => useUserStore.refreshToken, (newVal) => {
 }, { immediate: true }, { deep: true })
 
 let jobId = ''
+let jobFairId = ''
 let obj = {}
 onLoad(async (options) => {
   console.log(options, 'options')
@@ -263,11 +265,14 @@ onLoad(async (options) => {
 
   // 是否众聘
   isEmployment.value = options?.sharedById || obj?.sharedById
+
   jobId = options?.id || options?.jobId || obj?.jobId || ''
+  jobFairId = options?.jobFairId !== 'undefined' && options.jobFairId !== 'null' && options.jobFairId || ''
+  deliveryCheck()
+
   if (jobId) {
     loading.value = true
     loadingText.value = '加载中 . . . '
-    deliveryCheck()
     getCollectionStatus()
     getPositionDetail()
   } else {
@@ -275,12 +280,11 @@ onLoad(async (options) => {
   }
 })
 
-onShow(() => {
-  if (!jobId) {
-    return
-  }
-  deliveryCheck()
-})
+// onShow(() => {
+//   if (!jobId) {
+//     return
+//   }
+// })
 
 const getImageTempRatio = (url) => {
   return new Promise((req, rej)=>{
@@ -446,8 +450,10 @@ async function getPositionDetail () {
 const delivery = ref(false) // 是否已投递简历
 async function deliveryCheck () {
   try {
-    if (!getAccessToken()) return delivery.value = false
-    const { data } = await jobCvRelCheckSend({ jobId })
+    if (!getAccessToken() || !jobId) return delivery.value = false
+    const params = { jobId, ...(jobFairId && { jobFairId }) }
+    const api =  params.jobFairId ? jobFairCvRelCheckSend : jobCvRelCheckSend
+    const { data } = await api(params)
     delivery.value = Boolean(data)
   } finally {
   }
@@ -521,19 +527,19 @@ const deliverySubmit = async (uploadFile) => {
     return
   }
 
+  const params = {
+    jobId,
+    url: resume.url,
+    ...(jobFairId && { jobFairId })
+  }
+
   if (isEmployment.value) {
-    await jobCvRelHireSend({
-      jobId,
-      url: resume.url,
-      recommendUserId: isEmployment.value
-    })
+    params.recommendUserId = isEmployment.value
+    await jobCvRelHireSend(params)
   } else {
-    await jobCvRelSend({
-      jobId,
-      title: resume.title,
-      url: resume.url,
-      type: info.value.hire ? 1 : 0
-    })
+    params.type = info.value.hire ? 1 : 0
+    params.title = resume.title
+    await jobCvRelSend(params)
   }
   
   uni.showToast({ title: '投递成功', icon: 'none', duration: 2000, })