Commit 47c6c847 by sunerhu

1.修改H5 提交订单 参数错误问题。

2.退课提交添加校验
parent 30c7b65f
...@@ -86,6 +86,7 @@ ...@@ -86,6 +86,7 @@
dropInfo:{}, dropInfo:{},
dropIndex:0, dropIndex:0,
dropReasons:[''], dropReasons:[''],
withdrawal: true,
readonlyFlag:false readonlyFlag:false
}; };
}, },
...@@ -113,11 +114,24 @@ ...@@ -113,11 +114,24 @@
api.userRefundCourseDtl({userId:this.userId,orderId:this.orderId}).then(res=>{ api.userRefundCourseDtl({userId:this.userId,orderId:this.orderId}).then(res=>{
if(res['success']){ if(res['success']){
this.dropInfo = res['data'] this.dropInfo = res['data']
}else {
this.withdrawal = false
} }
}) })
}, },
// 提交申请 // 提交申请
submit(){ submit(){
if(!this.withdrawal){
uni.showToast({
title: '已退课不能重新申请',
icon: 'none',
duration: 2000
});
return false
}
uni.showLoading({
title: '加载中...'
});
if(!this.readonlyFlag){ if(!this.readonlyFlag){
//提交按钮置灰 //提交按钮置灰
this.readonlyFlag = true; this.readonlyFlag = true;
...@@ -132,6 +146,7 @@ ...@@ -132,6 +146,7 @@
refundReason:this.dropReasons[this.dropIndex]['dropOptionName'] refundReason:this.dropReasons[this.dropIndex]['dropOptionName']
} }
api.unifiedRefund(param).then(res=>{ api.unifiedRefund(param).then(res=>{
console.log(res, 1515)
if(res['success']){ if(res['success']){
uni.navigateTo({ uni.navigateTo({
url:`/pages/afterSaleDetail/afterSaleDetail?orderNo=${this.dropInfo.orderNo}&afterSalesFlag=3` url:`/pages/afterSaleDetail/afterSaleDetail?orderNo=${this.dropInfo.orderNo}&afterSalesFlag=3`
...@@ -142,9 +157,11 @@ ...@@ -142,9 +157,11 @@
}else{ }else{
uni.showToast({ uni.showToast({
title: res['message'], title: res['message'],
icon: 'none',
duration: 2000 duration: 2000
}); });
} }
uni.hideLoading()
this.readonlyFlag = false; this.readonlyFlag = false;
}) })
} }
...@@ -156,15 +173,21 @@ ...@@ -156,15 +173,21 @@
if(res['success']){ if(res['success']){
this.dropReasons = res['data']['dropMasterInfoList'][0]['dropOptionsInfoList'] this.dropReasons = res['data']['dropMasterInfoList'][0]['dropOptionsInfoList']
} }
uni.hideLoading()
}) })
} }
}, },
onLoad(option) { onLoad(option) {
uni.showLoading({
title: '加载中...'
});
this.orderId = option.id; this.orderId = option.id;
this.fileId = option.fileId; this.fileId = option.fileId;
this.courseDetail(); this.courseDetail();
this.userRefundCourseDtl();
this.dropOptionsQuery() this.dropOptionsQuery()
},
onShow() {
this.userRefundCourseDtl();
} }
} }
</script> </script>
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<view class="totalContent"> <view class="totalContent">
<view class="priceInfoBox"> <view class="priceInfoBox">
<view>合计: <strong style="font-size: 36rpx;">¥{{totalPrice}}</strong></view> <view>合计: <strong style="font-size: 36rpx;">¥{{totalPrice}}</strong></view>
<view>共优惠:<strong style="color:#F15A1F" v-if="isDeduction">¥{{Number(deductionCore * intergralInfo.preFortune).toFixed(2)}}</strong> <view>共优惠:<strong style="color:#F15A1F" v-if="isDeduction == true">¥{{Number(deductionCore * intergralInfo.preFortune).toFixed(2)}}</strong>
<text style="color:#F15A1F" v-else>0</text> <text style="color:#F15A1F" v-else>0</text>
</view> </view>
</view> </view>
...@@ -170,13 +170,13 @@ ...@@ -170,13 +170,13 @@
deviceType:'', deviceType:'',
tipsFlag:false, tipsFlag:false,
isRedirect:null, isRedirect:null,
amount:0 amount:0,
} }
}, },
computed:{ computed:{
totalPrice(){ totalPrice(){
if(this.isDeduction){ if(this.isDeduction == true){
return (this.courseInfoItem.coursePrice - this.deductionCore * this.intergralInfo.preFortune).toFixed(2) return (this.courseInfoItem.coursePrice - (this.deductionCore * this.intergralInfo.preFortune)).toFixed(2)
}else{ }else{
return this.courseInfoItem.coursePrice; return this.courseInfoItem.coursePrice;
} }
...@@ -205,7 +205,7 @@ ...@@ -205,7 +205,7 @@
amount:this.totalPrice, amount:this.totalPrice,
paymentMethod:this.paymentMethod, paymentMethod:this.paymentMethod,
userId:this.userId, userId:this.userId,
integralExchange:this.isDeduction ? parseFloat(this.deductionCore) : 0, integralExchange:this.isDeduction == true ? parseFloat(this.deductionCore) : 0,
paymentType:'' paymentType:''
} }
if(this.paymentMethod==1){ if(this.paymentMethod==1){
...@@ -301,7 +301,8 @@ ...@@ -301,7 +301,8 @@
this.tipsFlag = true; this.tipsFlag = true;
this.amount = this.totalPrice; this.amount = this.totalPrice;
this.paymentBtnDisabled = false; this.paymentBtnDisabled = false;
let url = window.location.href + `&isRedirect=1&amount=${this.amount}&jumptime=${new Date()}&isDeduction=${this.isDeduction}&deductionCore=${this.deductionCore}&userId=${this.userId}`; let deductionCore = this.isDeduction==true ? parseFloat(this.deductionCore) : 0,
let url = window.location.href + `&isRedirect=1&amount=${this.amount}&jumptime=${new Date()}&isDeduction=${this.isDeduction}&deductionCore=${deductionCore}`;
window.history.replaceState(null, '',url); window.history.replaceState(null, '',url);
return; return;
} }
...@@ -403,9 +404,9 @@ ...@@ -403,9 +404,9 @@
this.isRedirect = option.isRedirect; this.isRedirect = option.isRedirect;
if(this.isRedirect == 1){ if(this.isRedirect == 1){
if(option.amount){ if(option.amount){
this.deductionCore = option.deductionCore;
this.amount = option.amount; this.amount = option.amount;
this.isDeduction = option.isDeduction; this.isDeduction = option.isDeduction;
this.deductionCore = option.deductionCore;
} }
this.totalPrice = this.amount; this.totalPrice = this.amount;
setTimeout(()=>{ setTimeout(()=>{
......
...@@ -4,17 +4,19 @@ ...@@ -4,17 +4,19 @@
<view class="ulBox"> <view class="ulBox">
<view v-for="item in orderInfoList.filter(item=>item.pageArea===1)" :key="item.id" class="liBox"> <view v-for="item in orderInfoList.filter(item=>item.pageArea===1)" :key="item.id" class="liBox">
<text>{{item.name}}:</text> <text>{{item.name}}:</text>
<text :style="{color:item.color ? item.color : '#666'}">{{item.type==='currency' && item.value ? '¥' : ''}}{{item.value ? item.value : '/'}}</text> <text
:style="{color:item.color ? item.color : '#666'}">{{item.type==='currency' && item.value ? '¥' : ''}}{{item.value ? item.value : '/'}}</text>
</view> </view>
</view> </view>
<view class="ulBox"> <view class="ulBox">
<view v-for="item in orderInfoList.filter(item=>item.pageArea===2)" :key="item.id" class="liBox"> <view v-for="item in orderInfoList.filter(item=>item.pageArea===2)" :key="item.id" class="liBox">
<text>{{item.name}}:</text> <text>{{item.name}}:</text>
<text :style="{color:item.color ? item.color : '#666'}">{{item.type==='currency' && item.value ? '¥' : ''}}{{item.value ? item.value : '/'}}</text> <text
:style="{color:item.color ? item.color : '#666'}">{{item.type==='currency' && item.value ? '¥' : ''}}{{item.value ? item.value : '/'}}</text>
</view> </view>
</view> </view>
<!-- 退课 --> <!-- 退课 -->
<view class="dropClassBox" v-if="Withdrawal=='1' && orderDetail.operationStatus == '1'"> <view class="dropClassBox" v-if="Withdrawal=='1' && orderDetail.operationStatus == '1'&& type == 'drop'">
<view class="dropBtn" @click="dropClasses()">退课</view> <view class="dropBtn" @click="dropClasses()">退课</view>
</view> </view>
</view> </view>
...@@ -28,59 +30,152 @@ ...@@ -28,59 +30,152 @@
data() { data() {
return { return {
userId: uni.getStorageSync('cffp_userId'), userId: uni.getStorageSync('cffp_userId'),
orderId:'', orderId: '',
fileId:'', fileId: '',
orderInfoList:[ orderInfoList: [{
{id:1,name:'订单编号',value:'/',type:'string',alias:'orderNo',pageArea:1}, id: 1,
{id:2,name:'购买时间',value:'/',type:'string',alias:'orderConfirmDate',pageArea:1}, name: '订单编号',
{id:3,name:'课程类型',value:'/',type:'string',alias:'courseClassify',pageArea:1}, value: '/',
{id:4,name:'课程名称',value:'/',type:'string',alias:'fileTitle',pageArea:1}, type: 'string',
{id:5,name:'购买人',value:'/',type:'string',alias:'userName',pageArea:1}, alias: 'orderNo',
{id:6,name:'课程讲师',value:'/',type:'string',alias:'lecturerName',pageArea:1}, pageArea: 1
{id:7,name:'课程现价',value:'/',type:'currency',alias:'orderPrice',pageArea:1}, },
{id:8,name:'积分抵扣',value:'/',color:'#FA6900',type:'currency',alias:'integralExchange',pageArea:1}, {
{id:9,name:'实际支付',value:'/',type:'currency',alias:'paymentAmount',pageArea:1}, id: 2,
{id:10,name:'获得积分',value:'/',type:'string',color:'#F15A1F',alias:'salesCommission',pageArea:2}, name: '购买时间',
{id:11,name:'积分来源',value:'/',type:'string',alias:'commissionSource',pageArea:2}, value: '/',
{id:12,name:'课程状态',value:'/',type:'string',alias:'courseStatusName',pageArea:2}, type: 'string',
{id:13,name:'观看截至',value:'/',type:'string',alias:'effectiveEndDate',pageArea:2} alias: 'orderConfirmDate',
pageArea: 1
},
{
id: 3,
name: '课程类型',
value: '/',
type: 'string',
alias: 'courseClassify',
pageArea: 1
},
{
id: 4,
name: '课程名称',
value: '/',
type: 'string',
alias: 'fileTitle',
pageArea: 1
},
{
id: 5,
name: '购买人',
value: '/',
type: 'string',
alias: 'userName',
pageArea: 1
},
{
id: 6,
name: '课程讲师',
value: '/',
type: 'string',
alias: 'lecturerName',
pageArea: 1
},
{
id: 7,
name: '课程现价',
value: '/',
type: 'currency',
alias: 'orderPrice',
pageArea: 1
},
{
id: 8,
name: '积分抵扣',
value: '/',
color: '#FA6900',
type: 'currency',
alias: 'integralExchange',
pageArea: 1
},
{
id: 9,
name: '实际支付',
value: '/',
type: 'currency',
alias: 'paymentAmount',
pageArea: 1
},
{
id: 10,
name: '获得积分',
value: '/',
type: 'string',
color: '#F15A1F',
alias: 'salesCommission',
pageArea: 2
},
{
id: 11,
name: '积分来源',
value: '/',
type: 'string',
alias: 'commissionSource',
pageArea: 2
},
{
id: 12,
name: '课程状态',
value: '/',
type: 'string',
alias: 'courseStatusName',
pageArea: 2
},
{
id: 13,
name: '观看截至',
value: '/',
type: 'string',
alias: 'effectiveEndDate',
pageArea: 2
}
], ],
type:'', type: '',
orderDetail:{}, orderDetail: {},
Withdrawal:'', Withdrawal: '',
commissionType:null commissionType: null
}; };
}, },
methods:{ methods: {
userCourseInfo(){ userCourseInfo() {
const param = { const param = {
userId:this.userId, userId: this.userId,
orderId:this.orderId, orderId: this.orderId,
queryType: this.type == 'drop'? '1':'2', queryType: this.type == 'drop' ? '1' : '2',
commissionType:this.commissionType, commissionType: this.commissionType,
} }
api.userCourseInfo(param).then(res=>{ api.userCourseInfo(param).then(res => {
if(res['success']){ if (res['success']) {
const data = this.orderDetail = res['data']['orderDetail']; const data = this.orderDetail = res['data']['orderDetail'];
this.fileId = data.fileId; this.fileId = data.fileId;
Object.keys(data).map((key,item)=>{ Object.keys(data).map((key, item) => {
this.orderInfoList.forEach(val=>{ this.orderInfoList.forEach(val => {
if(val.alias == key){ if (val.alias == key) {
val.value = data[key]; val.value = data[key];
} }
}) })
}) })
} }
uni.hideLoading()
}) })
}, },
dropClasses(){ dropClasses() {
uni.navigateTo({ uni.navigateTo({
url:`/pages/applyDropClass/applyDropClass?id=${this.orderId}&fileId=${this.fileId}` url: `/pages/applyDropClass/applyDropClass?id=${this.orderId}&fileId=${this.fileId}`
}) })
} }
}, },
onLoad(option) { onLoad(option) {
if(option.userId){ if (option.userId) {
this.userId = option.userId this.userId = option.userId
}; };
this.orderId = option.id; this.orderId = option.id;
...@@ -89,6 +184,9 @@ ...@@ -89,6 +184,9 @@
this.commissionType = option.commissionType; this.commissionType = option.commissionType;
}, },
mounted() { mounted() {
uni.showLoading({
title: '加载中...'
});
this.userCourseInfo(); this.userCourseInfo();
uni.$on("radiobroadcast", res => { uni.$on("radiobroadcast", res => {
this.type = res.type; this.type = res.type;
...@@ -101,35 +199,41 @@ ...@@ -101,35 +199,41 @@
</script> </script>
<style lang="scss"> <style lang="scss">
.container{ .container {
height: 100%; height: 100%;
.orderInfoContent{
.ulBox{ .orderInfoContent {
.ulBox {
background-color: #fff; background-color: #fff;
margin: 20rpx 22rpx; margin: 20rpx 22rpx;
padding: 20rpx; padding: 20rpx;
.liBox{
.liBox {
margin-bottom: 20rpx; margin-bottom: 20rpx;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
text{
&:first-child{ text {
&:first-child {
font-size: 28rpx; font-size: 28rpx;
color: #333; color: #333;
} }
&:last-child{
&:last-child {
font-size: 28rpx; font-size: 28rpx;
} }
} }
} }
} }
.dropClassBox{
.dropClassBox {
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
padding-right: 20rpx; padding-right: 20rpx;
margin-top: 20rpx; margin-top: 20rpx;
.dropBtn{
.dropBtn {
border-radius: 80rpx; border-radius: 80rpx;
color: #fff; color: #fff;
background-color: #20269B; background-color: #20269B;
......
...@@ -68,6 +68,11 @@ ...@@ -68,6 +68,11 @@
</view> </view>
</uni-popup> </uni-popup>
</view> </view>
<!-- <view class="loading">
加载loading
<orange-fullloading :loadshow="loadshow" text="加载中" textcolor="#f30" textsize="10"></orange-fullloading>
</view> -->
</view> </view>
</template> </template>
...@@ -78,6 +83,7 @@ ...@@ -78,6 +83,7 @@
export default { export default {
data() { data() {
return { return {
// loadshow:true,
userId: uni.getStorageSync('cffp_userId'), userId: uni.getStorageSync('cffp_userId'),
inviteEqrode:'', inviteEqrode:'',
currentPage:'personalCenter', currentPage:'personalCenter',
...@@ -133,13 +139,20 @@ ...@@ -133,13 +139,20 @@
}, },
onShow() { onShow() {
uni.$on("handClick", res => { uni.$on("handClick", res => {
console.log('接受到监听')
this.customerBasicInfo = res.data this.customerBasicInfo = res.data
})
},
onUnload() {
// 移除监听事件 // 移除监听事件
uni.$off('handClick'); uni.$off('handClick');
})
// setTimeout(() => {
// this.loadshow = false
// }, 10000)
}, },
// onUnload() {
// },
methods: { methods: {
close(){ close(){
this.bootpage = false this.bootpage = false
...@@ -260,6 +273,12 @@ ...@@ -260,6 +273,12 @@
height: 100%; height: 100%;
border-radius: 50%; border-radius: 50%;
} }
.loading{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.basicInfoBox{ .basicInfoBox{
display: flex; display: flex;
padding: 67rpx 20rpx 60rpx 28rpx; padding: 67rpx 20rpx 60rpx 28rpx;
......
...@@ -4,9 +4,9 @@ import {interceptor} from "./interceptor"; ...@@ -4,9 +4,9 @@ import {interceptor} from "./interceptor";
export default (url:string, method:any, params?:any) => { export default (url:string, method:any, params?:any) => {
interceptor(); interceptor();
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
uni.showLoading({ // uni.showLoading({
title: '加载中...' // title: '加载中...'
}); // });
uni.request({ uni.request({
url: url, url: url,
method: method, method: method,
...@@ -20,7 +20,7 @@ export default (url:string, method:any, params?:any) => { ...@@ -20,7 +20,7 @@ export default (url:string, method:any, params?:any) => {
reject(err); reject(err);
}, },
complete() { complete() {
uni.hideLoading(); // uni.hideLoading();
} }
}); });
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment