|
@@ -17,7 +17,7 @@ import iconTips from '@common/images/icon_tips.png'
|
|
|
import Payment from './payment'
|
|
|
import ColHeader from '@/components/col-header'
|
|
|
import { state } from '@/state'
|
|
|
-import { orderInfos, orderStatus } from './orderStatus'
|
|
|
+import { orderInfos, orderStatus, resestState } from './orderStatus'
|
|
|
import OrderVideo from './order-video'
|
|
|
import OrderLive from './order-live'
|
|
|
import OrderPractice from './order-practice'
|
|
@@ -27,6 +27,7 @@ import { moneyFormat } from '@/helpers/utils'
|
|
|
import OrderPinao from './order-pinao'
|
|
|
import { getMusicDetail } from '@/student/trade/tradeOrder'
|
|
|
import OrderActive from './order-active'
|
|
|
+import UseCoupon from './use-coupons'
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'order-detail',
|
|
@@ -41,7 +42,8 @@ export default defineComponent({
|
|
|
agreeStatus: false,
|
|
|
popupShow: false,
|
|
|
paymentStatus: false,
|
|
|
- orderPrice: 0 // 支付金额
|
|
|
+ orderAmount: 0, // 订单金额,用于使用优惠券,余额,优惠等
|
|
|
+ orderPrice: 0 // 支付金额,最后支付金额
|
|
|
}
|
|
|
},
|
|
|
unmounted() {
|
|
@@ -58,63 +60,6 @@ export default defineComponent({
|
|
|
const orderObject = orderStatus.orderObject
|
|
|
return orderObject.orderList || []
|
|
|
}
|
|
|
- // orderInfos() {
|
|
|
- // // 商品列表
|
|
|
- // const orderList = orderStatus.orderObject.orderList || []
|
|
|
- // return orderList.map((item: any) => {
|
|
|
- // const params = {
|
|
|
- // goodType: item.orderType,
|
|
|
- // goodName: item.goodsName,
|
|
|
- // recomUserId: item.recomUserId, // 推荐人id
|
|
|
- // bizContent: {}
|
|
|
- // }
|
|
|
- // if (item.orderType === 'VIDEO') {
|
|
|
- // params.bizContent = {
|
|
|
- // videoLessonGroupId: item.courseGroupId,
|
|
|
- // payMoney: item.coursePrice || 0
|
|
|
- // }
|
|
|
- // } else if (item.orderType === 'LIVE') {
|
|
|
- // params.bizContent = {
|
|
|
- // groupId: item.courseGroupId
|
|
|
- // }
|
|
|
- // } else if (item.orderType === 'PRACTICE') {
|
|
|
- // const tempTime = item.classTime || []
|
|
|
- // const classCourse: any = []
|
|
|
- // tempTime.forEach((time: any) => {
|
|
|
- // classCourse.push({
|
|
|
- // classDate: time.classDate,
|
|
|
- // startTime: time.startTime,
|
|
|
- // endTime: time.endTime
|
|
|
- // })
|
|
|
- // })
|
|
|
- // params.bizContent = {
|
|
|
- // courseGroupName: item.courseGroupName,
|
|
|
- // courseIntroduce: item.courseIntroduce,
|
|
|
- // subjectId: item.subjectId,
|
|
|
- // singleCourseMinutes: item.singleCourseMinutes,
|
|
|
- // courseNum: item.courseNum,
|
|
|
- // coursePrice: item.coursePrice,
|
|
|
- // teacherId: item.teacherId,
|
|
|
- // classTime: classCourse
|
|
|
- // }
|
|
|
- // } else if (item.orderType === 'VIP') {
|
|
|
- // params.bizContent = item.id
|
|
|
- // } else if (item.orderType === 'MUSIC') {
|
|
|
- // params.bizContent = {
|
|
|
- // musicSheetId: item.id,
|
|
|
- // actualPrice: item.actualPrice || 0,
|
|
|
- // clientType: state.platformType
|
|
|
- // }
|
|
|
- // } else if (item.orderType === 'PINAO_ROOM') {
|
|
|
- // params.bizContent = item.id
|
|
|
- // } else if (item.orderType === 'ACTI_REGIST') {
|
|
|
- // params.bizContent = {
|
|
|
- // activityId: item.activityId
|
|
|
- // }
|
|
|
- // }
|
|
|
- // return params
|
|
|
- // })
|
|
|
- // }
|
|
|
},
|
|
|
async mounted() {
|
|
|
// 判断是否是曲目购买(只有智能陪练才会有入口),其它地方不会有入口
|
|
@@ -147,6 +92,7 @@ export default defineComponent({
|
|
|
//
|
|
|
}
|
|
|
}
|
|
|
+ this.orderAmount = orderStatus.orderObject.actualPrice || 0
|
|
|
this.orderPrice = orderStatus.orderObject.actualPrice || 0
|
|
|
|
|
|
// 0元支付特别处理
|
|
@@ -230,16 +176,17 @@ export default defineComponent({
|
|
|
},
|
|
|
onBackOut() {
|
|
|
// 关闭订单后需要重置数据
|
|
|
- orderStatus.orderObject = {
|
|
|
- orderNo: '',
|
|
|
- actualPrice: 0,
|
|
|
- orderName: '',
|
|
|
- orderDesc: '',
|
|
|
- orderType: '',
|
|
|
- recomUserId: null as any,
|
|
|
- activityId: '',
|
|
|
- orderList: []
|
|
|
- }
|
|
|
+ resestState()
|
|
|
+ },
|
|
|
+ onCouponSelect(item: any) {
|
|
|
+ console.log('onCouponSelect', item)
|
|
|
+ const discountCount = item.map((list: any) => {
|
|
|
+ return Number(list.discountPrice || 0)
|
|
|
+ })
|
|
|
+ const lastAmount = Number(
|
|
|
+ (Number(this.orderAmount) - Number(discountCount)).toFixed(2)
|
|
|
+ )
|
|
|
+ this.orderPrice = lastAmount >= 0 ? lastAmount : 0
|
|
|
}
|
|
|
},
|
|
|
render() {
|
|
@@ -267,6 +214,13 @@ export default defineComponent({
|
|
|
}
|
|
|
})}
|
|
|
|
|
|
+ {/* 优惠券使用 */}
|
|
|
+ <UseCoupon
|
|
|
+ orderAmount={this.orderAmount}
|
|
|
+ onCouponSelect={this.onCouponSelect}
|
|
|
+ disabled={orderStatus.orderObject.orderNo ? true : false}
|
|
|
+ />
|
|
|
+
|
|
|
{/* <div class={styles.tips}>
|
|
|
<h3>
|
|
|
<Icon name={iconTips} size={15} />
|