소스 검색

通过点数发布职位

lifanagju_citu 9 달 전
부모
커밋
77f80ac9a5
2개의 변경된 파일15개의 추가작업 그리고 8개의 파일을 삭제
  1. 13 6
      src/components/pay/index.vue
  2. 2 2
      src/views/recruit/enterprise/positionManagement/components/item.vue

+ 13 - 6
src/components/pay/index.vue

@@ -116,6 +116,8 @@ const tip = ref('')
 //      1. 获取支付方式类型列表getCodeList (appId不同时数据返回有区别)
 //      2. 创建支付订单(先获取有无创建的,没有就创建)getUnpaidOrderList (appId=11时只有创建,没有获取)
 //      3. 如果是二维码类型支付(isQrCodePay=true)生成二维码(需要绑定支付订单的订单号)
+//      4.轮询用户是否支付成功
+//      如果是点数支付也要走上面的步骤,只是不生成二维码
 
 
 const balance = JSON.parse(localStorage.getItem('enterpriseUserAccount'))?.balance || 0
@@ -129,7 +131,8 @@ const timer = ref(null)
 onUnmounted(() => {
   if (timer.value) clearInterval(timer.value); timer.value = null
 })
-const initPayQrCode = async () => { // 生成二维码内容
+// 如果是点数支付的话走完payOrderSubmit之后即扣点数,如果是二维码支付的话只是生成二维码,这一步以后是轮询是否支付成功
+const paySubmit = async () => {
   if (!payType.value) return
   try {
     if (payOrder.value) {
@@ -148,10 +151,12 @@ const initPayQrCode = async () => { // 生成二维码内容
         params.id = payOrder.value.payOrderId // 支付单编号
       }
       const res = await payOrderSubmit(params)
-      payQrCodeTxt.value = res?.displayContent || '' // 支付二维码
+      payQrCodeTxt.value = res?.displayContent || '' // 二维码
 
       if (timer.value) clearInterval(timer.value); timer.value = null
       timer.value = setInterval(() => { payStatus() }, 1000) // 轮巡查询用户是否支付
+      // if (isQrCodePay.value) {
+      // }
     }
   } catch (error) {
     console.log(error)
@@ -164,7 +169,7 @@ let maxCount = 0
 const getUnpaidOrderList = async () => {
   try {
     if ((props.appId - 0) === 11) {
-      // 充值
+      //* 充值
       if (props.rechargeInfo.payPrice === undefined && props.rechargeInfo.packageId === undefined) return
       const params = {
         // payPrice: payCalculation(props.cost, 'emit'),
@@ -174,6 +179,7 @@ const getUnpaidOrderList = async () => {
       const data = await rechargeOrderCreate(params)
       payOrder.value = data || {}
     } else {
+      //* 发布职位
       const data = await getUnpaidOrder({ spuId: props.spuId, type: props.orderType }) // 获取待支付的订单 (order:业务订单; payOrder:支付订单)
       if (!data) {
         // 订单超时,重新提交订单
@@ -192,7 +198,7 @@ const getUnpaidOrderList = async () => {
       // 
       payOrder.value = data?.payOrder || null
     }
-    if (isQrCodePay.value) initPayQrCode() // 生成二维码内容
+    if (isQrCodePay.value) paySubmit() // 生成二维码内容
   } catch (error) {
     console.log(error)
   } finally {
@@ -211,7 +217,7 @@ const payTypeChange = (value) => {
   tip.value = payTypeList.value.find(e => e.code === payType.value)?.tip || ''
   isQrCodePay.value = qrCodePay.includes(payType.value)
   isWalletPay.value = walletPay.includes(payType.value)
-  initPayQrCode() // 生成二维码内容
+  paySubmit() // 生成二维码内容
   emit('payTypeChange', value, balanceNotEnough)
 }
 // 1.支付方式
@@ -254,7 +260,8 @@ const payQrCodeTxt = ref('')
 
 // 钱包支付(余额支付)
 const walletPaySubmit = () => {
-  // emit('paySubmit', payType.value)
+  payLoading.value = true
+  paySubmit() // 使用点数
 }
 
 import Snackbar from '@/plugins/snackbar'

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

@@ -114,10 +114,10 @@ const toPay = (val) => {
 }
 // 支付成功
 import { useUserStore } from '@/store/user'; const store = useUserStore()
-const paySuccess = async (isWalletPay) => {
+const paySuccess = async () => {
   showConfirmPaymentDialog.value = false
   setTimeout(() => {
-    if (isWalletPay) store.getEnterpriseUserAccountInfo()
+    store.getEnterpriseUserAccountInfo()
     emit('refresh')
   }, 1000)
 }