<template>
|
<view class="cartsItem" style="margin-top: 30upx;">
|
<view class="cartsGoods" v-for="(itm, idx) in orderData.cartsData">
|
<view class="cartsGoodsView">
|
<image class="cartsIcon" lazy-load :src="itm.icon" mode="widthFix"></image>
|
<view class="carts-item">
|
<view class="carts-title">{{itm.title}}</view>
|
<view class="carts-set">
|
<view class="carts-price">
|
<view class="">
|
<text>单价:¥</text>
|
<text class="red">{{itm.price}}</text>
|
<text style="margin-left: 20upx;">数量:</text>
|
<text class="red">{{itm.nums}}</text>
|
</view>
|
<view class="">
|
<text>总价:¥</text>
|
<text class="red">{{itm.total}}</text>
|
</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
<view class="orderDetail">
|
<view class="orderDetail-v">
|
<text class="label">实付款:</text>
|
<text>{{orderData.total}}</text>
|
</view>
|
<view class="orderDetail-v">
|
<text class="label">订单号:</text>
|
<text>{{orderData.sn}}</text>
|
</view>
|
<view class="orderDetail-v">
|
<text class="label">姓名:</text>
|
<text>{{orderData.realname}}</text>
|
</view>
|
<view class="orderDetail-v">
|
<text class="label">手机号:</text>
|
<text>{{orderData.phone}}</text>
|
</view>
|
<view class="orderDetail-v">
|
<text class="label">订单状态:</text>
|
<text>{{orderData.statusName}}</text>
|
</view>
|
<view class="orderDetail-v">
|
<text class="label">支付方式:</text>
|
<text>{{orderData.paymentName}}</text>
|
</view>
|
<view class="orderDetail-v">
|
<text class="label">下单时间:</text>
|
<text>{{orderData.addtime}}</text>
|
</view>
|
<view class="orderDetail-v">
|
<text class="label">支付时间:</text>
|
<text>{{orderData.paytime}}</text>
|
</view>
|
<view class="orderDetail-v">
|
<text class="label">收货地址:</text>
|
<text>{{orderData.address}}</text>
|
</view>
|
<view class="orderDetail-v">
|
<text class="label">快递公司:</text>
|
<text>{{orderData.express_name ? orderData.express_name : '/'}}</text>
|
</view>
|
<view class="orderDetail-v">
|
<text class="label">快递单号:</text>
|
<text>{{orderData.express_no ? orderData.express_no : '/'}}</text>
|
</view>
|
<view class="orderDetail-v">
|
<text class="label">还款计划:</text>
|
<view class="orderplan">
|
<text v-for="(item, index) in orderData.plan">{{item.paydate}}还款{{item.total}}({{item.status == 6 ? '已还' : '未还'}})</text>
|
</view>
|
</view>
|
<view class="orderDetail-v">
|
<text class="label">买卖合同:</text>
|
<text style="color: #2196F3;" @tap="getEsign">点击查看</text>
|
</view>
|
</view>
|
</view>
|
<view class="orderBtns">
|
<text class="orderBtns-desc">操作</text>
|
<view class="orderBtns-v">
|
<text class="delOrder" v-if="orderData.status == -1 || orderData.status == 6 || orderData.status == 7 || orderData.status == 1" @tap="delOrder(orderData)">删除</text>
|
<text class="payOrder" v-if="orderData.status == 1" @tap="$util.goPages('/pages/pays/pays?cartsIds=' + orderData.cartsids)">支付</text>
|
<text class="payback" v-if="orderData.status == 2" @tap="refundOrder(orderData)">退款</text>
|
<text class="exOrder" v-if="orderData.status == 3 || orderData.status == 4 || orderData.status == 5 || orderData.status == 6" @tap="getExpress(orderData)">物流</text>
|
<text class="payOrder" v-if="orderData.status == 3" @tap="receiveOrder(orderData)">收货</text>
|
<text class="payback" v-if="(orderData.status == 3 || orderData.status == 4 || orderData.status == 5) && orderData.payment == 1" @tap="getPlan(orderData)">还款</text>
|
</view>
|
</view>
|
|
<uni-popup ref="popup" type="bottom">
|
<view class="popup-content">
|
<view class="pop-title">物流信息</view>
|
<view class="pop-main">
|
<view class="pop-main-view" v-for="(item, index) in expressData">
|
<view class="pop-nums">{{item.datetime.slice(0, 16)}}</view>
|
<view class="pop-pay">
|
<view class="">{{item.remark}}</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
</uni-popup>
|
|
<uni-popup ref="popup2" type="bottom">
|
<view class="popup-content">
|
<view class="pop-title">还款计划({{planData.length}})</view>
|
<view class="pop-main" style="padding-bottom: 90upx;height: 600upx;">
|
<view class="pop-main-view" v-for="(item, index) in planData">
|
<view class="pop-pay" style="width: 100%;">
|
<view class="" @tap="planClick(item)" style="padding: 10upx 0;">
|
<image v-if="planId == item.id" src="/static/imgs/checked.png" ></image>
|
<image v-else src="/static/imgs/check.png" ></image>
|
<text>日期:{{item.paydate}}</text>
|
<text style="margin-left: 30upx;">还款金额:{{item.total}}</text>
|
<text style="margin-left: 30upx;">({{item.statusName}})</text>
|
</view>
|
</view>
|
</view>
|
<view class="planBtn" @tap="popup3Open">立即还款({{payTotal}})</view>
|
</view>
|
</view>
|
</uni-popup>
|
|
<uni-popup ref="popup3" type="center" style="width: 100%;">
|
<view class="popup-content" style="width: 100%;">
|
<view class="pop-title" style="">还款方式</view>
|
<view class="pop-main" style="height: 240upx;width: 100%;">
|
<view class="pop-main-view">
|
<view class="pop-pay" style="width: 100%;border-bottom: none;">
|
<view class="pay-item" style="border-bottom: 1px solid #eeeeee;padding: 20upx 20upx 30upx 20upx;" @tap="payback(2)">
|
<image class="pay-icon" src="/static/imgs/wxpay.png" ></image>
|
<text>微信还款({{payTotal}}元)</text>
|
</view>
|
<view class="pay-item" style="padding: 20upx;border-bottom: none;" @tap="payback(3)">
|
<image class="pay-icon" src="/static/imgs/bankpay.png" style="height: 40upx; margin-right: 10upx;" ></image>
|
<view>
|
<text>银行卡还款({{payTotal}}元)</text>
|
</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
</uni-popup>
|
</view>
|
</template>
|
|
<script>
|
export default {
|
data() {
|
return {
|
orderid: 0,
|
orderData: {},
|
expressData: [],
|
planData: [],
|
payTotal: 0,
|
planId: 0,
|
}
|
},
|
onLoad(op) {
|
this.orderid = op.orderid ? op.orderid : 0
|
this.getOrderInfo()
|
},
|
methods: {
|
getEsign(){
|
let t = this
|
t.$util.post('Sign/getEsign', {cartsIds: this.orderData.cartsids}).then(res => {
|
if(res.code == 1){
|
let pdfUrl = t.$baseUrl + res.data
|
// #ifdef APP-PLUS
|
plus.runtime.openURL(pdfUrl)
|
// #endif
|
} else {
|
uni.showToast({
|
title: res.msg || '未签署合同',
|
icon: 'error'
|
})
|
}
|
})
|
},
|
popup3Open () {
|
if(this.planId == 0) {
|
return uni.showToast({
|
title: '未选中还款计划',
|
icon: 'error'
|
})
|
}
|
let t = this
|
uni.showModal({
|
title: '温馨提示',
|
content: '确认还款?',
|
success: function (resp) {
|
if(resp.confirm){
|
t.payback(2)
|
}
|
}
|
})
|
},
|
getOrderInfo() {
|
let t = this
|
t.$util.post('Order/orderInfo', {orderId: this.orderid}).then(res => {
|
if(res.code == 1) {
|
this.orderData = res.data
|
}
|
})
|
},
|
//点击计划
|
planClick(e){
|
if(e.status != 7) {
|
this.planId = e.id
|
this.payTotal = parseFloat(e.total).toFixed(2)
|
}
|
},
|
//物流
|
getExpress(item) {
|
this.$util.post('Order/getExpress2', {express_no: item.express_no, express_val: item.express_val, status: item.status}).then(res => {
|
|
if(res.code == 1){
|
this.expressData = res.data.list
|
this.$refs.popup.open()
|
} else {
|
uni.showToast({
|
title: res.msg || '查看物流失败',
|
icon: 'error'
|
})
|
}
|
})
|
},
|
//计划
|
getPlan (item) {
|
this.payTotal = 0
|
this.planIds = []
|
this.$util.post('Order/getPlanData', {orderid: item.id}).then(res => {
|
console.log('111', res)
|
if(res.code == 1){
|
this.planData = res.data
|
this.$refs.popup2.open()
|
} else {
|
uni.showToast({
|
title: res.msg || '操作失败',
|
icon: 'error'
|
})
|
}
|
})
|
},
|
//删除
|
delOrder (e) {
|
let t = this
|
uni.showModal({
|
title: '温馨提示',
|
content: '确认是否删除?',
|
success: function (resp) {
|
if(resp.confirm){
|
t.$util.post('Order/delOrder', {orderid: e.id}).then(res => {
|
if(res.code == 1){
|
uni.showToast({
|
title: res.msg || '操作成功'
|
})
|
setTimeout(() => {
|
uni.navigateBack()
|
}, 1500)
|
|
} else {
|
uni.showToast({
|
title: res.msg || '操作失败'
|
})
|
}
|
})
|
}
|
}
|
})
|
},
|
//收货
|
receiveOrder (e) {
|
let t = this
|
uni.showModal({
|
title: '温馨提示',
|
content: '确认是否收货?',
|
success: function (res) {
|
if (res.confirm) {
|
t.$util.post('Order/receiveOrder', {orderId: e.id}).then(res => {
|
if(res.code == 1) {
|
uni.showToast({
|
title: res.msg || '操作成功'
|
})
|
setTimeout(() => {
|
t.getOrderInfo()
|
}, 500)
|
} else {
|
uni.showToast({
|
title: res.msg || '操作失败'
|
})
|
}
|
})
|
}
|
}
|
})
|
},
|
//退款
|
refundOrder (e) {
|
let t = this
|
uni.showModal({
|
title: '温馨提示',
|
content: '确认是否退款?',
|
success: function (res) {
|
if (res.confirm) {
|
t.$util.post('Order/refundOrder', {orderId: e.id}).then(res => {
|
if(res.code == 1) {
|
uni.showToast({
|
title: res.msg || '操作成功'
|
})
|
setTimeout(() => {
|
t.getOrderInfo()
|
}, 1000)
|
} else {
|
uni.showToast({
|
title: res.msg || '操作失败'
|
})
|
}
|
})
|
}
|
}
|
})
|
},
|
//还款
|
payback (payment) {
|
let t = this
|
t.$util.post('Order/payback', {planId: t.planId, payment: payment}).then(res => {
|
if(res.code == 1) {
|
if(payment == 2) {
|
uni.requestPayment({
|
"provider": "wxpay",
|
"orderInfo": res.data,
|
success(rs) {
|
uni.showToast({
|
title: res.msg || '还款成功',
|
icon: 'success',
|
})
|
setTimeout(() => {
|
t.$refs.popup2.close()
|
}, 1000)
|
//三秒之后刷新
|
setTimeout(() => {
|
t.getOrderInfo()
|
}, 3000)
|
},
|
fail(e) {
|
uni.showToast({
|
title: '还款失败',
|
icon: 'error',
|
})
|
setTimeout(() => {
|
t.$refs.popup2.close()
|
}, 1000)
|
}
|
})
|
}
|
if(payment == 3) {
|
uni.showToast({
|
title: res.msg || '还款成功',
|
icon: 'success',
|
})
|
setTimeout(() => {
|
t.$refs.popup2.close()
|
t.$refs.popup3.close()
|
}, 1000)
|
//三秒之后刷新
|
setTimeout(() => {
|
t.getOrderInfo()
|
}, 3000)
|
}
|
} else {
|
uni.showToast({
|
title: res.msg || '操作失败'
|
})
|
}
|
})
|
}
|
}
|
}
|
</script>
|
|
<style>
|
@import url(/static/css/order.css);
|
</style>
|