整理订单状态显示及功能按钮

This commit is contained in:
geng.tang@qq.com
2024-01-26 15:31:43 +08:00
parent e954472f26
commit 3b5615eeef
10 changed files with 346 additions and 165 deletions

View File

@@ -14,13 +14,12 @@
</view>
<view class="item-top-right">
<text class="state-text" v-if="item.payStatus == 10">待支付</text>
<text class="state-text" v-else-if="item.orderStatus == 40">已完成</text>
<text class="state-text" v-if="item.orderStatus == 30 && item.payStatus == 20 && item.deliveryStatus == 20 && item.receiptStatus == 20">待绑定</text>
<text class="state-text" v-else-if="item.orderStatus == 30 && item.payStatus == 20 && item.deliveryStatus == 20 && item.receiptStatus == 10">待收货</text>
<text class="state-text" v-if="item.payStatus == 20 && item.deliveryStatus <= 20 && item.receiptStatus == 10">待收货</text>
<text class="state-text" v-if="item.payStatus == 20 && item.deliveryStatus == 20 && item.receiptStatus == 20">待绑定</text>
<!-- <text class="state-text" v-else-if="item.receiptStatus == 21">进行中</text> -->
<text class="state-text" v-else-if="item.orderStatus == 30 && item.payStatus == 20 && item.deliveryStatus == 40 && item.receiptStatus == 20">已绑定</text>
<text class="state-text" v-else-if="item.payStatus == 20 && item.receiptStatus == 21">进行中</text>
<text class="state-text" v-if="item.payStatus == 20 && item.deliveryStatus == 40 && item.receiptStatus == 20">进行中</text>
<text class="state-text" v-else-if="item.payStatus == 20 && item.receiptStatus == 21">退租中</text>
<text class="state-text" v-else-if="item.payStatus == 20 && item.orderStatus == 40">已完成</text>
</view>
</view>
<!-- 商品列表 -->
@@ -49,10 +48,18 @@
<text class="twoline-hide">设备编号{{ item.equipment.equipmentCode ? item.equipment.equipmentCode : ''}}</text>
<text class="twoline-hide">设备名称{{ item.equipmentGoods.goodsName }}</text>
<text class="twoline-hide">设备型号{{ item.equipmentGoods.batteryModel }}</text>
<text class="twoline-hide">下单用户{{ item.nickname }}</text>
<text class="twoline-hide yuqi-text" v-if="item.payStatus == 10 && item.expirationDay < 0">逾期状态:
(已逾期{{ Math.abs(item.expirationDay) }})</text>
<text class="twoline-hide yuqi-text"
v-if="item.payStatus == 10 && item.expirationDay < 7 && item.expirationDay > 0">逾期状态: 即将过期</text>
<!-- <view class="order-total">
<text>合计:</text>
<text class="unit" style="color: #ff0000;"></text>
<text class="money">{{ item.totalPrice }}</text>
</view> -->
<!-- <text class="twoline-hide">合计{{ item.equipmentGoods.batteryModel }}</text> -->
<text class="twoline-hide" style="padding-left: 52rpx;">合计<span style="color: #ff0000;">{{ item.totalPrice }}</span></text>
</view>
</view>
<!-- 交易信息 -->
@@ -68,17 +75,13 @@
</view>
</view>
<!-- 订单合计 -->
<view class="order-total">
<!-- <text>押金{{ item.batteryDeposit }}, 保险{{ item.batteryInsurance }}, 订单金额</text> -->
<text>合计</text>
<text class="unit" style="color: #ff0000;"></text>
<text class="money">{{ item.totalPrice }}</text>
</view>
<!-- 订单操作 -->
<view v-if="item.orderStatus != OrderStatusEnum.CANCELLED.value" class="order-handle">
<view class="btn-group clearfix">
<!-- 未支付取消订单 -->
<block v-if="item.payStatus == PayStatusEnum.PENDING.value">
<view class="btn-item active" @click="onPay(item.orderId)">去支付</view>
<view class="btn-item" @click="onCancel(item.orderId)">取消</view>
</block>
<!-- 已支付进行中的订单 -->
@@ -93,33 +96,30 @@
</block>
<!-- 已申请取消 -->
<view v-else class="f-28 col-8">取消申请中</view>
<!-- 未支付的订单 -->
<block v-if="item.payStatus == PayStatusEnum.PENDING.value">
<view class="btn-item active" @click="onPay(item.orderId)">去支付</view>
</block>
<!-- 确认收货 -->
<block v-if="item.payStatus == PayStatusEnum.SUCCESS.value && item.deliveryStatus == DeliveryStatusEnum.DELIVERED.value && item.receiptStatus == ReceiptStatusEnum.NOT_RECEIVED.value">
<!-- <view class="btn-item active"
v-if="(item.orderSourceData && JSON.parse(item.orderSourceData).length == 5) || item.equipmentGoods.equipmentCategory == '10'"
@click="onBind(item)">绑定设备</view> -->
<view class="btn-item active" @click="onReceipt(item.orderId)">确认收货</view>
</block>
<block v-if="item.orderStatus == 30 && item.payStatus == 20 && item.deliveryStatus == 20 && item.receiptStatus == 20">
<view class="btn-item active" @click="onBind(item)">绑定设备</view>
<block v-if="item.payStatus == PayStatusEnum.SUCCESS.value">
<view v-if="item.deliveryStatus <= 20 && item.receiptStatus == 10" class="btn-item active" @click="onReceipt(item.orderId)">确认收货</view>
<view v-else-if="item.orderStatus == 30 && item.deliveryStatus == 20 && item.receiptStatus == 20" class="btn-item active" @click="onBind(item)">绑定设备</view>
<view class="btn-item" @click="handleRentingOut(order)"
v-if="item.equipmentGoods.equipmentCategory != '10' && item.receiptStatus != 21 && item.receiptStatus != 30">我要退租</view>
<view class="btn-item" @click="handleRentingOut(order)"
v-if="item.equipmentGoods.equipmentCategory != '10' && item.receiptStatus == 21 && !orderEnd">取消退租</view>
<view class="btn-item" @click="handleTargetDetail(item.orderId)"
v-if="item.equipmentGoods.equipmentCategory != '10' && item.receiptStatus != 30 && item.receiptStatus != 21 && !orderEnd && item.orderId >= 28804">我要续费</view>
<block v-if="item.orderStatus == OrderStatusEnum.COMPLETED.value && item.isComment == 0">
<view class="btn-item" v-if="item.equipmentGoods.equipmentCategory == '40' && item.deliveryStatus == DeliveryStatusEnum.ACCEPT.value"
@click="handleChangeEquipment(item.orderId,item.equipment.equipmentId)">换电</view>
<!-- <view class="btn-item" v-if="item.equipmentGoods.equipmentCategory == '锂电池租赁' || item.equipmentGoods.equipmentCategory == '电动车租赁'" @click="handleTargetDetail(item.orderId)">续费</view> -->
</block>
</block>
<!-- 订单评价 -->
<block v-if="item.orderStatus == OrderStatusEnum.COMPLETED.value && item.isComment == 0">
<view class="btn-item" v-if="item.equipmentGoods.equipmentCategory == '40' && item.deliveryStatus == DeliveryStatusEnum.ACCEPT.value"
@click="handleChangeEquipment(item.orderId,item.equipment.equipmentId)">换电</view>
<!-- <view class="btn-item" v-if="item.equipmentGoods.equipmentCategory == '锂电池租赁' || item.equipmentGoods.equipmentCategory == '电动车租赁'" @click="handleTargetDetail(item.orderId)">续费</view> -->
</block>
<view class="btn-item" @click="handleTargetDetail(item.orderId)">详情</view>
<block
v-if="item.orderStatus == OrderStatusEnum.COMPLETED.value && item.isComment == 0 && item.receiptStatus != 30">
<view class="btn-item" @click="handleTargetDetail(item.orderId)"
v-if="item.equipmentGoods.equipmentCategory != '10' && !orderEnd && item.orderId >= 28804">我要续费 </view>
</block>
</view>
</view>
</view>
@@ -188,7 +188,8 @@
removeOrder,
receiptOrder,
addOrder,
getOrderPayByOrderId
getOrderPayByOrderId,
checkFreeze
} from '@/websoft/api/order.js'
/* import {
bindEquipment
@@ -280,7 +281,7 @@
// 选择的设备
equipment: {},
equipmentId: null,
showQRCodeBindChange: false
showQRCodeBindChange: false,
}
},
@@ -565,17 +566,97 @@
app.showQRCodePopup = true
})
},
handleRentingOut(order) {
const app = this
uni.showModal({
title: '提示',
content: '是否退租',
success: (result) => {
if (result.confirm) {
const {
orderId,
equipmentId
} = order
EquipmentApi.rentingOut({
orderId,
equipmentId
}).then(res => {
this.$success(res.message)
setTimeout(() => {
// 刷新当前订单数据
app.onRefreshList()
}, 1000)
}).catch(err => {
this.$success(err.message)
})
}
}
})
},
// 点击去支付
onPay(orderId) {
const app = this
getOrderPayByOrderId(orderId).then(res => {
this.$navTo('pages/checkout/cashier/index', {
orderId: res.data.id
})
if(res.data.isRenew == 0 && res.data.hasFreeze == 0){
if (res.data.equipmentCategory != 10 && res.data.orderStr) {
my.tradePay({
orderStr: res.data.orderStr, // 完整的支付参数拼接成的字符串,从服务端获取
success: (res) => {
},
fail: (res) => {
},
complete: () => {
checkFreeze(orderId).then((r) => {
if(r.code == 0){
// app.$success("押金校验成功!")
setTimeout(() => {
// uni.redirectTo({
// url: '/pages/order/index'
// })
this.$navTo('pages/checkout/cashier/index', {
orderId: r.data.id
})
}, 500)
}
else {
app.$error(r.message)
app.onRefreshList()
}
})
}
});
} else {
checkFreeze(orderId).then((r) => {
if(r.code == 0){
app.$success("押金校验成功")
setTimeout(() => {
// uni.redirectTo({
// url: '/pages/order/index'
// })
// app.onRefreshList()
this.$navTo('pages/checkout/cashier/index', {
orderId: r.data.id
})
}, 500)
}
else {
app.$error(r.message)
app.onRefreshList()
}
})
}
} else {
this.$navTo('pages/checkout/cashier/index', {
orderId: res.data.id
})
}
})
},
// 跳转到订单详情页
@@ -660,12 +741,12 @@
// 商品项
.goods-item {
display: flex;
margin-bottom: 40rpx;
margin-bottom: 10rpx;
// 商品图片
.goods-image {
width: 100rpx;
height: 100rpx;
// height: 200rpx;
.image {
display: block;
@@ -684,7 +765,7 @@
.goods-title {
width: 420rpx;
font-size: 26rpx;
max-height: 76rpx;
// max-height: 76rpx;
line-height: 36rpx;
}
@@ -736,9 +817,9 @@
font-size: 26rpx;
vertical-align: bottom;
text-align: right;
height: 80rpx;
padding-top: 60rpx;
margin-bottom: 30rpx;
// height: 80rpx;
// padding-top: 60rpx;
// margin-bottom: 30rpx;
.unit {
margin-left: 8rpx;
@@ -755,10 +836,9 @@
// 订单操作
.order-handle {
.btn-group {
.btn-item {
border-radius: 10rpx;
padding: 8rpx 20rpx;
padding: 8rpx 10rpx;
margin-left: 15rpx;
font-size: 26rpx;
float: right;