浏览代码

招聘会调整

Xiao_123 6 月之前
父节点
当前提交
e1c34372b0

+ 3 - 4
src/views/recruit/enterprise/jobFair/editJob.vue

@@ -1,5 +1,5 @@
 <template>
-  <add :after-add="afterAdd" :valid="validate">
+  <add :after-add="afterAdd" :valid="validate" :isFair="true">
     <template #timeline>
       <v-timeline-item
           dot-color="light-blue darken-1"
@@ -16,7 +16,7 @@
 
 <script setup>
 defineOptions({ name: 'editJob' })
-import { ref, watch, computed } from 'vue'
+import { ref } from 'vue'
 import {  useRoute, useRouter } from 'vue-router'
 import CtForm from '@/components/CtForm'
 import Add from '@/views/recruit/enterprise/positionManagement/components/add.vue'
@@ -158,9 +158,8 @@ const afterAdd = async (jobId) => {
     Snackbar.success(t('common.publishSuccessMsg'))
     router.push(`/recruit/enterprise/jobFair/details/${route.params.id}`)
   } catch (error) {
-    console.log(error)
     console.error(error)
-    Snackbar.error(t('sys.api.operationFailed'))
+    Snackbar.error(error)
   }
 }
 </script>

+ 1 - 1
src/views/recruit/enterprise/jobFair/job/item.vue

@@ -2,7 +2,7 @@
   <div>
     <div v-if="items.length">
       <div v-for="val in items" :key="val.id" class="itemBox mb-3" style="height: 134px;">
-        <div class="d-flex justify-space-between cursor-pointer" style="padding: 10px 20px;" @click="handleEdit(val)">
+        <div class="d-flex justify-space-between cursor-pointer" style="padding: 10px 20px;">
           <div class="position">
             <div class="d-flex align-center">
               <span class="position-name">{{ val.name }}</span>

+ 16 - 4
src/views/recruit/enterprise/membershipPackage/dynamic/package.vue

@@ -23,6 +23,8 @@
     </v-slide-group-item>
   </v-slide-group>
 
+  <div v-if="!Object.keys(select).length" class="color-warning text-center mt-15 font-size-20">请选择要购买的套餐</div>
+
   <div v-if="payType && payQrCodeTxt" id="codeBox" class="code pa-5 resume-box">
     <div class="resume-header">
       <div class="resume-title">扫码支付</div>
@@ -82,7 +84,8 @@ import { useI18n } from '@/hooks/web/useI18n'; const { t } = useI18n()
 
 const current = ref()
 const select = ref({})
-const model = ref(0)
+const model = ref()
+const isMounted = ref(false)
 
 // 套餐列表
 const list = ref([])
@@ -90,7 +93,7 @@ const getPackageList = async () => {
   const data = await getEnterprisePackageList()
   list.value = data
   list.value.push({ id:'custom' })
-  select.value = data[0]
+  // select.value = data[0]
 }
 
 const showCustom = ref(false)
@@ -135,6 +138,7 @@ const payTypeChange = (val) => {
 }
 const timer = ref(null)
 onUnmounted(() => {
+  isMounted.value = false
   if (timer.value) clearInterval(timer.value); timer.value = null
 })
 
@@ -194,6 +198,13 @@ const paySubmit = async () => {
     }
     const res = await payOrderSubmit(params)
     if (!showCustom.value) payQrCodeTxt.value = res?.displayContent || '' // 生成二维码内容
+
+     // 离开当前页面后不执行
+    if (!isMounted.value) {
+      if (timer.value) clearInterval(timer.value); timer.value = null
+      return
+    }
+
     initIntervalFun()
     if (timer.value) clearInterval(timer.value); timer.value = null
     timer.value = setInterval(() => { payStatus() }, 1000) // 轮巡查询用户是否支付
@@ -220,8 +231,8 @@ const getCodeList = async () => {
           if (!payType.value) {
             // 默认值赋值(暂时只支持扫码)
             const bool = qrCodePay.includes(code)
-            // if (bool) payType.value = code
-            if (bool) payTypeChange(code)
+            if (bool) payType.value = code
+            // if (bool) payTypeChange(code)
           }
           payTypeList.value.push(item)
         }
@@ -231,6 +242,7 @@ const getCodeList = async () => {
 }
 
 nextTick(async () => {
+  isMounted.value = true
   await getPackageList()
   await getCodeList()
 })

+ 2 - 1
src/views/recruit/enterprise/positionManagement/components/add.vue

@@ -54,6 +54,7 @@ import { createTradeOrder } from '@/api/position'
 const props = defineProps({
   afterAdd: Function,
   valid: Function,
+  isFair: Boolean
 })
 
 const { t } = useI18n()
@@ -117,7 +118,7 @@ const handleSave = async () => {
 const saveEmit = async () => {
   loading.value = true
   try {
-    const res = await saveJobAdvertised(submitParams)
+    const res = await saveJobAdvertised({ ...submitParams, fair: props.isFair ? true : false }) // fair:是否为招聘会职位编辑-必填
     // status:99为待支付职位,弹窗支付
     if (submitParams?.status && submitParams?.status === '99') {
       loading.value = true