|  | @@ -5,6 +5,9 @@ import styles from './index.module.less'
 | 
	
		
			
				|  |  |  import request from '@/helpers/request'
 | 
	
		
			
				|  |  |  import { state } from '@/state'
 | 
	
		
			
				|  |  |  import iconStudent from '@common/images/icon_student.png'
 | 
	
		
			
				|  |  | +import iconTeacher from '@common/images/icon_teacher.png'
 | 
	
		
			
				|  |  | +import iconGift from './images/icon_gift.png'
 | 
	
		
			
				|  |  | +import iconDiscount from './images/icon_discount.png'
 | 
	
		
			
				|  |  |  import { orderStatus } from '@/views/order-detail/orderStatus'
 | 
	
		
			
				|  |  |  import dayjs from 'dayjs'
 | 
	
		
			
				|  |  |  import { memberType } from '@/constant'
 | 
	
	
		
			
				|  | @@ -19,7 +22,10 @@ export const getAssetsHomeFile = (fileName: string) => {
 | 
	
		
			
				|  |  |  export default defineComponent({
 | 
	
		
			
				|  |  |    name: 'MemberCenter',
 | 
	
		
			
				|  |  |    data() {
 | 
	
		
			
				|  |  | +    const query = this.$route.query
 | 
	
		
			
				|  |  |      return {
 | 
	
		
			
				|  |  | +      activityId: query.activityId,
 | 
	
		
			
				|  |  | +      recomUserId: query.recomUserId,
 | 
	
		
			
				|  |  |        apiSuffix:
 | 
	
		
			
				|  |  |          state.platformType === 'STUDENT' ? '/api-student' : '/api-teacher',
 | 
	
		
			
				|  |  |        agreeStatus: false,
 | 
	
	
		
			
				|  | @@ -29,6 +35,11 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        params: {
 | 
	
		
			
				|  |  |          page: 1,
 | 
	
		
			
				|  |  |          rows: 20
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      discountTeacher: {
 | 
	
		
			
				|  |  | +        avatar: '',
 | 
	
		
			
				|  |  | +        discount: 0,
 | 
	
		
			
				|  |  | +        username: ''
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
	
		
			
				|  | @@ -61,10 +72,17 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        const setting = await request.post(
 | 
	
		
			
				|  |  |          `${this.apiSuffix}/memberPriceSettings/list`,
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -          data: {}
 | 
	
		
			
				|  |  | +          data: {
 | 
	
		
			
				|  |  | +            activityId: Number(this.activityId),
 | 
	
		
			
				|  |  | +            userId: this.recomUserId
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        )
 | 
	
		
			
				|  |  | -      const settingResult = setting.data || []
 | 
	
		
			
				|  |  | +      const { list, ...more } = setting.data
 | 
	
		
			
				|  |  | +      this.discountTeacher = {
 | 
	
		
			
				|  |  | +        ...more
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      const settingResult = list || []
 | 
	
		
			
				|  |  |        const settingList: any = []
 | 
	
		
			
				|  |  |        settingResult.forEach((item: any) => {
 | 
	
		
			
				|  |  |          const tempItem = {
 | 
	
	
		
			
				|  | @@ -73,6 +91,8 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            originalPrice: item.originalPrice,
 | 
	
		
			
				|  |  |            period: item.period,
 | 
	
		
			
				|  |  |            id: item.id,
 | 
	
		
			
				|  |  | +          discount: item.discount,
 | 
	
		
			
				|  |  | +          discountPrice: item.discountPrice,
 | 
	
		
			
				|  |  |            status: false
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -85,10 +105,22 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          settingList[0].status = true
 | 
	
		
			
				|  |  |          this.selectMember = settingList[0]
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | +      console.log(settingList)
 | 
	
		
			
				|  |  |        this.memberList = settingList
 | 
	
		
			
				|  |  |      } catch {}
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  | +    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
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      onSubmit() {
 | 
	
		
			
				|  |  |        const member: any = this.selectMember
 | 
	
		
			
				|  |  |        // 判断是否有会员
 | 
	
	
		
			
				|  | @@ -106,12 +138,12 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          endTime = dayjs(startTime).add(1, 'year').toDate()
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      const query = this.$route.query
 | 
	
		
			
				|  |  |        orderStatus.orderObject.orderType = 'VIP'
 | 
	
		
			
				|  |  |        orderStatus.orderObject.orderName = '小酷Ai' + member.title
 | 
	
		
			
				|  |  |        orderStatus.orderObject.orderDesc = '小酷Ai' + member.title
 | 
	
		
			
				|  |  | -      orderStatus.orderObject.actualPrice = member.salePrice
 | 
	
		
			
				|  |  | -      orderStatus.orderObject.recomUserId = query.recomUserId
 | 
	
		
			
				|  |  | +      orderStatus.orderObject.actualPrice = this.calcSalePrice(member)
 | 
	
		
			
				|  |  | +      orderStatus.orderObject.recomUserId = this.recomUserId
 | 
	
		
			
				|  |  | +      orderStatus.orderObject.activityId = this.activityId
 | 
	
		
			
				|  |  |        orderStatus.orderObject.orderNo = ''
 | 
	
		
			
				|  |  |        orderStatus.orderObject.orderList = [
 | 
	
		
			
				|  |  |          {
 | 
	
	
		
			
				|  | @@ -119,10 +151,10 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            goodsName: '小酷Ai' + member.title,
 | 
	
		
			
				|  |  |            id: member.id,
 | 
	
		
			
				|  |  |            title: member.title,
 | 
	
		
			
				|  |  | -          price: member.salePrice,
 | 
	
		
			
				|  |  | +          price: this.calcSalePrice(member),
 | 
	
		
			
				|  |  |            startTime: dayjs(startTime).format('YYYY-MM-DD'),
 | 
	
		
			
				|  |  |            endTime: dayjs(endTime).format('YYYY-MM-DD'),
 | 
	
		
			
				|  |  | -          recomUserId: query.recomUserId
 | 
	
		
			
				|  |  | +          recomUserId: this.recomUserId
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        ]
 | 
	
		
			
				|  |  |        this.$router.push({
 | 
	
	
		
			
				|  | @@ -192,6 +224,22 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                会员<span>VIP</span>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            {/* 判断是否有推荐老师 */}
 | 
	
		
			
				|  |  | +            {this.discountTeacher.discount == 1 && (
 | 
	
		
			
				|  |  | +              <div class={styles.memberDiscount}>
 | 
	
		
			
				|  |  | +                <Image
 | 
	
		
			
				|  |  | +                  src={this.discountTeacher.avatar || iconTeacher}
 | 
	
		
			
				|  |  | +                  class={styles.discountAvatar}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                <span class={styles.discountName}>
 | 
	
		
			
				|  |  | +                  {this.discountTeacher.username}老师的专属优惠~
 | 
	
		
			
				|  |  | +                </span>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                <Image src={iconGift} class={styles.discountGift} />
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            )}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              <div class={styles['system-list']}>
 | 
	
		
			
				|  |  |                {this.memberList.map((item: any) => (
 | 
	
		
			
				|  |  |                  <div
 | 
	
	
		
			
				|  | @@ -204,47 +252,19 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                      this.selectMember = item
 | 
	
		
			
				|  |  |                    }}
 | 
	
		
			
				|  |  |                  >
 | 
	
		
			
				|  |  | +                  <div class={styles.discountItem}>
 | 
	
		
			
				|  |  | +                    {item.discount == 1 && <img src={iconDiscount} />}
 | 
	
		
			
				|  |  | +                  </div>
 | 
	
		
			
				|  |  |                    <p class={styles.title}>{item.title}</p>
 | 
	
		
			
				|  |  |                    <p class={styles.price}>
 | 
	
		
			
				|  |  |                      <span>¥</span>
 | 
	
		
			
				|  |  | -                    {moneyFormat(item.salePrice, '0,0[.]00')}
 | 
	
		
			
				|  |  | +                    {moneyFormat(this.calcSalePrice(item), '0,0[.]00')}
 | 
	
		
			
				|  |  |                    </p>
 | 
	
		
			
				|  |  |                    <del class={styles.originalPrice}>
 | 
	
		
			
				|  |  |                      ¥{moneyFormat(item.originalPrice, '0,0[.]00')}
 | 
	
		
			
				|  |  |                    </del>
 | 
	
		
			
				|  |  |                  </div>
 | 
	
		
			
				|  |  |                ))}
 | 
	
		
			
				|  |  | -              {/* <div class={[styles['system-item'], styles.active]}>
 | 
	
		
			
				|  |  | -                <p class={styles.title}>月度会员</p>
 | 
	
		
			
				|  |  | -                <p class={styles.price}>
 | 
	
		
			
				|  |  | -                  <span>¥</span>199
 | 
	
		
			
				|  |  | -                </p>
 | 
	
		
			
				|  |  | -                <del class={styles.originalPrice}>¥199</del>
 | 
	
		
			
				|  |  | -              </div>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -              <div class={styles['system-item']}>
 | 
	
		
			
				|  |  | -                <p class={styles.title}>月度会员</p>
 | 
	
		
			
				|  |  | -                <p class={styles.price}>
 | 
	
		
			
				|  |  | -                  <span>¥</span>199
 | 
	
		
			
				|  |  | -                </p>
 | 
	
		
			
				|  |  | -                <del class={styles.originalPrice}>¥199</del>
 | 
	
		
			
				|  |  | -              </div>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -              <div class={styles['system-item']}>
 | 
	
		
			
				|  |  | -                <p class={styles.title}>月度会员</p>
 | 
	
		
			
				|  |  | -                <p class={styles.price}>
 | 
	
		
			
				|  |  | -                  <span>¥</span>199
 | 
	
		
			
				|  |  | -                </p>
 | 
	
		
			
				|  |  | -                <del class={styles.originalPrice}>¥199</del>
 | 
	
		
			
				|  |  | -              </div>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -              <div class={styles['system-item']}>
 | 
	
		
			
				|  |  | -                <p class={styles.title}>月度会员</p>
 | 
	
		
			
				|  |  | -                <p class={styles.price}>
 | 
	
		
			
				|  |  | -                  <span>¥</span>199
 | 
	
		
			
				|  |  | -                </p>
 | 
	
		
			
				|  |  | -                <del class={styles.originalPrice}>¥199</del>
 | 
	
		
			
				|  |  | -              </div> */}
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -284,10 +304,15 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                <span class={styles.priceUnit}>¥</span>
 | 
	
		
			
				|  |  |                <span class={styles.priceNum}>
 | 
	
		
			
				|  |  |                  {(this as any).$filters.moneyFormat(
 | 
	
		
			
				|  |  | -                  this.selectMember?.salePrice || 0
 | 
	
		
			
				|  |  | +                  this.calcSalePrice(this.selectMember) || 0
 | 
	
		
			
				|  |  |                  )}
 | 
	
		
			
				|  |  |                </span>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  | +            {this.selectMember?.discount == 1 && (
 | 
	
		
			
				|  |  | +              <div class={[styles.discountItem, styles.discountBuy]}>
 | 
	
		
			
				|  |  | +                <img src={iconDiscount} />
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            )}
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |            <Button
 | 
	
		
			
				|  |  |              color="linear-gradient(220deg, #DFA164 0%, #FAC87E 100%)"
 |