Pārlūkot izejas kodu

购买职位套餐成功后返回职位管理页面

lifanagju_citu 6 mēneši atpakaļ
vecāks
revīzija
fdeae8b7b6

+ 1 - 1
src/components/pay/index.vue

@@ -382,7 +382,7 @@ const formatDuration = (remainder) => {
 }
 
 const handleToJump = () => {
-  router.push('/recruit/enterprise/membershipPackage?key=0')
+  router.push('/recruit/enterprise/membershipPackage?fromName=positionPay')
 }
 
 </script>

+ 1 - 0
src/views/recruit/enterprise/membershipPackage/dynamic/balance.vue

@@ -124,6 +124,7 @@ const calcStyle = (index) => {
 }
 
 const handleClick = (index, item) => {
+  payQrCodeTxt.value = ''
   current.value = index + 1
   select.value = item
   getUnpaidOrderList()

+ 23 - 1
src/views/recruit/enterprise/membershipPackage/dynamic/package.vue

@@ -55,6 +55,10 @@ import { definePayTypeList, qrCodePay } from '@/utils/payType'
 import { useUserStore } from '@/store/user'; const store = useUserStore()
 import Snackbar from '@/plugins/snackbar'
 import { createTradeOrder } from '@/api/position'
+import { useRoute } from 'vue-router'; const route = useRoute()
+import { useRouter } from 'vue-router'; const router = useRouter()
+import Confirm from '@/plugins/confirm'
+import { useI18n } from '@/hooks/web/useI18n'; const { t } = useI18n()
 
 const current = ref()
 const select = ref({})
@@ -139,6 +143,23 @@ const updateAccountInfo = async (init = false) => {
   loading.value = false
 }
 
+const fromName = ref(route.query?.fromName || '')
+const callBackUrl = () => {
+  // if (!fromName.value) return
+  const urls = {
+    positionPay: '/recruit/enterprise/position',
+  }
+  const texts = {
+    positionPay: '职位管理页面'
+  }
+  const url = fromName.value ? urls[fromName.value] : -1
+  const text = fromName.value ? texts[fromName.value] : '购买前页面'
+  //
+  Confirm(t('common.confirmTitle'), `支付成功!是否返回${text}?`).then(() => {
+    router.push(url)
+  })
+}
+
 const payStatus = async () => {
   try {
     const data = await getOrderPayStatus({ id: payOrder.value.id })
@@ -151,7 +172,8 @@ const payStatus = async () => {
         // 清除定时器
         clearTimer()
         // 支付成功
-        Snackbar.success('支付成功')
+        if (fromName.value) callBackUrl()
+        else Snackbar.success('支付成功')
       }, 2000);
     }
   } catch (error) {

+ 1 - 1
src/views/recruit/enterprise/positionManagement/index.vue

@@ -17,7 +17,7 @@
       </div>
       <div class="color-666 font-size-14">
         <span>可发布职位数 <strong class="color-primary">{{ baseInfo?.entitlement?.publishJobCount || 0 }}</strong> 个, </span>
-        <span class="color-primary text-decoration-underline cursor-pointer" @click="router.push('/recruit/enterprise/membershipPackage?key=0')">可发布职位数不够用?点击去购买</span>
+        <span class="color-primary text-decoration-underline cursor-pointer" @click="router.push('/recruit/enterprise/membershipPackage?fromName=positionPay')">可发布职位数不够用?点击去购买</span>
       </div>
       
       <div class="mt-3">