You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

445 lines
14 KiB

<template>
<view class="body">
<view class="details_title">
<view class="shipped" v-if="details_index==1">
<view class="shipped_left">
<image src="../../static/img/order_shipped.png" mode=""></image>
</view>
<view>
<text class="shipped_right_text">Ready for shipment</text>
<view>The buyer has paid,Waiting for the merchant to deliver</view>
</view>
</view>
<view class="cancelled" v-if="details_index==4">
<view class="cancelled_left">
<image src="../../static/img/close2.png" mode=""></image>
<view class="cancelled_left_info">
<text class="shipped_right_text">Deals off</text>
<view>The transaction has been closed, looking forward to your re-selection</view>
</view>
</view>
</view>
<view class="cancelled completed" v-if="details_index==3" @click="goLogistics">
<view class="cancelled_left">
<image src="../../static/img/completed.png" mode=""></image>
<view class="cancelled_left_info">
<text class="shipped_right_text">Signed for</text>
<view>2022-04-27 21:15:55</view>
</view>
</view>
<view class="cancelled_right">
<image src="../../static/img/right2.png" mode=""></image>
</view>
</view>
<view class="cancelled toPaid" v-if="details_index==0">
<view class="cancelled_left">
<view >
<text class="shipped_right_text">Waiting for payment</text>
<view>The timeout order will be closed automatically</view>
</view>
</view>
<!-- <view class="cancelled_right">
<text class="shipped_right_text">23:59:58</text>
<view>T-minus payment</view>
</view> -->
</view>
<view class="cancelled transit" @click="goLogistics" v-if="details_index==2">
<view class="cancelled_left" >
<image src="../../static/img/transit.png" mode=""></image>
<view class="cancelled_left_info">
<view class="shipped_right_text">【New York】Has arrived statesHas arrived states</view>
<view>2022-04-27 21:15:55</view>
</view>
</view>
<view class="cancelled_right">
<image src="../../static/img/right2.png" mode=""></image>
</view>
</view>
</view>
<view class="address">
<view class="address_left">
<view class="address_title">
<image src="../../static/img/address.png" mode=""></image>
<view class="address_title_name">{{goodsDate.consignee}}</view>
<text>{{goodsDate.mobile}}</text>
</view>
<view class="address_content">
<text>{{goodsDate.sign_building}}</text>
<view >{{goodsDate.address_detail}}</view>
</view>
</view>
<!-- <image src="../../static/img/right.png" class="address_more"></image> -->
<image src="../../static/img/address_xian.png" class="address_xian" mode=""></image>
</view>
<view class="order_popup_commodity">
<view class="good_info" v-for="(item,index) in goods_list " :key="index" @click="goDetails(item.goods_id)">
<view class="good_info_left ">
<view class="good_info_image" >
<image :src="item.goods_thumb" mode=""></image>
</view>
<view class="left_info">
<view class="info_name">{{item.goods_name}}</view>
<view class="left_info_bottom" v-if="item.goods_attr">
<view class="info_lable">
<text>{{item.goods_attr |goodsAttr}}</text>
<!-- <image src="/static/img/bottom.png" mode=""></image> -->
</view>
<text>x{{item.goods_number}}</text>
</view>
<view class="info_price">
<text>US${{item.subtotal}}</text>
<!-- <button v-if="details_index!=0 && details_index!=4">RREFUND</button> -->
</view>
</view>
</view>
</view>
</view>
<view class="summary">
<view class="summary_title">Order summary</view>
<view class="summary_item">
<view>
Subtotal
<text :class="details_index==2?'summary_item_text1':'summary_item_text'">(Tax included)</text>
</view>
<view class="summary_item_right">US${{goodsDate.goods_amount}}</view>
</view>
<view class="summary_item">
<view>Shipping</view>
<view class="summary_item_right">US${{goodsDate.shipping_fee}}</view>
</view>
<view class="summary_item">
<view>Coupon</view>
<view class="summary_item_right1">-US${{goodsDate.bonus}}</view>
</view>
<view class="summary_item">
<view>Points</view>
<view class="summary_item_right1">-US${{goodsDate.surplus}}</view>
</view>
<view class="summary_item">
<view>Order total</view>
<view>US${{goodsDate.order_amount}}</view>
</view>
<!-- <view class="summary_tips" v-if="details_index==0">
<image src="../../static/img/gantan1.png" mode=""></image>
<text>Reward 10 points</text>
</view> -->
</view>
<view class="summary">
<view class="summary_title">Order information</view>
<view class="summary_item">
<view>Order id</view>
<view class="summary_item_right">
<text>{{goodsDate.order_sn}}</text>
<button @click="Copy(goodsDate.order_sn)">copy</button>
</view>
</view>
<view class="summary_item">
<view>Shipping</view>
<view class="summary_item_right">{{goodsDate.shipping_name}}</view>
</view>
<view class="summary_item">
<view>Order Time</view>
<view class="summary_item_right">{{goodsDate.formated_add_time}}</view>
</view>
<view class="summary_item" v-if="details_index!=0 && goodsDate.formated_pay_time">
<view>Payment time</view>
<view class="summary_item_right">{{goodsDate.formated_pay_time}}</view>
</view>
<view class="summary_item" v-if="details_index==2">
<view>Delivery time</view>
<view class="summary_item_right">{{goodsDate.formated_shipping_time}}</view>
</view>
<!-- 完成时间 -->
<view class="summary_item" v-if="details_index==3">
<view>Completion time</view>
<view class="summary_item_right"></view>
</view>
<!-- 取消时间 -->
<view class="summary_item" v-if="details_index==4">
<view>Cancel time</view>
<view class="summary_item_right"></view>
</view>
</view>
<view class="details_footer" v-if="details_index!=1">
<button class="white" v-if="details_index==4 || details_index==2 || details_index==3" @click="goLogistics">LOGISTICS</button>
<button class="white" v-if="details_index==4 || details_index==3" @click.stop="openTips(1)">DELETE ORDER</button>
<button class="black" v-if="details_index==3 && goodsDate.comment_status_code==0" @click="goComment()">COMMENT</button>
<button class="white" v-if="details_index==0 " @click.stop="openTips(0)">CANCEL ORDER</button>
<button class="black" v-if="details_index==0" @click="isPay=true">PAY NOW</button>
<button class="black" v-if="details_index==2" @click.stop="openTips(2)">CONFIRM RECEIPT</button>
</view>
<!-- 支付 -->
<view class="mask" v-show="isPay" @click="isPay=false"></view>
<view class="order_popup" v-show="isPay">
<view class="order_popup_title">
<text>
Payment Method
</text>
<image src="../../static/img/close1.png" mode="" @click="isPay=false"></image>
</view>
<view class="order_popup_pay" >
<view class="pay_item" @click="selectPay(0)">
<image src="../../static/img/select1.png" mode="" class="pay_item_select" v-if="pay_index==0"></image>
<image src="../../static/img/select2.png" mode="" class="pay_item_select" v-else></image>
<view class="pay_item_right">
<image src="../../static/img/pay_pal.png" mode=""></image>
<text>Pay Pal</text>
</view>
</view>
<!-- <view class="pay_item" @click="selectPay(1)">
<image src="../../static/img/select1.png" mode="" class="pay_item_select" v-if="pay_index==1"></image>
<image src="../../static/img/select2.png" mode="" class="pay_item_select" v-else></image>
<view class="pay_item_right">
<image src="../../static/img/card.png" mode=""></image>
<text>Credit/Debit Card</text>
</view>
</view>
<view class="pay_item" @click="selectPay(2)">
<image src="../../static/img/select1.png" mode="" class="pay_item_select" v-if="pay_index==2"></image>
<image src="../../static/img/select2.png" mode="" class="pay_item_select" v-else></image>
<view class="pay_item_right">
<image src="../../static/img/GPay.png" mode=""></image>
<text>Google Pay</text>
</view>
</view>
<view class="pay_item" @click="selectPay(3)">
<image src="../../static/img/select1.png" mode="" class="pay_item_select" v-if="pay_index==3"></image>
<image src="../../static/img/select2.png" mode="" class="pay_item_select" v-else></image>
<view class="pay_item_right">
<image src="../../static/img/APay.png" mode=""></image>
<text>Apple pay</text>
</view>
</view> -->
<button @click="getPayDate">PAY NOW</button>
</view>
</view>
<!-- 删除、取消弹框 -->
<uni-popup ref="alertDialog" type="dialog">
<uni-popup-dialog type="error" cancelText="Close" :confirmText="tipsBut" title="Tips" :content="tipsInfo" @confirm="dialogConfirm" ></uni-popup-dialog>
</uni-popup>
</view>
</template>
<script>
import {defaultRequest2} from '../../api/index.js'
export default {
data() {
return {
// 0、待发货 1、已取消 2、已完成 3、待支付 4、运输中 (已废弃)
// 0、待支付 1、待发货 2、运输中 3、已完成 4、已取消
details_index:4,
query:{
_action:'getorder',
order_id:'',
order_sn:''
},
goodsDate:{},
goods_list:[],
isPay:false,
payQuery:{
_action:'payorder',
order_id:'',
order_type:'GOODSBUY',
payment_method:'alipay.native'
},
pay_index:0,
logisticsinfo:{},
// 弹出提示框的状态 0:取消订单 1、删除订单 2、确认收货
tipsType:0,
tipsInfo:'',
tipsBut:'',
cancelQuery:{
_action:'cancelorder',
order_id:''
},
}
},
methods:{
// 跳转商品详情
goDetails(id){
uni.navigateTo({
url:'/pages/productDetails/index?goodid='+id
})
},
// 跳转评论页面
goComment(){
let data=this.goodsDate
data.order_goods=this.goods_list
uni.navigateTo({
url:'../productDetails/review?data='+JSON.stringify(data)
})
},
// 淡出提示
openTips(type){
this.tipsType=type
if(type==0){
this.tipsInfo='Are you sure you want to cancel this order? This order will be regarded as invalid after cancellation'
this.tipsBut='CancelOrder'
this.cancelQuery._action='cancelorder'
}else if(type==1){
this.tipsInfo='Are you sure you want to delete this order?'
this.tipsBut='DeleteOrder'
this.cancelQuery._action='deleteorder'
}else if(type==2){
this.tipsInfo='Are you sure you have received the products?'
this.tipsBut='Confirm'
this.cancelQuery._action='affirmorder'
}
this.$refs.alertDialog.open()
},
// 提示框点击确操作 取消订单、删除订单
dialogConfirm(){
defaultRequest2(this.cancelQuery).then(res=>{
console.info(res)
if(res.error==0){
if(this.tipsType==0){
this.details_index=4
}else if(this.tipsType==1){
uni.navigateBack()
}else{
this.details_index=3
}
this.getList()
}
})
},
goLogistics(){
uni.navigateTo({
url:'./logisticsDetails?order_id='+this.goodsDate.order_id
})
},
// 选择支付方式
selectPay(index){
this.pay_index=index
},
// 获取调用支付信息数据
getPayDate(){
console.log(this.pay_index)
if(this.pay_index == 0){
let data ={_action:'payorder',order_id:this.payQuery.order_id,order_type:'GOODSBUY',payment_method:'paypal'}
defaultRequest2(data).then(res=>{
console.info(data)
console.log(res)
if(res.error == 0){
if(res.data.need_pay_amount==0) return
// plus.runtime.openURL(res.data.prepay_data.checkoutnow_url)
// this.src = res.data.prepay_data.checkoutnow_url
uni.navigateTo({
url:'./paypalWebview?src='+res.data.prepay_data.checkoutnow_url
})
}
})
}
else{
console.info(this.payQuery,'支付宝')
defaultRequest2(this.payQuery).then(res=>{
console.info(res,'支付宝')
if(res.error==0){
//订单对象,从服务器获取
if(res.data.need_pay_amount==0) return
uni.requestPayment({
provider: 'alipay',
orderInfo: res.data.prepay_data.order_info, //支付宝订单数据
success: function (res) {
console.log('success:' + JSON.stringify(res));
uni.redirectTo({
url: 'paySuccess?order_id='+this.payQuery.order_id
});
},
fail: function (err) {
console.log('fail:' + JSON.stringify(err));
uni.showToast({
title:'Payment failed',
icon:'none'
})
}
});
}
})
}
},
payNow(id){
this.payQuery.order_id=id
this.isPay=true
},
getDate(){
defaultRequest2(this.query).then(res=>{
console.info(res)
if(res.error==0){
this.goodsDate=res.data
this.goods_list=res.goods_list
if(this.details_index==4){
this.getLogistics()
}
}
})
},
getLogistics(){
let data ={_action:'getlogisticsinfo',order_id:this.goodsDate.order_id,order_sn:''}
defaultRequest2(data).then(res=>{
console.info(res)
if(res.error==0){
this.logisticsinfo=res.data[0]
}
})
},
// 复制
Copy(e){
console.log(e)
uni.setClipboardData({
data:e,
success:()=>{
uni.showToast({
title:'ok!',
icon:'none'
})
}
})
}
},
onLoad(e){
console.info(e)
this.details_index=e.details_index
this.query.order_id=e.id
this.cancelQuery.order_id=e.id
this.payQuery.order_id = e.id
this.getDate()
},
filters:{
goodsAttr(e){
return e.replace(/\s\n/g,';');
}
}
}
</script>
<style lang="scss" scoped>
@import "@/common/scss/order.scss";
page{
}
.body{
padding-bottom: 130rpx;
}
</style>