|
|
@@ -6,25 +6,15 @@
|
|
|
</div>
|
|
|
<div class="headers-box-right flex align-center">
|
|
|
<Notice v-if="gongao.length>0" :lists="gongao" />
|
|
|
- <div class="flex align-center myVip" v-if="userType == 1" @click="openVip">
|
|
|
- <el-image style="width: 22px; height: 22px;margin-right: 10px;" src="/images/index/vipIcon.png"
|
|
|
- fit="cover" />
|
|
|
- {{ isVip ? '会员用户' : '开通会员' }}
|
|
|
- </div>
|
|
|
- <div class="flex align-center myVip" v-else @click="openVip">
|
|
|
- <el-image style="width: 22px; height: 22px;margin-right: 10px;" src="/images/index/vipIcon.png"
|
|
|
- fit="cover" />
|
|
|
- {{ isCompanyVip ? '会员用户' : '开通会员' }}
|
|
|
- </div>
|
|
|
- <!--<el-popover ref="popoverRef" trigger="click" :show-arrow="false" :popper-style="popperStyle"
|
|
|
+ <el-popover ref="popoverRef" trigger="click" :show-arrow="false" :popper-style="popperStyle"
|
|
|
placement="bottom" :width="340">
|
|
|
<template #reference>
|
|
|
- <div class="flex align-center myVip" v-if="userType==1">
|
|
|
+ <!-- <div class="flex align-center myVip" v-if="userType==1">
|
|
|
<el-image style="width: 22px; height: 22px;margin-right: 10px;"
|
|
|
src="/images/index/vipIcon.png" fit="cover" />
|
|
|
{{isVip?'会员用户':'开通会员'}}
|
|
|
- </div>
|
|
|
- <div class="flex align-center myVip" v-else>
|
|
|
+ </div> -->
|
|
|
+ <div class="flex align-center myVip" v-if="userType == 2">
|
|
|
<el-image style="width: 22px; height: 22px;margin-right: 10px;"
|
|
|
src="/images/index/vipIcon.png" fit="cover" />
|
|
|
{{isCompanyVip?'会员用户':'开通会员'}}
|
|
|
@@ -33,20 +23,20 @@
|
|
|
<div class="myVipCon">
|
|
|
<div class="myVipCon-bg flex align-center justify-between">
|
|
|
<div class="myVipCon-bg-l">
|
|
|
- <div class="myVipCon-bg-l-title" v-if="userType==1">
|
|
|
+ <!-- <div class="myVipCon-bg-l-title" v-if="userType==1">
|
|
|
{{isVip==true?'已开通会员':'开通会员'}}
|
|
|
- </div>
|
|
|
- <div class="myVipCon-bg-l-title" v-else>
|
|
|
+ </div> -->
|
|
|
+ <div class="myVipCon-bg-l-title">
|
|
|
{{isCompanyVip==true?'已开通会员':'开通会员'}}
|
|
|
</div>
|
|
|
<div class="myVipCon-bg-l-title">
|
|
|
{{userType==1?'提升简历曝光':'提升岗位曝光'}}
|
|
|
</div>
|
|
|
- <div class="myVipCon-bg-l-time" v-if="userType==1">
|
|
|
+ <!-- <div class="myVipCon-bg-l-time" v-if="userType==1">
|
|
|
{{isVip==true?'到期时间:'+vipTime:'开通会员更多招聘方联系你'}}
|
|
|
- </div>
|
|
|
- <div class="myVipCon-bg-l-time" v-else>
|
|
|
- {{isCompanyVip==true?'到期时间:'+vipTimeC:'开通会员更多求职者联系你'}}
|
|
|
+ </div> -->
|
|
|
+ <div class="myVipCon-bg-l-time">
|
|
|
+ {{ isCompanyVip ? (vipName + ' 剩余 ' + remainingDays + ' 天到期') : '开通会员更多求职者联系你' }}
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
@@ -54,44 +44,52 @@
|
|
|
</div>
|
|
|
<div class="myVipCon-icon flex align-center justify-between">
|
|
|
<div class="myVipCon-icon-item flex align-center justify-center flex-wrap">
|
|
|
- <img src="/images/hader/btn1.png" alt="" />
|
|
|
+ <div>{{ myViewTimes }}/{{ vipViewTimes }}</div>
|
|
|
<div class="myVipCon-icon-item-txt">
|
|
|
- 专属客服
|
|
|
+ 查看权益
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="myVipCon-icon-item flex align-center justify-center flex-wrap">
|
|
|
- <img src="/images/hader/btn2.png" alt="" />
|
|
|
+ <div>{{ myConTimes }}/{{ vipConTimes }}</div>
|
|
|
<div class="myVipCon-icon-item-txt">
|
|
|
- {{userType==1?'优先提醒':'优先推荐'}}
|
|
|
+ 沟通权益
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="myVipCon-icon-item flex align-center justify-center flex-wrap">
|
|
|
- <img src="/images/hader/btn3.png" alt="" />
|
|
|
+ <div>{{ myPostTimes }}/{{ vipPostTimes }}</div>
|
|
|
<div class="myVipCon-icon-item-txt">
|
|
|
- {{userType==1?'简历刷新':'招聘刷新'}}
|
|
|
+ 普通职位
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="myVipCon-icon-item flex align-center justify-center flex-wrap">
|
|
|
- <img src="/images/hader/btn4.png" alt="" />
|
|
|
+ <div>{{ myDueTimes }}/{{ vipDueTimes }}</div>
|
|
|
<div class="myVipCon-icon-item-txt">
|
|
|
- {{userType==1?'简历置顶':'专属特权'}}
|
|
|
+ 急聘职位
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="myVipCon-li" v-if="userType==1">
|
|
|
+ <!-- <div class="myVipCon-li" v-if="userType==1">
|
|
|
<div class="myVipCon-li-sj"></div>
|
|
|
<div class="myVipCon-li-con">
|
|
|
<div class="myVipCon-li-con-item flex align-center justify-between">
|
|
|
<div class="myVipCon-li-con-items" style="font-weight: 500;">
|
|
|
- 专属特权
|
|
|
+ 在线普通职位
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor1"
|
|
|
style="font-weight: 500;">
|
|
|
- 普通用户
|
|
|
+ 基础权益
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2"
|
|
|
style="font-weight: 500;">
|
|
|
- VIP
|
|
|
+ 试用版
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2"
|
|
|
+ style="font-weight: 500;">
|
|
|
+ 月付版
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2"
|
|
|
+ style="font-weight: 500;">
|
|
|
+ 年度版
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-item flex align-center justify-between">
|
|
|
@@ -151,115 +149,166 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="myVipCon-li" v-else>
|
|
|
+ </div> -->
|
|
|
+ <div class="myVipCon-li" v-if="userType == 2">
|
|
|
<div class="myVipCon-li-sj"></div>
|
|
|
<div class="myVipCon-li-con">
|
|
|
<div class="myVipCon-li-con-item flex align-center justify-between">
|
|
|
<div class="myVipCon-li-con-items" style="font-weight: 500;">
|
|
|
- 专属特权
|
|
|
+ 权益类型
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor1"
|
|
|
style="font-weight: 500;">
|
|
|
- 普通用户
|
|
|
+ 基础权益
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2"
|
|
|
style="font-weight: 500;">
|
|
|
- VIP
|
|
|
+ {{ trialVersion.vipName }}
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2"
|
|
|
+ style="font-weight: 500;">
|
|
|
+ {{ monthlyPayment.vipName }}
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2"
|
|
|
+ style="font-weight: 500;">
|
|
|
+ {{ annual.vipName }}
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-item flex align-center justify-between">
|
|
|
<div class="myVipCon-li-con-items" style="font-weight: 500;">
|
|
|
- 招聘刷新
|
|
|
+ 在线普通职位
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor1">
|
|
|
- {{noVipNumCom}}次/天
|
|
|
+ 1个
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
+ {{ trialVersion.vipPostTimes }}个
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
+ {{ monthlyPayment.vipPostTimes }}个
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
- {{vipNumCom}}次/天
|
|
|
+ {{ annual.vipPostTimes }}个
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-item flex align-center justify-between">
|
|
|
<div class="myVipCon-li-con-items" style="font-weight: 500;">
|
|
|
- 优先推荐
|
|
|
+ 在线急聘职位
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor1">
|
|
|
- <el-icon :size="iconSize">
|
|
|
- <Close />
|
|
|
- </el-icon>
|
|
|
+ 0个
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
- <el-icon :size="iconSize">
|
|
|
- <Check />
|
|
|
- </el-icon>
|
|
|
+ {{ trialVersion.vipDueTimes }}个
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
+ {{ monthlyPayment.vipDueTimes }}个
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
+ {{ annual.vipDueTimes }}个
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-item flex align-center justify-between">
|
|
|
<div class="myVipCon-li-con-items" style="font-weight: 500;">
|
|
|
- 专属客服
|
|
|
+ 每日查看总数
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor1">
|
|
|
- <el-icon :size="iconSize">
|
|
|
- <Close />
|
|
|
- </el-icon>
|
|
|
+ 5个
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
- <el-icon :size="iconSize">
|
|
|
- <Check />
|
|
|
- </el-icon>
|
|
|
+ {{ trialVersion.vipViewTimes }}个
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
+ {{ monthlyPayment.vipViewTimes }}个
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
+ {{ annual.vipViewTimes }}个
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-item flex align-center justify-between">
|
|
|
<div class="myVipCon-li-con-items" style="font-weight: 500;">
|
|
|
- 免费沟通
|
|
|
+ 每日沟通总数
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor1">
|
|
|
- {{msgNum}}次/天
|
|
|
+ 5个
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
- {{vipMsgNum}}次/天
|
|
|
+ {{ trialVersion.vipConTimes }}个
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
+ {{ monthlyPayment.vipConTimes }}个
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
+ {{ annual.vipConTimes }}个
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-item flex align-center justify-between">
|
|
|
<div class="myVipCon-li-con-items" style="font-weight: 500;">
|
|
|
- 沟通价格
|
|
|
+ 价格
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor1">
|
|
|
- {{msgPrice}}元/次
|
|
|
+ 免费
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
+ {{ trialVersion.money }}/年
|
|
|
+ </div>
|
|
|
+ <div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
+ {{ monthlyPayment.money }}/年
|
|
|
</div>
|
|
|
<div class="myVipCon-li-con-items myVipCon-li-con-itemscolor2">
|
|
|
- {{vipMsgPrice}}元/次
|
|
|
+ {{ annual.money }}/年
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-if="userType==1 && isVip==false" class="myVipCon-xy flex align-center">
|
|
|
+ <!-- <div v-if="userType==1 && isVip==false" class="myVipCon-xy flex align-center">
|
|
|
<el-checkbox v-model="checkVipXy" style="margin-right: 10px;" size="large" />
|
|
|
阅读并同意<span @click="openAgree()">《会员开通协议》</span>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
<div v-if="userType==2 && isCompanyVip==false" class="myVipCon-xy flex align-center">
|
|
|
<el-checkbox v-model="checkVipXy" style="margin-right: 10px;" size="large" />
|
|
|
阅读并同意<span @click="openAgree()">《会员开通协议》</span>
|
|
|
</div>
|
|
|
- <div v-if="userType==1 && isVip==false" class="myVipCon-btn flex align-center justify-between">
|
|
|
+ <!-- <div v-if="userType==1 && isVip==false" class="myVipCon-btn flex align-center justify-between">
|
|
|
<div class="myVipCon-btn-l flex align-center">
|
|
|
<span>{{vipPrice}}</span>元/月
|
|
|
</div>
|
|
|
<div @click="openVipMenber()" class="myVipCon-btn-r flex align-center justify-center">
|
|
|
立即开通
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
<div v-if="userType==2 && isCompanyVip==false"
|
|
|
class="myVipCon-btn flex align-center justify-between">
|
|
|
<div class="myVipCon-btn-l flex align-center">
|
|
|
- <span>{{vipPrice}}</span>元/月
|
|
|
+ <el-dropdown style="width: 100%;" :hide-after-click="false" @click.stop>
|
|
|
+ <span class="el-dropdown-link flex align-center justify-between" style="width: 100%; padding: 0 20px;">
|
|
|
+ <span style="color: #fff">{{ selectedPlan || '选择套餐' }}{{ vipPrice }}</span>
|
|
|
+ <el-icon class="el-icon--right">
|
|
|
+ <arrow-down />
|
|
|
+ </el-icon>
|
|
|
+ </span>
|
|
|
+ <template #dropdown>
|
|
|
+ <el-dropdown-menu>
|
|
|
+ <el-dropdown-item
|
|
|
+ v-for="(plan, index) in viplist"
|
|
|
+ :key="plan.id"
|
|
|
+ @click.stop="selectPlan(plan)">
|
|
|
+ {{ plan.vipName }}
|
|
|
+ <span style="margin-left: 10px;">
|
|
|
+ {{ plan.money }}元
|
|
|
+ </span>
|
|
|
+ </el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </template>
|
|
|
+ </el-dropdown>
|
|
|
</div>
|
|
|
- <div @click="openVipMenber()" class="myVipCon-btn-r flex align-center justify-center">
|
|
|
+ <div @click.stop="openVipMenber()" class="myVipCon-btn-r flex align-center justify-center">
|
|
|
立即开通
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </el-popover>-->
|
|
|
+ </el-popover>
|
|
|
+ <!-- &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&7 -->
|
|
|
<div class="headers-box-right-item flex" @click="goHome()">
|
|
|
首页
|
|
|
</div>
|
|
|
@@ -557,11 +606,11 @@
|
|
|
<div class="wallet-pay">
|
|
|
<div class="wallet-pay-se">
|
|
|
<el-radio-group @change="changeRadio" v-model="radio" class="ml-4">
|
|
|
- <el-radio :label="1" size="large" class="flex align-center">
|
|
|
+ <!-- <el-radio :label="1" size="large" class="flex align-center">
|
|
|
<img style="width: 30px;height: 30px;border-radius: 50%;margin-right: 10px;"
|
|
|
src="/images/money/weixin.png" alt="" />
|
|
|
微信支付
|
|
|
- </el-radio>
|
|
|
+ </el-radio> -->
|
|
|
<el-radio :label="2" size="large">
|
|
|
<img style="width: 30px;height: 30px;border-radius: 50%;margin-right: 10px;"
|
|
|
src="/images/money/zhifubao.png" alt="" />
|
|
|
@@ -577,7 +626,7 @@
|
|
|
<div v-if="radio == 2 && alPay" style="margin-top: 20px;margin-bottom: 10px;width: 100%;"
|
|
|
class="flex align-center justify-center">
|
|
|
<iframe :srcdoc="alPay" frameborder="no" border="0" marginwidth="0" marginheight="0"
|
|
|
- scrolling="no" width="160" height="160" style="overflow:hidden;"> </iframe>
|
|
|
+ scrolling="no" width="100%" height="200px" style="overflow:hidden;"> </iframe>
|
|
|
</div>
|
|
|
<div v-if="codeUrl || alPay" style="width: 100%;text-align: center;color: #999999;">
|
|
|
{{radio==1?'请使用微信扫码支付':'请使用支付宝扫码支付'}}
|
|
|
@@ -629,7 +678,7 @@
|
|
|
alPay: '',
|
|
|
orderId: '', //支付订单号
|
|
|
timer: null, //查询状态定时器
|
|
|
- radio: 1, //1:微信支付 2:支付宝支付
|
|
|
+ radio: 2, //1:微信支付 2:支付宝支付
|
|
|
size: 160, //二维码大小
|
|
|
qrColor: {
|
|
|
'background': '#ffffff'
|
|
|
@@ -666,6 +715,7 @@
|
|
|
vipTimeC: '', //企业会员到期时间
|
|
|
vipTime: '', //用户会员到期时间
|
|
|
vipPrice: '0', //会员价格
|
|
|
+ vipId:'',
|
|
|
checkVipXy: false,
|
|
|
vipNum: 0,
|
|
|
noVipNum: 0,
|
|
|
@@ -703,6 +753,22 @@
|
|
|
vipMsgNum: 0, //会员每天免费联系次数
|
|
|
msgPrice: 0, //非会员每次联系价格
|
|
|
vipMsgPrice: 0, //会员每次联系价格
|
|
|
+ // 会员权益
|
|
|
+ myPostTimes: 0,
|
|
|
+ vipDueTimes: 0,
|
|
|
+ vipConTimes: 0,
|
|
|
+ myViewTimes: 0,
|
|
|
+ vipViewTimes: 0,
|
|
|
+ myConTimes: 0,
|
|
|
+ vipPostTimes: 0,
|
|
|
+ myDueTimes: 0,
|
|
|
+ viplist: [],
|
|
|
+ selectedPlan: '',
|
|
|
+ trialVersion: [],
|
|
|
+ monthlyPayment: [],
|
|
|
+ annual: [],
|
|
|
+ remainingDays: 0, // 剩余天数
|
|
|
+ vipName: "",
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
@@ -744,10 +810,13 @@
|
|
|
}, 6000);
|
|
|
this.getVipPeople()
|
|
|
this.getNoVipPeople()
|
|
|
- this.getVipPrice()
|
|
|
+ // this.getVipPrice()
|
|
|
this.getVipCom()
|
|
|
this.getNoVipCom()
|
|
|
-
|
|
|
+ // 获取当前用户的vip数据
|
|
|
+ this.getUserInfoVipList();
|
|
|
+ this.selectVipDetails();
|
|
|
+ this.getVipdetile();
|
|
|
},
|
|
|
computed: {
|
|
|
userType() {
|
|
|
@@ -763,16 +832,115 @@
|
|
|
watch: {
|
|
|
//监听一下用户类型重新去获取开通会员的价格
|
|
|
userType() {
|
|
|
- this.getVipPrice()
|
|
|
+ // this.getVipPrice()
|
|
|
this.getgonggaoList()
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
|
- openVip(){
|
|
|
- ElMessage({
|
|
|
- message: '请前往首页扫码下载app去使用',
|
|
|
- type: 'warning',
|
|
|
- })
|
|
|
+ // openVip(){
|
|
|
+ // ElMessage({
|
|
|
+ // message: '请前往首页扫码下载app去使用',
|
|
|
+ // type: 'warning',
|
|
|
+ // })
|
|
|
+ // },
|
|
|
+ //获取vip个人信息
|
|
|
+ getUserInfoVipList() {
|
|
|
+ this.$Request.get("/app/user/vipData").then((res) => {
|
|
|
+ if (res.code == 0) {
|
|
|
+ this.myPostTimes = res.data.myPostTimes || 0
|
|
|
+ this.vipDueTimes = res.data.vipDueTimes || 0
|
|
|
+ this.vipConTimes = res.data.vipConTimes || 0
|
|
|
+ this.myViewTimes = res.data.myViewTimes || 0
|
|
|
+ this.vipViewTimes = res.data.vipViewTimes || 0
|
|
|
+ this.myConTimes = res.data.myConTimes || 0
|
|
|
+ this.vipPostTimes = res.data.vipPostTimes || 0
|
|
|
+ this.myDueTimes = res.data.myDueTimes || 0
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //vip 套餐
|
|
|
+ selectVipDetails() {
|
|
|
+ this.$Request.get("/app/VipDetails/selectVipDetails").then((res) => {
|
|
|
+ if (res.code == 0) {
|
|
|
+ this.viplist = res.data
|
|
|
+ if (res.data && res.data.length > 0) {
|
|
|
+ this.selectPlan(res.data[0]);
|
|
|
+ }
|
|
|
+ if (res.data) {
|
|
|
+ this.trialVersion = res.data[0];
|
|
|
+ this.monthlyPayment = res.data[1];
|
|
|
+ this.annual = res.data[2];
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ uni.showToast({
|
|
|
+ title: '暂无VIP套餐',
|
|
|
+ icon: 'none'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 获取会员到期天数
|
|
|
+ getVipdetile() {
|
|
|
+ this.$Request.get("/app/UserVip/selectUserVip").then((res) => {
|
|
|
+ if (res.code == 0) {
|
|
|
+ if (res.data) {
|
|
|
+ const endTimeStr = res.data.endTime; // 到期时间(格式:yyyy-MM-dd HH:mm:ss 或 yyyy-MM-dd)
|
|
|
+ const createTimeStr = res.data.createTime; // 创建时间(格式同上)
|
|
|
+
|
|
|
+ // 1. 时间字符串转时间戳(兼容不同格式)
|
|
|
+ const endTime = this.formatTimeToTimestamp(endTimeStr);
|
|
|
+ const createTime = this.formatTimeToTimestamp(createTimeStr);
|
|
|
+ const currentTime = new Date().getTime(); // 当前时间戳
|
|
|
+
|
|
|
+ // 2. 验证时间有效性
|
|
|
+ if (!endTime || !createTime) {
|
|
|
+ console.error("时间格式错误", { endTimeStr, createTimeStr });
|
|
|
+ this.remainingDays = 0;
|
|
|
+ // this.vipStatus = "已过期";
|
|
|
+
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (res.data.vipDetails) {
|
|
|
+ this.vipName = res.data.vipDetails.vipName
|
|
|
+ }
|
|
|
+ // 3. 计算剩余时间(毫秒):到期时间 - 当前时间
|
|
|
+ const remainingTime = endTime - currentTime;
|
|
|
+
|
|
|
+ // 4. 处理不同情况
|
|
|
+ if (remainingTime <= 0) {
|
|
|
+ // 已过期
|
|
|
+ this.remainingDays = 0;
|
|
|
+ // this.vipStatus = "已过期";
|
|
|
+ } else {
|
|
|
+ // 计算剩余天数(向上取整,不足1天按1天算)
|
|
|
+ const days = Math.ceil(remainingTime / (1000 * 60 * 60 * 24));
|
|
|
+ this.remainingDays = days;
|
|
|
+ // this.vipStatus = `剩余${days}天到期`;
|
|
|
+ // // 可选:如果需要显示总有效期(创建到到期的总天数)
|
|
|
+ // this.totalValidDays = Math.ceil((endTime - createTime) / (1000 * 60 * 60 * 24));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.remainingDays = 0;
|
|
|
+ this.vipStatus = "未开通VIP";
|
|
|
+ }
|
|
|
+ }).catch((err) => {
|
|
|
+ console.error("获取VIP详情失败", err);
|
|
|
+ this.remainingDays = 0;
|
|
|
+ this.vipStatus = "未开通VIP";
|
|
|
+ // uni.showToast({
|
|
|
+ // title: "获取VIP信息失败,请重试",
|
|
|
+ // icon: "none"
|
|
|
+ // });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ formatTimeToTimestamp(timeStr) {
|
|
|
+ if (!timeStr) return null;
|
|
|
+ const formattedTime = timeStr.replace(/-/g, "/");
|
|
|
+ const timestamp = new Date(formattedTime).getTime();
|
|
|
+ return isNaN(timestamp) ? null : timestamp;
|
|
|
},
|
|
|
//选择地址
|
|
|
handleSelect(item) {
|
|
|
@@ -874,7 +1042,7 @@
|
|
|
this.orderId = ''
|
|
|
},
|
|
|
closeVip() {
|
|
|
- this.radio = 1
|
|
|
+ this.radio = 2
|
|
|
this.cleanTimer()
|
|
|
this.codeUrl = ''
|
|
|
this.alPay = ''
|
|
|
@@ -932,39 +1100,39 @@
|
|
|
},
|
|
|
//会员支付
|
|
|
payMoney() {
|
|
|
- if (this.radio == 1) { //微信支付
|
|
|
- // 微信支付
|
|
|
- let data = {
|
|
|
- classify: 6,
|
|
|
- money: this.vipPrice,
|
|
|
- type: 2,
|
|
|
- }
|
|
|
- this.$Request.post('/app/wxPay/wxPayOrder', data).then(res => {
|
|
|
- if (res.code == 0) {
|
|
|
- if (res.data) {
|
|
|
- this.cleanTimer()
|
|
|
- this.codeUrl = res.data.param.code_url
|
|
|
- this.orderId = res.data.orderId
|
|
|
- this.timer = setInterval(() => {
|
|
|
- this.getPayStatus()
|
|
|
- }, 1000)
|
|
|
-
|
|
|
- }
|
|
|
- } else {
|
|
|
- this.cleanTimer()
|
|
|
- ElMessage({
|
|
|
- message: res.msg,
|
|
|
- type: 'error',
|
|
|
- duration: 1500,
|
|
|
- offset: this.screenHeight / 2
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- } else {
|
|
|
+ // if (this.radio == 1) { //微信支付
|
|
|
+ // // 微信支付
|
|
|
+ // let data = {
|
|
|
+ // classify: 6,
|
|
|
+ // money: this.vipPrice,
|
|
|
+ // type: 2,
|
|
|
+ // }
|
|
|
+ // this.$Request.post('/app/wxPay/wxPayOrder', data).then(res => {
|
|
|
+ // if (res.code == 0) {
|
|
|
+ // if (res.data) {
|
|
|
+ // this.cleanTimer()
|
|
|
+ // this.codeUrl = res.data.param.code_url
|
|
|
+ // this.orderId = res.data.orderId
|
|
|
+ // this.timer = setInterval(() => {
|
|
|
+ // this.getPayStatus()
|
|
|
+ // }, 1000)
|
|
|
+
|
|
|
+ // }
|
|
|
+ // } else {
|
|
|
+ // this.cleanTimer()
|
|
|
+ // ElMessage({
|
|
|
+ // message: res.msg,
|
|
|
+ // type: 'error',
|
|
|
+ // duration: 1500,
|
|
|
+ // offset: this.screenHeight / 2
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // } else {
|
|
|
let data = {
|
|
|
classify: 7,
|
|
|
- money: this.vipPrice,
|
|
|
- type: 2,
|
|
|
+ // money: 0.1,
|
|
|
+ type: this.vipId,
|
|
|
}
|
|
|
this.$Request.post('/app/aliPay/payMoneyOrder', data).then(
|
|
|
res => {
|
|
|
@@ -987,7 +1155,7 @@
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
- }
|
|
|
+ // }
|
|
|
|
|
|
},
|
|
|
//去企业中心
|
|
|
@@ -1307,21 +1475,12 @@
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- //获取会员开通价格
|
|
|
- getVipPrice() {
|
|
|
- if (this.userType == 1) { //用户会员价格
|
|
|
- this.$Request.get('/app/common/type/331').then(res => {
|
|
|
- if (res.code == 0) {
|
|
|
- this.vipPrice = res.data.value
|
|
|
- }
|
|
|
- })
|
|
|
- } else { //企业会员价格
|
|
|
- this.$Request.get('/app/common/type/332').then(res => {
|
|
|
- if (res.code == 0) {
|
|
|
- this.vipPrice = res.data.value
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
+ // 选择套餐
|
|
|
+ selectPlan(plan) {
|
|
|
+ this.vipId = plan.id;
|
|
|
+ this.selectedPlan = plan.vipName;
|
|
|
+ // 更新会员价格
|
|
|
+ this.vipPrice = plan.money;
|
|
|
},
|
|
|
//会员简历刷新次数
|
|
|
getVipPeople() {
|
|
|
@@ -1356,11 +1515,11 @@
|
|
|
},
|
|
|
//去消息页面
|
|
|
goMessage() {
|
|
|
- ElMessage({
|
|
|
- message: '请前往首页扫码下载app去使用',
|
|
|
- type: 'warning',
|
|
|
- })
|
|
|
- return;
|
|
|
+ // ElMessage({
|
|
|
+ // message: '请前往首页扫码下载app去使用',
|
|
|
+ // type: 'warning',
|
|
|
+ // })
|
|
|
+ // return;
|
|
|
if (localStorage.getItem('token')) {
|
|
|
this.$router.push({
|
|
|
name: 'message'
|
|
|
@@ -1500,7 +1659,7 @@
|
|
|
} else {
|
|
|
this.$store.commit('SET_USER_TYPE', 2);
|
|
|
localStorage.setItem('userType', 2)
|
|
|
- if (res.data.isCompanyVip == 1) { //判断企业用户是否是vip
|
|
|
+ if (res.data.isCompanyVip + "" == "1") { //判断企业用户是否是vip
|
|
|
this.isCompanyVip = true
|
|
|
this.vipTimeC = res.data.companyMonthTime
|
|
|
this.$store.commit('SET_IS_COMPANY_VIP', true);
|