import { Button, Cell, Icon, Image, showConfirmDialog } from 'vant'; import { defineComponent } from 'vue'; import styles from './index.module.less'; import request from '@/helpers/request'; import iconStudent from '@common/images/icon-student.png'; import iconMemberLogo from './images/member_logo.png'; import iconGift from '../student-register/images/icon-gift.png'; import { moneyFormat } from '@/helpers/utils'; import OHeader from '@/components/m-header'; import member1 from './images/member-1.png'; import member2 from './images/member-2.png'; import ODialog from '@/components/m-dialog'; import { useEventListener, useWindowScroll } from '@vueuse/core'; import dayjs from 'dayjs'; export default defineComponent({ name: 'MemberCenter', data() { return { functionList: [] as any, selectMember: {} as any, users: {} as any, memberStatus: false, background: 'transparent', color: '#fff', showTips: false, showMessage: '' }; }, computed: { userInfo() { const users: any = this.users; return { username: users?.nickname || '', phone: users?.phone || '', avatar: users?.avatar, id: users?.id, isVip: users?.vipMember, membershipGiftDays: users?.membershipGiftDays, membershipDays: users?.membershipDays, membershipEndTime: dayjs(users?.membershipEndTime).format('YYYY-MM-DD') }; } }, async mounted() { useEventListener(document, 'scroll', () => { const { y } = useWindowScroll(); if (y.value > 15) { this.background = '#fff'; this.color = '#323333'; } else { this.background = 'transparent'; this.color = '#fff'; } }); // this.__init(); }, methods: { async __init() { try { const userInfo = await request.get('/edu-app/student/member'); this.users = userInfo.data || {}; const { data } = await request.post(`/edu-app/cityFeeSetting/member`); this.selectMember = data; this.paymentOrderUnpaid(); } catch { // } }, // 查询未支付订单 async paymentOrderUnpaid() { try { const { data } = await request.get('/edu-app/userPaymentOrder/unpaid', { requestType: 'form', params: { paymentType: 'VIP' } }); // 判断是否有待支付订单 if (data.id) { showConfirmDialog({ message: '您有待支付的订单,是否继续支付', cancelButtonText: '取消订单', confirmButtonText: '继续支付' }) .then(() => { const paymentConfig = data.paymentConfig; this.$router.push({ path: '/order-detail', query: { config: JSON.stringify(paymentConfig.paymentConfig), orderNo: paymentConfig.orderNo } }); }) .catch(async () => { try { await request.post( '/edu-app/userPaymentOrder/cancelPayment/' + data.orderNo ); } catch { // } }); } } catch { // } }, calcSalePrice(item: any) { // discount if (item.discount === 1) { const tempPrice = Number( (item.salePrice - item.discountPrice).toFixed(2) ); return tempPrice >= 0 ? tempPrice : 0; } return item.salePrice; }, // 购买 async onSubmit() { try { const selectMember = this.selectMember; const params: any = [ { giftVipDay: this.users.membershipGiftDays, goodsId: selectMember.id, goodsNum: 1, goodsType: 'VIP', paymentCashAmount: selectMember.salePrice, // 现金支付金额 paymentCouponAmount: 0 // 优惠券金额 } ]; // 支付参数 // 创建订单 const result = await request.post( '/edu-app/userPaymentOrder/executeOrder', { data: { orderType: 'VIP', paymentCashAmount: this.selectMember.salePrice || 0, paymentCouponAmount: 0, goodsInfos: params, orderName: '乐器AI学练工具', orderDesc: '乐器AI学练工具' } } ); if (result.code === 5435) { this.showTips = true; this.showMessage = result.message; return; } const data = result.data; const res = await request.get( '/edu-app/userPaymentOrder/detail/' + data.orderNo ); if (res.data.status !== 'WAIT_PAY' && res.data.status !== 'PAYING') { this.$router.push({ path: '/payment-result', query: { orderNo: data.orderNo } }); } else { this.$router.push({ path: '/order-detail', query: { config: JSON.stringify({ ...data.paymentConfig, paymentType: data.paymentType }), orderNo: data.orderNo } }); } } catch (e: any) { // console.log(e); } } }, render() { return (
(
), title: () => (
{this.userInfo.username} {!!this.userInfo.isVip && ( )} {this.userInfo.phone && ( )}
), label: () => (
<> {this.userInfo.isVip ? (
{/* 使用有效期剩余 {this.userInfo.membershipDays} 天 */} 有效期至 {this.userInfo.membershipEndTime}
) : (
您还未领取器乐学练工具哟
)}
) }}>
0 ? styles.memberGift : '' ]}>

乐器AI学练工具 12个月

{moneyFormat(this.selectMember.salePrice)}

{this.selectMember.salePrice < this.selectMember.originalPrice && ( ¥{moneyFormat(this.selectMember.originalPrice)} )}
{this.users.membershipGiftDays > 0 && ( {{ title: () => (
现在领取赠送{' '} {this.users.membershipGiftDays || 0} 天有效期
) }}
)}
{moneyFormat(this.calcSalePrice(this.selectMember) || 0)}
{this.selectMember.originalPrice > this.calcSalePrice(this.selectMember) || 0 ? ( ¥ {moneyFormat(this.selectMember.originalPrice)} ) : ( '' )}
{this.userInfo.id ? ( ) : ( '' )}
{ // window.location.reload(); window.scrollTo({ top: 0, behavior: 'smooth' }); this.__init(); }} />
); } });