|
@@ -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 = {
|
|
@@ -85,10 +103,21 @@ 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) {
|
|
|
+ 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 +135,11 @@ 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.recomUserId = this.recomUserId
|
|
|
orderStatus.orderObject.orderNo = ''
|
|
|
orderStatus.orderObject.orderList = [
|
|
|
{
|
|
@@ -122,7 +150,7 @@ export default defineComponent({
|
|
|
price: member.salePrice,
|
|
|
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 +220,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 +248,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>
|
|
|
|
|
@@ -288,6 +304,11 @@ export default defineComponent({
|
|
|
)}
|
|
|
</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%)"
|