瀏覽代碼

已投递效验

Xiao_123 10 月之前
父節點
當前提交
fa1fbac128

+ 10 - 5
src/views/recruit/personal/shareJob/components/handleDeliveryCom.vue

@@ -19,11 +19,15 @@ 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 { 
+  // jobCvRelCheckSend, 
+  jobCvRelSend 
+} from '@/api/position'
 import { hireJobCvDelivery } from '@/api/recruit/personal/shareJob'
 import DeliveryForm from './deliveryForm.vue'
 import { getPersonResumeCv } from '@/api/resume'
 
+const emits = defineEmits(['refresh'])
 const props = defineProps({
   jobId: {
     type: String,
@@ -45,8 +49,8 @@ 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 res = await jobCvRelCheckSend({ jobId: props.jobId }) //是否投递过简历
+    // if (res) return Snackbar.warning(t('resume.alreadyResume'))
     //
     const data = await getPersonResumeCv()// 简历列表
     resumeList.value = data
@@ -76,9 +80,10 @@ const handleSubmit = async (val) =>{
   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(() => {
+  // setTimeout(() => {
     Snackbar.success(t('resume.deliverySuccess'))
-  }, 3000)
+  // }, 3000)
+  emits('refresh')
   handleClose()
 }
 

+ 14 - 4
src/views/recruit/personal/shareJob/index.vue

@@ -58,11 +58,11 @@
         </div>
         <div class="mb-5 text-center" style="height: 80px; line-height: 80px;">
           <v-btn class="mr-2 radius button-item" color="success" variant="outlined" target="_blank" to="/recruit/personal/position">{{ $t('position.moreBtn') }}</v-btn>
-          <v-btn class="radius button-item" color="primary" @click="handleDelivery">{{ $t('position.submitResume') }}</v-btn>
+          <v-btn class="radius button-item" color="primary" :disabled="delivery" @click="handleDelivery">{{ delivery ? $t('position.delivered') : $t('position.submitResume') }}</v-btn>
         </div>
       </div>
     </v-card>
-    <handleDeliveryCom v-if="showHandleDelivery" :jobId="jobId" :hire="info?.hire" :userId="sharedById"></handleDeliveryCom>
+    <handleDeliveryCom v-if="showHandleDelivery" :jobId="jobId" :hire="info?.hire" :userId="sharedById" @refresh="handleCheckJobDelivery"></handleDeliveryCom>
     <CtDialog
       :visible="showQuickResumeDialog"
       :widthType="2"
@@ -80,7 +80,7 @@
 <script setup>
 defineOptions({name: 'recruit-personal-shareJob-index'})
 import { onMounted, ref } from 'vue';
-import { getPositionDetails } from '@/api/position'
+import { getPositionDetails, jobCvRelCheckSend } from '@/api/position'
 import { dealDictObjData } from '@/utils/position'
 import handleDeliveryCom from './components/handleDeliveryCom.vue'
 import login from './components/login.vue'
@@ -106,13 +106,23 @@ const getPositionDetail = async () => {
   info.value = data
   positionInfo.value = { ...dealDictObjData({}, info.value), ...info.value }
 }
+
+// 效验是否已投递
+const delivery = ref(false)
+const handleCheckJobDelivery = async () => {
+  delivery.value = await jobCvRelCheckSend({ jobId })
+}
+
 // 判断有没有jobId跟sharedById,没有的话关闭当前窗口
 if (!jobId || !sharedById) {
   Snackbar.warning('当前打开的链接无效')
   setTimeout(() => {
     window.close()
   }, 2000)
-} else getPositionDetail()
+} else {
+  getPositionDetail()
+  if (getPersonalToken()) handleCheckJobDelivery()
+}
 
 const desc = [
   { mdi: 'mdi-map-marker-outline', value: 'areaName' },