Pārlūkot izejas kodu

Merge branch 'dev' of https://git.citupro.com/zhengnaiwen_citu/menduner into dev

lifanagju_citu 10 mēneši atpakaļ
vecāks
revīzija
3df85ce233

+ 0 - 14
src/api/enterprise.js

@@ -86,20 +86,6 @@ export const getPersonCvDetail = async (userId, id) => {
   })
 }
 
-// 招聘端-牛人管理-加入不合适
-export const joinEliminate = async (ids) => {
-  return await request.post({
-    url: `/app-admin-api/menduner/system/person-cv/eliminate?ids=${ids}`
-  })
-}
-
-// 招聘端-牛人管理-入职
-export const personEntryByEnterprise = async (ids) => {
-  return await request.post({
-    url: `/app-admin-api/menduner/system/person-cv/entry?ids=${ids}`
-  })
-}
-
 // 招聘端-企业信息-获取基本信息
 export const getEnterpriseBaseInfo = async () => {
   return await request.get({

+ 22 - 0
src/api/recruit/enterprise/personnel/index.js

@@ -0,0 +1,22 @@
+import request from '@/config/axios'
+
+// 记录查看简历附件
+export const personJobCvLook = async (id) => {
+  return await request.post({
+    url: `/app-admin-api/menduner/system/person-cv/look?id=${id}`
+  })
+}
+
+// 招聘端-牛人管理-加入不合适
+export const joinEliminate = async (ids) => {
+  return await request.post({
+    url: `/app-admin-api/menduner/system/person-cv/eliminate?ids=${ids}`
+  })
+}
+
+// 招聘端-牛人管理-入职
+export const personEntryByEnterprise = async (ids) => {
+  return await request.post({
+    url: `/app-admin-api/menduner/system/person-cv/entry?ids=${ids}`
+  })
+}

+ 32 - 0
src/api/recruit/personal/shareJob/index.js

@@ -0,0 +1,32 @@
+import request from '@/config/axios'
+
+// 众聘-投递简历
+export const hireJobCvDelivery = async (data) => {
+  return await request.post({
+    url: '/app-api/menduner/system/hire-job-cv-rel/send',
+    data
+  })
+}
+
+// 众聘-获取推荐职位投递状态数量
+export const getHireJobCvRecommendCount = async () => {
+  return await request.get({
+    url: '/app-api/menduner/system/hire-job-cv-rel/get/commend/count'
+  })
+}
+
+// 众聘-获取推荐邀请投递的职位信息
+export const getHireJobCvRelPage = async (params) => {
+  return await request.get({
+    url: '/app-api/menduner/system/hire-job-cv-rel/page',
+    params
+  })
+}
+
+// 保存简易基本信息
+export const savePersonSimpleInfo = async (data) => {
+  return await request.post({
+    url: '/app-api/menduner/system/person/resume/info/simple/save',
+    data
+  })
+}

+ 7 - 0
src/api/recruit/public/delivery/index.js

@@ -34,4 +34,11 @@ export const hireJobCvRelEliminate = async (ids) => {
   return await request.post({
     url: `/app-admin-api/menduner/system/hire-job-cv-rel/eliminate?ids=${ids}`
   })
+}
+
+// 记录查看简历附件
+export const hireJobCvRelLook = async (id) => {
+  return await request.post({
+    url: `/app-admin-api/menduner/system/hire-job-cv-rel/look?id=${id}`
+  })
 }

+ 15 - 8
src/views/recruit/enterprise/personnelManagement/components/table.vue

@@ -30,7 +30,7 @@
       </template>
       <template v-slot:item.actions="{ item }">
         <div v-if="tab === '0'">
-          <v-btn color="primary" variant="text" @click="previewFile(item.url)">查看简历</v-btn>
+          <v-btn color="primary" variant="text" @click="handlePreviewResume(item)">查看简历</v-btn>
           <v-btn color="primary" variant="text" @click="handleAction('', 0, item)">不合适</v-btn>
         </div>
         <div v-if="tab === '1'">
@@ -45,7 +45,7 @@
 defineOptions({ name: 'table-page'})
 import { ref, computed } from 'vue'
 import { previewFile } from '@/utils'
-import { joinEliminate, personEntryByEnterprise } from '@/api/enterprise'
+import { personJobCvLook, joinEliminate, personEntryByEnterprise } from '@/api/recruit/enterprise/personnel'
 import { useI18n } from '@/hooks/web/useI18n'
 import Snackbar from '@/plugins/snackbar'
 
@@ -65,13 +65,13 @@ const badgeIcon = computed(() => (item) => {
 
 const selected = ref([])
 const headers = ref([
-  { title: '姓名', value: 'name' },
-  { title: '应聘职位', value: 'job.name' },
-  { title: '求职状态', key: 'person.jobStatusName' },
-  { title: '工作经验', key: 'person.expName' },
-  { title: '最高学历', key: 'person.eduName' },
+  { title: '姓名', value: 'name', sortable: false },
+  { title: '应聘职位', value: 'job.name', sortable: false },
+  { title: '求职状态', key: 'person.jobStatusName', sortable: false },
+  { title: '工作经验', key: 'person.expName', sortable: false },
+  { title: '最高学历', key: 'person.eduName', sortable: false },
   { title: '岗位薪资', key: 'job', value: item => `${item.job.payFrom}-${item.job.payTo}/${item.job.payName}`, sortable: false },
-  { title: '操作', value: 'actions' }
+  { title: '操作', value: 'actions', sortable: false }
 ])
 
 // 人才详情
@@ -93,6 +93,13 @@ const handleAction = async (type, index, item) => {
   Snackbar.success(t('common.operationSuccessful'))
   emit('refresh')
 }
+
+// 查看简历
+const handlePreviewResume = async (url, id) => {
+  if (!url || !id) return
+  await personJobCvLook(id)
+  previewFile(url)
+}
 </script>
 
 <style scoped lang="scss">

+ 9 - 2
src/views/recruit/enterprise/publicRecruitmentManagement/deliver/components/table.vue

@@ -29,7 +29,7 @@
         </div>
       </template>
       <template v-slot:item.actions="{ item }">
-        <v-btn v-if="tab === '0' && item.url" color="primary" variant="text" @click="previewFile(item.url)">查看简历</v-btn>
+        <v-btn v-if="tab === '0' && item.url" color="primary" variant="text" @click="handlePreviewResume(item)">查看简历</v-btn>
         <v-btn v-if="tab === '2'" color="primary" variant="text" @click="handleAction('', 0, item)">不合适</v-btn>
         <v-btn v-if="tab === '3'" color="primary" variant="text" @click="handleAction('', 1, item)">入职</v-btn>
         <v-btn v-if="tab === '4'" color="primary" variant="text" @click="handleSettlement(item)">结算</v-btn>
@@ -41,7 +41,7 @@
 <script setup>
 defineOptions({ name: 'table-page'})
 import { ref, computed } from 'vue'
-import { hireJobCvRelEntry, hireJobCvRelEliminate, hireJobCvRelSettlement } from '@/api/recruit/public/delivery'
+import { hireJobCvRelEntry, hireJobCvRelEliminate, hireJobCvRelSettlement, hireJobCvRelLook } from '@/api/recruit/public/delivery'
 import { previewFile } from '@/utils'
 import { useI18n } from '@/hooks/web/useI18n'
 import Snackbar from '@/plugins/snackbar'
@@ -99,6 +99,13 @@ const handleSettlement = async (item) => {
   Snackbar.success(t('common.operationSuccessful'))
   emit('refresh')
 }
+
+// 查看简历
+const handlePreviewResume = async ({ url, id }) => {
+  if (!url || !id) return
+  await hireJobCvRelLook(id)
+  previewFile(url)
+}
 </script>
 
 <style scoped lang="scss">