Przeglądaj źródła

1.是否投递过简历 2.是否有上传简历 3.已登录但未上传过简历->快速投递

lifanagju_citu 10 miesięcy temu
rodzic
commit
6cb8ef3fa2
1 zmienionych plików z 50 dodań i 5 usunięć
  1. 50 5
      src/views/recruit/personal/shareJob/index.vue

+ 50 - 5
src/views/recruit/personal/shareJob/index.vue

@@ -64,7 +64,10 @@
     </v-card>
   </div>
 
-  <CtDialog :visible="showResume" :widthType="2" titleClass="text-h6" title="简历投递" @close="handleClose" @submit="handleSubmit">
+  <!-- 选择简历 -->
+  <selectResumeDialog v-model="showResume" :list="resumeList" @submit="handleSubmit" @close="handleClose"></selectResumeDialog>
+    
+  <CtDialog :visible="showQuickResume" :widthType="2" titleClass="text-h6" title="简历投递" @close="quickResumeClose" @submit="quickResumeSubmit">
     <DeliveryForm ref="deliveryForm"></DeliveryForm>
   </CtDialog>
 
@@ -77,6 +80,11 @@ import { getPositionDetails } from '@/api/position'
 import { dealDictObjData } from '@/utils/position'
 import DeliveryForm from './components/deliveryForm.vue'
 import { getPersonalToken } from '@/utils/auth'
+import Snackbar from '@/plugins/snackbar'
+import { useI18n } from '@/hooks/web/useI18n'; const { t } = useI18n()
+import { jobCvRelCheckSend, jobCvRelSend } from '@/api/position'
+import { getPersonResumeCv } from '@/api/resume'
+import selectResumeDialog from '@/views/recruit/personal/position/components/jobDetails/selectResumeDialog'
 
 // 组件挂载后添加事件监听器  
 const isMobile = ref(false)
@@ -111,20 +119,57 @@ const desc = [
 
 // 简历投递
 const deliveryForm = ref()
+const showQuickResume = ref(false)
 const showResume = ref(false)
+const resumeList = ref([])
 const handleDelivery = () => {
   if (getPersonalToken()) {
-    // console.log('1', 1)
+    // 已登录情况下: 1.是否投递过简历 2.是否有上传简历 3.已登录但未上传过简历->快速投递
+    inspectionProcess()
   } else {
-    showResume.value = true
+    // 未登录,快速投递
+    showQuickResume.value = true
   }
 }
+const inspectionProcess = async () => {
+  try {
+    //
+    const res = await jobCvRelCheckSend({ jobId }) //是否投递过简历
+    if (res) return Snackbar.warning(t('resume.alreadyResume'))
+    //
+    const data = await getPersonResumeCv()// 简历列表
+    resumeList.value = data
+    //
+    if (data?.length) showResume.value = true // 简历选择
+    else showQuickResume.value = true // 快速投递
+  } catch (error) {
+    console.error('error', error)
+  }
+}
+
+const quickResumeClose = () => {
+  showQuickResume.value = false
+}
+const quickResumeSubmit = async () => {
+  console.log(await deliveryForm.value.getQuery(), 'quickResumeSubmit')
+}
 
+// 简历投递
+const selectResume = ref()
 const handleClose = () => {
   showResume.value = false
+  selectResume.value = null
 }
-const handleSubmit = async () => {
-  console.log(await deliveryForm.value.getQuery(), 'handleSubmit')
+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'))
+  await jobCvRelSend({ jobId, title: obj.title, url: obj.url })
+  setTimeout(() => {
+    Snackbar.success(t('resume.deliverySuccess'))
+  }, 3000)
+  handleClose()
 }
 </script>