Преглед на файлове

职位发布支付添加购买套餐入口

Xiao_123 преди 6 месеца
родител
ревизия
63fb5cfd08

+ 28 - 9
src/components/pay/index.vue

@@ -12,11 +12,12 @@
     </template>
 
     <!-- 赏金所需 -->
-    <div class="pt-3 pb-5" style="color: var(--v-error-base); font-weight: bold; text-align: center;">
+    <div :class="{'pb-5': !showOriginalPrice}" style="color: var(--v-error-base); font-weight: bold; text-align: center;">
       <!-- <span class="font-size-13">¥</span> -->
-      <span class="font-size-30"> {{ cost / 100 }}</span>
-      <span class="font-size-15 ml-1">{{ payUnit }}</span>
+      <span class="font-size-40"> {{ cost / 100 }}</span>
+      <span class="font-size-16 ml-1">{{ payUnit }}</span>
     </div>
+    <div v-if="showOriginalPrice" class="text-center text-decoration-line-through pb-5 color-666">原价:599{{ payUnit }}</div>
     <template v-if="payTypeList?.length">
       <v-chip-group v-model="payType" selected-class="text-primary" column mandatory @update:modelValue="payTypeChange">
         <v-chip filter v-for="k in payTypeList" :key="k.code" :value="k.code" class="mr-3" label>
@@ -29,13 +30,13 @@
         <!-- 钱包支付 -->
         <div v-if="isWalletPay" class="py-10" style="text-align: center;">
           <div>
-            <span>剩余点数:</span>
+            <span>剩余M豆:</span>
             <span style="color: var(--v-primary-base);">{{ accountBalance }}</span>
           </div>
           <div class="my-3" v-if="notEnoughMoney">
             <span class="color-error">
               <!-- 当前剩余点数不足,<span class="text-decoration-underline cursor-pointer" @click="handleRecharge">去充值</span> -->
-              当前剩余点数不足,请微信扫码付款
+              当前剩余M豆不足,请微信扫码付款
             </span>
           </div>
         </div>
@@ -63,6 +64,10 @@
         </div>
       </div>
     </template>
+    <div v-if="showEnterpriseJump" class="text-end text-decoration-underline color-primary mt-10 cursor-pointer" @click="handleToJump">
+      职位发布次数不够用?点击查看更多优惠套餐
+      <v-icon>mdi-chevron-double-right</v-icon>
+    </div>
   </v-card>
 
   <CtDialog :visible="showRecharge" :widthType="1" titleClass="text-h6" title="点数充值" :footer="false" submitText="确认" @close="handleRechargeClose">
@@ -118,14 +123,24 @@ const props = defineProps({
   },
   unit: {
     type: String,
-    default: '点数'
+    default: 'M豆'
+  },
+  // 是否展示企业职位发布去购买更多套餐
+  showEnterpriseJump: {
+    type: Boolean,
+    default: false
+  },
+  // 原价
+  showOriginalPrice: {
+    type: Boolean,
+    default: false
   }
 })
 
 const showRecharge = ref(false)
 const loading = ref(true)
 const tip = ref('')
-const payUnit = ref('点数')
+const payUnit = ref('M豆')
 
 // 步骤:
 //      1. 获取支付方式类型列表getCodeList (appId不同时数据返回有区别)
@@ -227,7 +242,7 @@ const isWalletPay = ref(false)
 const isQrCodePay = ref(false)
 const payTypeChange = (value) => {
   payType.value = value
-  payUnit.value = value === 'wx_native' ? '元' : '点数'
+  payUnit.value = value === 'wx_native' ? '元' : 'M豆'
   tip.value = payTypeList.value.find(e => e.code === payType.value)?.tip || ''
   isQrCodePay.value = qrCodePay.includes(payType.value)
   isWalletPay.value = walletPay.includes(payType.value)
@@ -365,8 +380,12 @@ const formatDuration = (remainder) => {
   return `${minutes}分${remainingSeconds}秒`
 }
 
+const handleToJump = () => {
+  window.open('/recruit/enterprise/membershipPackage')
+}
+
 </script>
 
 <style lang="scss" scoped>
-.font-size-30 { font-size: 30px; }
+.font-size-40 { font-size: 40px; }
 </style>

+ 17 - 17
src/router/modules/components/recruit/enterprise.js

@@ -354,22 +354,22 @@ const enterprise = [
       
     ]
   },
-  // {
-  //   path: '/recruit/enterprise/membershipPackage',
-  //   component: Layout,
-  //   name: 'membershipPackage',
-  //   meta: {
-  //     title: '会员套餐',
-  //     enName: 'Membership Benefits',
-  //     icon: 'mdi-wallet-membership'
-  //   },
-  //   children: [
-  //     {
-  //       path: '/recruit/enterprise/membershipPackage',
-  //       show: true,
-  //       component: () => import('@/views/recruit/enterprise/membershipPackage/index.vue')
-  //     }
-  //   ]
-  // },
+  {
+    path: '/recruit/enterprise/membershipPackage',
+    component: Layout,
+    name: 'membershipPackage',
+    meta: {
+      title: '会员套餐',
+      enName: 'Membership Benefits',
+      icon: 'mdi-wallet-membership'
+    },
+    children: [
+      {
+        path: '/recruit/enterprise/membershipPackage',
+        show: true,
+        component: () => import('@/views/recruit/enterprise/membershipPackage/index.vue')
+      }
+    ]
+  }
 ]
 export default enterprise

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

@@ -28,6 +28,8 @@
       :cost="payInfo.cost"
       :spuId="payInfo.spuId"
       :spuName="payInfo.spuName"
+      :showEnterpriseJump="true"
+      :showOriginalPrice="true"
       :orderType="1"
       @paySuccess="paySuccess"
       @close="showConfirmPaymentDialog = false"

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

@@ -78,6 +78,8 @@
     :cost="39900"
     :spuId="spuId"
     :spuName="spuName"
+    :showEnterpriseJump="true"
+    :showOriginalPrice="true"
     :orderType="1"
     @paySuccess="paySuccess"
     @close="showConfirmPaymentDialog = false"

+ 0 - 1
src/views/recruit/enterprise/resume/components/screen.vue

@@ -115,7 +115,6 @@ const handleClick = (item, val) => {
 if (props.jobId) {
   const job = list.value.find(e => e.key === 'jobId')
   getJobList(job).then(data => {
-    console.log(data, 'data')
     if (!data || !data.length) return
     const id = data.find(e => e.value === props.jobId)
     handleClick(id, job)