完善功能
This commit is contained in:
@ -103,7 +103,7 @@
|
||||
<text class="modal-title">温馨提示</text>
|
||||
<view class="close-icon" @click="closeInfoModal">×</view>
|
||||
</view>
|
||||
<view class="modal-desc">检测到您未填写相关信息,为不影响使用请尽快完善</view>
|
||||
<view class="modal-desc">{{ infoModalDesc }}</view>
|
||||
<view class="modal-btn" @click="goToFillInfo">立即去完善</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -115,7 +115,7 @@
|
||||
<view class="buy-modal-title">会员购买</view>
|
||||
|
||||
<view class="plan-list">
|
||||
<view class="plan-item" :class="{ active: selectedPlan === 1 }" @click="selectPlan(1)">
|
||||
<view class="plan-item" v-if="info.month_price && info.month_price > 0" :class="{ active: selectedPlan === 1 }" @click="selectPlan(1)">
|
||||
<view class="plan-name">月卡</view>
|
||||
<view class="plan-price">
|
||||
<text style="font-size: 24rpx; margin-right: 4rpx;">¥</text>
|
||||
@ -124,7 +124,7 @@
|
||||
<view class="plan-desc" v-if="info.m_price && info.m_price > 0">指导价{{ info.m_price }}元/月</view>
|
||||
<view class="check-mark"></view>
|
||||
</view>
|
||||
<view class="plan-item" :class="{ active: selectedPlan === 2 }" @click="selectPlan(2)">
|
||||
<view class="plan-item" v-if="info.seasonal_price && info.seasonal_price > 0" :class="{ active: selectedPlan === 2 }" @click="selectPlan(2)">
|
||||
<view class="plan-name">季卡</view>
|
||||
<view class="plan-price">
|
||||
<text style="font-size: 24rpx; margin-right: 4rpx;">¥</text>
|
||||
@ -135,13 +135,25 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="buy-modal-tips" v-if="!isRenewal">
|
||||
开通成功之后,需要录入人脸信息
|
||||
<view class="buy-modal-tips" v-if="!isRenewal" @click="openNoticeModal">
|
||||
<text style="font-weight: bold; font-size: 32rpx; margin-right: 4rpx;">·</text>查看注意事项
|
||||
</view>
|
||||
<view class="buy-modal-btn" @click="confirmBuy">{{ isRenewal ? '立即续费' : '立即开通' }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 注意事项弹窗 -->
|
||||
<view class="buy-modal-container" v-if="showNoticeModal">
|
||||
<view class="buy-modal-mask" @click="closeNoticeModal"></view>
|
||||
<view class="buy-modal-content" style="height: 500rpx; display: flex; flex-direction: column;">
|
||||
<view class="buy-modal-title" style="margin-bottom: 30rpx; position: relative;">
|
||||
注意事项
|
||||
<view style="position: absolute; right: 0; top: 0; font-size: 40rpx; color: #999; padding: 0 10rpx;" @click="closeNoticeModal">×</view>
|
||||
</view>
|
||||
<view class="buy-modal-btn" @click="closeNoticeModal">我知道了</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 购买成功弹窗 -->
|
||||
<view class="success-modal-container" v-if="showSuccessModal">
|
||||
<view class="success-modal-mask" @click="closeSuccessModal"></view>
|
||||
@ -167,8 +179,10 @@ export default {
|
||||
navHeight: 44,
|
||||
comboType: 'adult', // 套餐类型:adult(成人卡) youth(青年卡) family(亲子卡)
|
||||
showInfoModal: false, // 完善信息提示弹窗
|
||||
infoModalDesc: '检测到您未填写相关信息,为不影响使用请尽快完善', // 完善信息提示文案
|
||||
showBuyModal: false, // 会员购买弹窗
|
||||
showSuccessModal: false, // 购买成功弹窗
|
||||
showNoticeModal: false, // 注意事项弹窗
|
||||
selectedPlan: 1, // 选择的套餐 1-月卡 2-季卡
|
||||
info: {
|
||||
order: {
|
||||
@ -215,6 +229,7 @@ export default {
|
||||
() => {
|
||||
}
|
||||
);
|
||||
|
||||
},
|
||||
|
||||
handleGetDetails() {
|
||||
@ -224,6 +239,11 @@ export default {
|
||||
{ id: self.id },
|
||||
result => {
|
||||
self.info = result.data;
|
||||
if (self.info.month_price && self.info.month_price > 0) {
|
||||
self.selectedPlan = 1;
|
||||
} else if (self.info.seasonal_price && self.info.seasonal_price > 0) {
|
||||
self.selectedPlan = 2;
|
||||
}
|
||||
console.log("🚀 ~ self.info:", self.info)
|
||||
},
|
||||
false,
|
||||
@ -243,27 +263,37 @@ export default {
|
||||
|
||||
if (!self.result) {
|
||||
// 没有填写过信息,弹出完善信息提示弹窗
|
||||
self.infoModalDesc = '检测到您未填写相关信息,为不影响使用请尽快完善';
|
||||
self.showInfoModal = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
const birthDate = new Date(self.result.both);
|
||||
const today = new Date();
|
||||
let age = today.getFullYear() - birthDate.getFullYear();
|
||||
const m = today.getMonth() - birthDate.getMonth();
|
||||
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
|
||||
age--;
|
||||
const getAge = (dateStr) => {
|
||||
if (!dateStr) return 0;
|
||||
const birthDate = new Date(dateStr);
|
||||
const today = new Date();
|
||||
let age = today.getFullYear() - birthDate.getFullYear();
|
||||
const m = today.getMonth() - birthDate.getMonth();
|
||||
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
|
||||
age--;
|
||||
}
|
||||
return age;
|
||||
};
|
||||
|
||||
let isAgeInvalid = false;
|
||||
if (self.result && self.result.group_id == 1) {
|
||||
if (getAge(self.result.both) >= 18) isAgeInvalid = true;
|
||||
} else if (self.result && self.result.group_id == 3) {
|
||||
if (self.result.child && self.result.child[0] && getAge(self.result.child[0].both) >= 18) isAgeInvalid = true;
|
||||
} else if (self.result && self.result.group_id == 4) {
|
||||
if (self.result.child && self.result.child[0] && getAge(self.result.child[0].both) >= 18) isAgeInvalid = true;
|
||||
if (self.result.child && self.result.child[1] && getAge(self.result.child[1].both) >= 18) isAgeInvalid = true;
|
||||
}
|
||||
|
||||
if (self.result && self.result.group_id == 1 && age >= 18) {
|
||||
// 没有填写过信息,弹出完善信息提示弹窗
|
||||
self.showInfoModal = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (self.result && (self.result.group_id == 3 || self.result.group_id == 4) && age >= 18) {
|
||||
// 没有填写过信息,弹出完善信息提示弹窗
|
||||
if (isAgeInvalid) {
|
||||
// 没有填写过信息或者由于年龄不合规,弹出完善信息提示弹窗
|
||||
self.showInfoModal = true;
|
||||
self.infoModalDesc = '所填信息年龄已满18周岁,需要重新填写信息';
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -280,13 +310,15 @@ export default {
|
||||
}, 100);
|
||||
// 没有填写过信息,弹出完善信息提示弹窗
|
||||
self.showInfoModal = true;
|
||||
self.infoModalDesc = '检测到您未填写相关信息,为不影响使用请尽快完善';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if (self.result.status == 1) {
|
||||
// 已经审核通过,弹出开通会员弹窗
|
||||
self.showBuyModal = true;
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
},
|
||||
closeInfoModal() {
|
||||
@ -347,7 +379,7 @@ export default {
|
||||
setTimeout(() => {
|
||||
self.handleGetDetails();
|
||||
self.showSuccessModal = true;
|
||||
}, 1000);
|
||||
}, 200);
|
||||
},
|
||||
fail: res => {
|
||||
setTimeout(() => {
|
||||
@ -383,6 +415,17 @@ export default {
|
||||
});
|
||||
},
|
||||
|
||||
openNoticeModal() {
|
||||
uni.navigateTo({
|
||||
url: '/bundle/combo/desc'
|
||||
});
|
||||
// this.showNoticeModal = true;
|
||||
},
|
||||
|
||||
closeNoticeModal() {
|
||||
this.showNoticeModal = false;
|
||||
},
|
||||
|
||||
hanldeTakePhoto() {
|
||||
if (this.result.status == 0) {
|
||||
setTimeout(() => {
|
||||
@ -782,7 +825,8 @@ page {
|
||||
|
||||
.plan-list {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
justify-content: center;
|
||||
gap: 4%;
|
||||
margin-bottom: 40rpx;
|
||||
|
||||
.plan-item {
|
||||
|
||||
Reference in New Issue
Block a user