feat: 添加设备归还功能和时间解析逻辑

在订单页面中添加了设备归还按钮,允许用户在订单状态为1时归还设备。同时,在归还页面中优化了时间解析逻辑,确保能够正确处理后端返回的时间格式,并更新使用时长和费用信息。删除了不再使用的axios相关文件,整合了uview-ui库以提升项目性能。
This commit is contained in:
8vd8
2025-04-10 14:19:05 +08:00
parent 3fecd77739
commit 3491d93e27
16 changed files with 1174 additions and 2712 deletions
+1
View File
@@ -19,6 +19,7 @@
<view class="order-header">
<text class="order-no">订单号{{ order.orderNo }}</text>
<text class="order-status" :class="OrderStatusMap[order.status]?.class">{{ OrderStatusMap[order.status]?.text }}</text>
<navigator v-if="order.status === 1" :url="`/pages/return/index?deviceId=${order.deviceId}&orderId=${order.orderNo}`" class="return-btn">归还设备</navigator>
</view>
<view class="order-content">
<view class="device-info">
+17 -19
View File
@@ -98,11 +98,21 @@ export default {
}
const result = await queryById(this.orderInfo.orderId)
if (result.code === 200 && result.data) {
const orderData = result.data
// 格式化开始时间
this.orderInfo.startTime = this.formatTime(new Date(orderData.createTime))
const rawTime = orderData.startTime
console.log('原始时间:', rawTime)
const fixedTime = rawTime.replace(' ', 'T')
const date = new Date(fixedTime)
console.log('原始时间:', rawTime);
if (isNaN(date.getTime())) {
this.orderInfo.startTime = '时间解析错误'
} else {
console.log('原始时间:', rawTime);
this.orderInfo.startTime = this.formatTime(date)
}
// 计算使用时长
this.calculateUsedTime(orderData.createTime)
// 设置当前费用
@@ -138,22 +148,10 @@ export default {
return `${year}-${month}-${day} ${hour}:${minute}`
},
// 计算使用时长
calculateUsedTime(startTime) {
const start = new Date(startTime)
const now = new Date()
const diffMs = now - start
// 计算分钟数
const minutes = Math.floor(diffMs / (1000 * 60))
if (minutes < 60) {
this.orderInfo.usedTime = `${minutes}分钟`
} else {
const hours = Math.floor(minutes / 60)
const remainMinutes = minutes % 60
this.orderInfo.usedTime = `${hours}小时${remainMinutes}分钟`
}
// 使用后端返回的使用时长和费用数据
updateOrderInfo(orderData) {
this.orderInfo.usedTime = orderData.usedTime || '0分钟';
this.orderInfo.currentFee = orderData.currentFee || '0.00';
},
// 更新使用时长的定时器