Преглед изворни кода

撤销已投递的简历(未查看的才可以撤销)

Xiao_123 пре 2 месеци
родитељ
комит
5b33c7b226

+ 7 - 0
src/api/position.js

@@ -289,4 +289,11 @@ export const getJobAdvertisedShare = async (data) => {
     url: '/app-api/menduner/system/job/advertised/share',
     data
   })
+}
+
+// 撤销已投递的简历(未查看的才可以撤销)
+export const cancelDeliveryResume = async (id) => {
+  return await request.post({
+    url: '/app-api/menduner/system/job-cv-rel/withdraw?id=' + id
+  })
 }

+ 8 - 1
src/components/Position/longStrip.vue

@@ -5,6 +5,7 @@
     >
       <div class="info-header">
         <div v-if="val.active && val.job.status === '0'" class="header-btn">
+          <v-btn v-if="showCancelDeliveryResumeBtn && val.cvRel?.status === '0'" color="primary" size="small" @click.stop="emits('cancelDeliveryResume', val.cvRel.id)">撤销投递简历</v-btn>
           <v-btn v-if="props.showCancelBtn" class="half-button ml-3" color="primary" size="small" @click.stop="handleCancel(val)">取消收藏</v-btn>
           <v-btn class="half-button ml-3" color="primary" size="small" @click.stop="toDetails(val)">立即沟通</v-btn>
         </div>
@@ -71,16 +72,22 @@ import dialogExtend from '@/plugins/dialogExtend'
 import { formatName } from '@/utils/getText'
 import { jumpToEnterpriseDetail } from '@/utils/position'
 
-const emits = defineEmits(['refresh'])
+const emits = defineEmits(['refresh', 'cancelDeliveryResume'])
 const { t } = useI18n()
 const props = defineProps({
   items: {
     type: Array,
     default: () => []
   },
+  // 是否展示取消收藏按钮
   showCancelBtn: {
     type: Boolean,
     default: false
+  },
+  // 是否显示取消投递简历按钮
+  showCancelDeliveryResumeBtn: {
+    type: Boolean,
+    default: false
   }
 })
 

+ 18 - 2
src/views/recruit/personal/PersonalCenter/jobFeedback/components/delivery.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <div v-if="items.length">
-      <LongStrip :items="items"></LongStrip>
+      <LongStrip :items="items" :showCancelDeliveryResumeBtn="true" @cancelDeliveryResume="handleCancelDeliveryResume"></LongStrip>
       <CtPagination
         :total="total"
         :page="page.pageNo"
@@ -18,7 +18,9 @@
 defineOptions({ name: 'position-delivery' })
 import { ref } from 'vue'
 import { dealDictObjData } from '@/utils/position'
-import { getJobDeliveryList } from '@/api/position'
+import { getJobDeliveryList, cancelDeliveryResume } from '@/api/position'
+import Confirm from '@/plugins/confirm'
+import Snackbar from '@/plugins/snackbar'
 
 const total = ref(0)
 const items = ref([])
@@ -45,6 +47,20 @@ const handleChangePage = (index) => {
   page.value.pageNo = index
   getPositionList()
 }
+
+// 撤销投递简历
+const handleCancelDeliveryResume = async (id) => {
+  Confirm('系统提示', '是否确认撤销对该职位投递的简历?').then(async () => {
+    try {
+      await cancelDeliveryResume(id)
+      Snackbar.success('撤销投递简历成功')
+      page.value.pageNo = 1
+      getPositionList()
+    } catch {
+      Snackbar.error('撤销投递简历失败,请稍后再试')
+    }
+  })
+}
 </script>
 
 <style scoped lang="scss">