232 lines
7.5 KiB
Vue
232 lines
7.5 KiB
Vue
<template>
|
|
<view>
|
|
<view class="w100 h-340">
|
|
<scroll-view scroll-x="true" class="rows rowsm" style="max-width: 750rpx;white-space: nowrap;">
|
|
<view class="rows rowsm h-80 w100 rowsa bgff">
|
|
<view class="rows rowsl rowsm rowsc" v-for="(item,index) in list" :key="index" @click="onSels(index,item.id)"
|
|
:class="ids==item.id?'fw-b fs-32':'fs-30'">
|
|
<text>{{item.name}}</text>
|
|
<view class="w-88 h-8 mt-10 bg br-10" v-if="ids==item.id"></view>
|
|
</view>
|
|
</view>
|
|
</scroll-view>
|
|
<scroll-view scroll-y="true" style="height: calc(100vh - 120rpx);">
|
|
<view class="w100 rows rowsm rowsc rowsl mt-20" v-if="orders.length>0">
|
|
<view class="w-710 p-all-20 bgff br-20 mb-20 rows rowsl" v-for="(item,index) in orders" :key="index">
|
|
<view class="w100 rows rowsb h-80 rowsm mb-20" style="border-bottom: 1rpx solid #f5f5f5;">
|
|
<text class="fs-26">订单时间:{{item.createtime}}</text>
|
|
<text class="fs-26 col" v-if="item.status==-1">已取消</text>
|
|
<text class="fs-26 col" v-if="item.status==0">待付款</text>
|
|
<text class="fs-26 col" v-if="item.status==1">待发货</text>
|
|
<text class="fs-26 col" v-if="item.status==2">待收货</text>
|
|
<text class="fs-26 col" v-if="item.status==3">待评价</text>
|
|
<text class="fs-26 col" v-if="item.status==4">已完成</text>
|
|
</view>
|
|
<scroll-view scroll-y="true" style="max-height: 350rpx;">
|
|
<view class="rows mb-20" v-for="(itm,indexs) in item.shop" :key="indexs">
|
|
<image class="w-180 h-180 br-20 mr-20" :src="$tools.oss(itm.image)" mode="aspectFill"></image>
|
|
<view class="rows rowsl rowsb w100 h-180">
|
|
<view class="fw-b col333 fs-28">{{itm.shop_name}}</view>
|
|
<view class="rows rowsm">
|
|
<text class="col666 fs-28">x{{itm.num}}</text>
|
|
</view>
|
|
<text class="fs-20 fw-b" style="color: #F8222A;">¥{{itm.price}}</text>
|
|
</view>
|
|
</view>
|
|
</scroll-view>
|
|
<view class="w100 h-80 rows rowsb rowsm" style="border-top: 1rpx dashed #f5f5f5;">
|
|
<view class="rows rowsm">
|
|
<text class="fs-24 col333">合计:¥{{item.total_amount}}</text>
|
|
</view>
|
|
<view class="rows rowsm">
|
|
<view class="w-130 h-58 rows rowsc rowsm bg br-100 fs-28 colfff mr-20" @click="open(item.order_number)" v-if="item.status==0">
|
|
去支付
|
|
</view>
|
|
<view class="w-160 h-58 rows rowsc rowsm bg br-100 fs-28 colfff" @click="cancelOrder(item.id)" v-if="item.status==0">
|
|
取消订单
|
|
</view>
|
|
<view class="w-160 h-58 rows rowsc rowsm bg br-100 fs-28 ml-20 colfff" @click="deliveryOrder(item.id)"
|
|
v-if="item.status==2">
|
|
确认收货
|
|
</view>
|
|
<view class="w-160 h-58 rows rowsc rowsm colfff bg br-100 fs-28 ml-20"
|
|
@click="$tools.goNext(`/pageOne/mes/orderDetail?id=${item.id}`)">
|
|
查看详情
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="w100 rows rowsc h-600 rowsm" v-else>
|
|
<image class="w-436 h-366" src="/static/other/5.png" mode=""></image>
|
|
</view>
|
|
</scroll-view>
|
|
</view>
|
|
<uni-popup ref="popup" type="bottom" :is-mask-click="false" :safe-area="false">
|
|
<view class="w100 p-all-24 bgff">
|
|
<text class="fs-30 fw-b">选择支付方式</text>
|
|
<view class="w100 rows rowsm rowsl">
|
|
<view class="w-710 bgff br-20 p-all-24">
|
|
<view class="rows rowsl">
|
|
<view class="w100 rows rowsm rowsb mt-20" v-for="(item,index) in payList" :key="index" @click="selpay(item)">
|
|
<view class="rows rowsm">
|
|
<image class="w-72 h-72 mr-20" :src="item.icon" mode=""></image>
|
|
<text class="fs-28 col333">{{item.name}}</text>
|
|
</view>
|
|
<image class="w-36 h-36 mr-15" :src="item.status?'/static/images/03_qou.png':'/static/images/03_w.png'" mode=""></image>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="w100 rows rowsm rowsa">
|
|
<view class="w-300 h-80 rowsm rows rowsc col br-100 fs-28" style="border: 2rpx solid #F8222A;" @click="close">
|
|
取消
|
|
</view>
|
|
<view class="w-300 h-80 bg rowsm rows rowsc colfff br-100 fs-28" @click="create">
|
|
确定
|
|
</view>
|
|
</view>
|
|
<view class="w100 h-30"></view>
|
|
</view>
|
|
</uni-popup>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
list:[
|
|
{id:66,name:'全部'},
|
|
{id:0,name:'待付款'},
|
|
{id:1,name:'待发货'},
|
|
{id:2,name:'待收货'},
|
|
// {id:3,name:'待评价'},
|
|
{id:4,name:'已完成'},
|
|
],
|
|
selects:0,
|
|
orders:[],
|
|
ids:'',
|
|
payList:[
|
|
{id:1,name:'微信支付',status:true,icon:'/static/images/icon_7wx.png'},
|
|
{id:2,name:'余额支付',status:false,icon:'/static/images/044vef.png'},
|
|
],
|
|
order_number:'',
|
|
payId:1
|
|
}
|
|
},
|
|
onShow() {
|
|
this.orderList()
|
|
},
|
|
onLoad(e) {
|
|
this.ids = e.id
|
|
},
|
|
methods: {
|
|
onSels(index,id){
|
|
this.selects = index
|
|
this.ids = id
|
|
this.orderList()
|
|
},
|
|
selpay(item){
|
|
this.payId = item.id
|
|
this.payList.forEach(item => {
|
|
item.status = false
|
|
})
|
|
item.status = true
|
|
},
|
|
orderList(){
|
|
this.$tools.axiosFromToken("POST","order/orderList",{
|
|
type:this.ids
|
|
}).then(res => {
|
|
this.orders = res.data
|
|
})
|
|
},
|
|
// 取消订单
|
|
cancelOrder(id){
|
|
let _this = this
|
|
uni.showModal({
|
|
title: '提示',
|
|
content: '确定要取消订单吗?',
|
|
success: function (res) {
|
|
if (res.confirm) {
|
|
_this.$tools.axiosFromToken("POST","order/cancelOrder",{id}).then(res => {
|
|
_this.$tools.showtt(res.msg)
|
|
if(res.code!=1) return
|
|
_this.orderList()
|
|
})
|
|
}
|
|
}
|
|
})
|
|
},
|
|
// 确认收货
|
|
deliveryOrder(id){
|
|
let _this = this
|
|
uni.showModal({
|
|
title: '提示',
|
|
content: '确定要确认收货吗?',
|
|
success: function (res) {
|
|
if (res.confirm) {
|
|
_this.$tools.axiosFromToken("POST","order/deliveryOrder",{id}).then(res => {
|
|
_this.$tools.showtt(res.msg)
|
|
if(res.code!=1) return
|
|
_this.orderList()
|
|
})
|
|
}
|
|
}
|
|
})
|
|
},
|
|
open(order_number){
|
|
this.order_number = order_number
|
|
this.$refs['popup'].open()
|
|
},
|
|
close() {
|
|
this.$refs.popup.close()
|
|
},
|
|
create(){
|
|
this.$refs.popup.close()
|
|
let _this = this
|
|
uni.showModal({
|
|
title: '提示',
|
|
content: '确定要支付吗?',
|
|
success: function (res) {
|
|
if (res.confirm) {
|
|
_this.$tools.axiosFromToken("POST","pay/shopPay",{order_number:_this.order_number,pay_type:_this.payId}).then(res => {
|
|
if(res.code==1){
|
|
if(_this.payId==1){
|
|
uni.requestPayment({
|
|
timeStamp: res.data.info.timeStamp,
|
|
nonceStr: res.data.info.nonceStr,
|
|
package: res.data.info.package,
|
|
signType: res.data.info.signType,
|
|
paySign: res.data.info.paySign,
|
|
success(res) {
|
|
_this.$tools.showtt('支付成功')
|
|
_this.orderList()
|
|
},
|
|
fail(res) {
|
|
_this.$tools.showtt('支付失败')
|
|
}
|
|
})
|
|
}else {
|
|
_this.$tools.showtt(res.msg)
|
|
if (res.code!=1) return
|
|
_this.orderList()
|
|
}
|
|
}else{
|
|
_this.$tools.showtt(res.msg)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
})
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
page{
|
|
background-color: #F7F6FA;
|
|
}
|
|
</style>
|