Bladeren bron

拆分代码

lifanagju_citu 10 maanden geleden
bovenliggende
commit
4d96bb6355

+ 60 - 0
src/views/recruit/personal/shareJob/components/handleDeliveryCom.vue

@@ -0,0 +1,60 @@
+<!-- 选择简历 -->
+<template>
+  <selectResumeDialog v-model="showResume" :list="resumeList" @submit="handleSubmit" @close="handleClose"></selectResumeDialog>
+</template>
+
+<script setup>
+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 { getPersonResumeCv } from '@/api/resume'
+import { ref } from 'vue'
+defineOptions({name: 'shareJob-handleDeliveryCom'})
+const props = defineProps({
+  jobId: {
+    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'))
+  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>

+ 31 - 0
src/views/recruit/personal/shareJob/components/quickResumeDialog.vue

@@ -0,0 +1,31 @@
+<!--  -->
+<template>
+  <CtDialog :visible="showQuickResume" :widthType="2" titleClass="text-h6" title="简历投递" @close="quickResumeClose" @submit="quickResumeSubmit">
+    <DeliveryForm ref="deliveryForm"></DeliveryForm>
+  </CtDialog>
+</template>
+
+<script setup>
+import CtDialog from '@/components/CtDialog'
+import DeliveryForm from './deliveryForm.vue'
+import { onMounted, onUnmounted, ref } from 'vue'
+defineOptions({name: 'shareJob-quickResumeDialog'})
+
+const deliveryForm = ref()
+const showQuickResume = ref(false)
+onMounted(() => {
+  showQuickResume.value = true
+})
+onUnmounted(() => {
+  showQuickResume.value = false
+})
+
+const quickResumeClose = () => {
+  showQuickResume.value = false
+}
+const quickResumeSubmit = async () => {
+  console.log(await deliveryForm.value.getQuery(), 'quickResumeSubmit')
+}
+</script>
+<style lang="scss" scoped>
+</style>

+ 13 - 63
src/views/recruit/personal/shareJob/index.vue

@@ -62,15 +62,11 @@
         </div>
       </div>
     </v-card>
+    <quickResumeDialog v-if="showQuickResumeDialog"></quickResumeDialog>
+    <handleDeliveryCom v-if="showHandleDelivery"></handleDeliveryCom>
+    <!-- <quickResumeDialog v-model="showQuickResumeDialog"></quickResumeDialog> -->
+    <!-- <handleDeliveryCom v-model="showHandleDelivery"></handleDeliveryCom> -->
   </div>
-
-  <!-- 选择简历 -->
-  <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>
-
 </template>
 
 <script setup>
@@ -78,13 +74,9 @@ defineOptions({name: 'recruit-personal-shareJob-index'})
 import { onMounted, ref } from 'vue';
 import { getPositionDetails } from '@/api/position'
 import { dealDictObjData } from '@/utils/position'
-import DeliveryForm from './components/deliveryForm.vue'
+import handleDeliveryCom from './components/handleDeliveryCom.vue'
+import quickResumeDialog from './components/quickResumeDialog.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)
@@ -117,60 +109,18 @@ const desc = [
   { mdi: 'mdi-clock-time-ten-outline', value: 'expName' }
 ]
 
-// 简历投递
-const deliveryForm = ref()
-const showQuickResume = ref(false)
-const showResume = ref(false)
-const resumeList = ref([])
+// 投递简历
+const showQuickResumeDialog = ref(false)
+const showHandleDelivery = ref(false)
 const handleDelivery = () => {
   if (getPersonalToken()) {
-    // 已登录情况下: 1.是否投递过简历 2.是否有上传简历 3.已登录但未上传过简历->快速投递
-    inspectionProcess()
+    showHandleDelivery.value = true
+    showQuickResumeDialog.value = !showHandleDelivery.value 
   } else {
-    // 未登录,快速投递
-    showQuickResume.value = true
+    showQuickResumeDialog.value = true
+    showHandleDelivery.value = !showQuickResumeDialog.value 
   }
 }
-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 (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>
 
 <style lang="scss" scoped>