123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <!-- 选择简历 -->
- <template>
- <selectResumeDialog v-model="showResume" :list="resumeList" @submit="handleSubmit" @close="handleClose"></selectResumeDialog>
- </template>
- <script setup>
- defineOptions({name: 'shareJob-handleDeliveryCom'})
- import { ref } from 'vue'
- import selectResumeDialog from '@/views/recruit/personal/position/components/jobDetails/selectResumeDialog'
- import Snackbar from '@/plugins/snackbar'
- import { useI18n } from '@/hooks/web/useI18n'; const { t } = useI18n()
- import { jobCvRelCheckSend, jobCvRelSend } from '@/api/position'
- import { hireJobCvDelivery } from '@/api/recruit/personal/shareJob'
- import { getPersonResumeCv } from '@/api/resume'
- const props = defineProps({
- jobId: {
- type: String,
- default: ''
- },
- hire: {
- type: Boolean,
- default: false
- },
- userId: {
- type: String,
- default: ''
- }
- })
- const showResume = ref(false)
- const resumeList = ref([])
- const inspectionProcess = async () => {
- try {
- // 已登录情况下: 1.是否投递过简历 2.是否有上传简历 3.已登录但未上传过简历->快速投递
- const res = await jobCvRelCheckSend({ jobId: props.jobId }) //是否投递过简历
- if (res) return Snackbar.warning(t('resume.alreadyResume'))
- //
- const data = await getPersonResumeCv()// 简历列表
- resumeList.value = data
- //
- if (data?.length) showResume.value = true // 简历选择
- else console.log('已登录但未上传简历')
- } catch (error) {
- console.error('error', error)
- }
- }
- inspectionProcess()
- // 简历投递
- const selectResume = ref()
- const handleClose = () => {
- showResume.value = false
- selectResume.value = null
- }
- const handleSubmit = async (val) =>{
- selectResume.value = val
- if (!selectResume.value) return Snackbar.warning(t('resume.selectResumeToSubmit'))
- const obj = resumeList.value.find(e => e.id === selectResume.value)
- if (!obj) return Snackbar.warning(t('resume.selectedResumeNotExist'))
- // 区分普通职位跟众聘职位投递
- if (props.hire) await hireJobCvDelivery({ jobId: props.jobId, recommendUserId: props.userId, url: obj.url })
- else await jobCvRelSend({ jobId: props.jobId, title: obj.title, url: obj.url })
- setTimeout(() => {
- Snackbar.success(t('resume.deliverySuccess'))
- }, 3000)
- handleClose()
- }
- </script>
- <style lang="scss" scoped>
- </style>
|