2025-06-05 14:20:51 +08:00
|
|
|
<template>
|
2025-06-05 18:01:31 +08:00
|
|
|
<view>
|
2025-06-05 14:20:51 +08:00
|
|
|
<view class="content_wrapper">
|
2025-06-05 18:01:31 +08:00
|
|
|
<view
|
2025-06-05 14:20:51 +08:00
|
|
|
class="box"
|
2025-06-05 18:01:31 +08:00
|
|
|
v-for="(it,id) of orderList"
|
|
|
|
|
:key="id"
|
2025-06-05 14:20:51 +08:00
|
|
|
>
|
|
|
|
|
<!-- 车辆编号 -->
|
|
|
|
|
<view class="row">
|
|
|
|
|
<text class="label">车辆编号</text>
|
|
|
|
|
<view class="value">
|
2025-06-05 18:01:31 +08:00
|
|
|
<text style="margin-right: 30rpx;">{{ it?.bikeCode || '-' }}</text>
|
2025-06-06 16:12:26 +08:00
|
|
|
<uni-icons custom-prefix="iconfont"
|
|
|
|
|
type="icon-ebikeyinlianglabashengyin"
|
|
|
|
|
style="position: relative;top:5rpx"
|
|
|
|
|
color="#0084FF"
|
|
|
|
|
size="25"
|
|
|
|
|
@click="checkEcu(it)"
|
|
|
|
|
/>
|
2025-06-05 14:20:51 +08:00
|
|
|
</view>
|
|
|
|
|
</view>
|
2025-06-05 18:01:31 +08:00
|
|
|
<!-- 最新电量 -->
|
2025-06-05 14:20:51 +08:00
|
|
|
<view class="row">
|
2025-06-05 18:01:31 +08:00
|
|
|
<text class="label">最新电量</text>
|
2025-06-06 16:12:26 +08:00
|
|
|
<text class="value">{{ it?.soc }}%</text>
|
2025-06-05 14:20:51 +08:00
|
|
|
</view>
|
2025-06-05 18:01:31 +08:00
|
|
|
<!-- 最后骑行时间 -->
|
|
|
|
|
<view class="row">
|
|
|
|
|
<text class="label">最后骑行时间</text>
|
|
|
|
|
<text class="value">{{ it?.latestTimestamep || '-' }}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<!-- 电量刷新时间 -->
|
|
|
|
|
<view class="row">
|
|
|
|
|
<text class="label">电量刷新时间</text>
|
|
|
|
|
<text class="value">{{ it?.refreshTimestamp || '-' }}</text>
|
|
|
|
|
</view>
|
2025-06-05 14:20:51 +08:00
|
|
|
<!-- 设备位置 -->
|
|
|
|
|
<view class="row">
|
|
|
|
|
<text class="label">设备位置</text>
|
2025-06-06 16:12:26 +08:00
|
|
|
<view
|
|
|
|
|
class="value"
|
|
|
|
|
@click="navigator.to('/pages/map/map-findbike',{
|
|
|
|
|
longitude:it.longitude,
|
|
|
|
|
latitude:it.latitude
|
|
|
|
|
})"
|
|
|
|
|
>
|
2025-06-05 14:20:51 +08:00
|
|
|
<view>查看地图</view>
|
2025-06-06 16:12:26 +08:00
|
|
|
<view style="color: darkgrey;font-size: 26rpx;">{{ (it?.longitude || '-') + ',' + (it?.latitude || '-')}}</view>
|
2025-06-05 14:20:51 +08:00
|
|
|
</view>
|
|
|
|
|
<uni-icons type="right" size="20" class="arrows" color="grey"></uni-icons>
|
2025-06-06 16:12:26 +08:00
|
|
|
</view>
|
2025-06-05 18:01:31 +08:00
|
|
|
</view>
|
2025-06-05 14:20:51 +08:00
|
|
|
<view style="width: 100%;height: 100rpx;"></view>
|
|
|
|
|
<!-- 确认接单按钮 -->
|
2025-06-05 18:01:31 +08:00
|
|
|
<view class="btn_wrapper" v-if="orderList.length > 0" >
|
2025-06-05 14:20:51 +08:00
|
|
|
<button class="btn_style">确认接单</button>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
2025-06-05 18:01:31 +08:00
|
|
|
<empty-component v-if="orderList.length === 0" description="无可接单数据"/>
|
|
|
|
|
</view>
|
2025-06-05 14:20:51 +08:00
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup>
|
|
|
|
|
import { ref } from 'vue';
|
|
|
|
|
import { onLoad } from '@dcloudio/uni-app';
|
|
|
|
|
import navigator from '@/utils/navigator.js';
|
2025-06-05 18:01:31 +08:00
|
|
|
import EmptyComponent from '@/components/empty-component/empty-component.vue';
|
2025-06-06 16:12:26 +08:00
|
|
|
import {checkEcuBells} from "@/utils/commonApi";
|
2025-06-05 18:01:31 +08:00
|
|
|
|
|
|
|
|
const orderList = ref([]);
|
2025-06-05 14:20:51 +08:00
|
|
|
|
|
|
|
|
onLoad((options) => {
|
2025-06-09 17:42:33 +08:00
|
|
|
const { changeBatteryArr = [] } = navigator.getParams(options);
|
2025-06-05 18:01:31 +08:00
|
|
|
orderList.value = changeBatteryArr
|
2025-06-05 14:20:51 +08:00
|
|
|
});
|
|
|
|
|
|
2025-06-06 16:12:26 +08:00
|
|
|
const checkEcu = (it) => {
|
|
|
|
|
checkEcuBells(it)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2025-06-05 14:20:51 +08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
.content_wrapper{
|
|
|
|
|
position: fixed;
|
|
|
|
|
top: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100vh;
|
|
|
|
|
padding: 30rpx;
|
|
|
|
|
background-color: rgb(226, 223, 223,.5);
|
|
|
|
|
overflow-y: auto;
|
|
|
|
|
|
|
|
|
|
.box{
|
|
|
|
|
position: relative;
|
|
|
|
|
width: 100%;
|
|
|
|
|
padding: 35rpx 25rpx;
|
|
|
|
|
background-color: white;
|
|
|
|
|
border-radius: 12rpx;
|
|
|
|
|
box-shadow: 0 2px 8px #0000000d;
|
|
|
|
|
margin-bottom: 30rpx;
|
|
|
|
|
|
|
|
|
|
.row{
|
|
|
|
|
position: relative;
|
|
|
|
|
display: flex;
|
|
|
|
|
font-size: 30rpx;
|
|
|
|
|
align-items: baseline;
|
|
|
|
|
margin-bottom: 30rpx;
|
|
|
|
|
:last-child{
|
|
|
|
|
margin-bottom: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.label{
|
2025-06-05 18:01:31 +08:00
|
|
|
width: 200rpx;
|
2025-06-05 14:20:51 +08:00
|
|
|
color: gray;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.value{
|
|
|
|
|
width: calc(100% - 230rpx);
|
|
|
|
|
word-wrap: break-word;
|
|
|
|
|
word-break: break-all;
|
|
|
|
|
white-space: pre-wrap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.arrows{
|
|
|
|
|
position: absolute;
|
|
|
|
|
right: 0;
|
|
|
|
|
top:0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.deleteBtn{
|
|
|
|
|
position: absolute;
|
|
|
|
|
right: 20rpx;
|
|
|
|
|
top: 25rpx;
|
|
|
|
|
color: red;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.btn_wrapper{
|
|
|
|
|
position: fixed;
|
|
|
|
|
left: 0;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
padding: 20rpx 40rpx 30rpx 40rpx;
|
|
|
|
|
background-color: white;
|
|
|
|
|
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
|
|
|
|
|
|
|
|
|
|
.btn_style{
|
|
|
|
|
color: white;
|
|
|
|
|
background-color: #3875f6;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
</style>
|