From c7f263fb13f28d6e2c003b073a37a128e5100640 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F?= <736883394@qq.com>
Date: Thu, 24 Apr 2025 13:54:30 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E9=AA=91=E8=A1=8C=E7=AB=AF=E6=A1=8C?=
=?UTF-8?q?=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ebike-maintenance/pages/home/home.css | 11 +-
ebike-maintenance/pages/user/home/home.vue | 267 +++++++++++-------
.../pages/user/scan/scancode.vue | 34 +--
ebike-maintenance/utils/usermap.js | 11 +-
ebike-operate/src/utils/authority.js | 46 +--
5 files changed, 217 insertions(+), 152 deletions(-)
diff --git a/ebike-maintenance/pages/home/home.css b/ebike-maintenance/pages/home/home.css
index 0581738..4fef0f0 100644
--- a/ebike-maintenance/pages/home/home.css
+++ b/ebike-maintenance/pages/home/home.css
@@ -5,18 +5,17 @@
padding-left: 10px;
font-size: 16px;
color: #d8d3d3db;
- display: flex;
- justify-content: space-evenly;
}
.divHead label {
- margin-right: 20px;
+ margin-right: 30px;
+ padding-bottom: 3px;
+ border-bottom: 2px solid #bdb9b9a1;
}
.divHeadSel {
- margin-right: 20px;
- padding-bottom: 3px;
- border-bottom: 2px solid white;
+
+ border-bottom: 2px solid white !important;
font-weight: bold;
color: white !important;
}
diff --git a/ebike-maintenance/pages/user/home/home.vue b/ebike-maintenance/pages/user/home/home.vue
index 9e77b3d..daa81cd 100644
--- a/ebike-maintenance/pages/user/home/home.vue
+++ b/ebike-maintenance/pages/user/home/home.vue
@@ -62,7 +62,8 @@
@click="lockRiding" />
-
+
@@ -103,11 +104,11 @@
-
-
+
+
-
+
@@ -131,7 +132,10 @@
findIndex
} from 'lodash';
import config from '@/utils/config';
- import {onShow} from "@dcloudio/uni-app";
+ import {
+ onShow,
+ onUnload
+ } from "@dcloudio/uni-app";
import * as map from "@/utils/usermap.js";
const imgPath = config.imgPath;
@@ -145,10 +149,12 @@
const polygons = ref([]); //面
const polylines = ref([]); //线
const circles = ref([]); //圆
+ const pointStart=100000000000;
+ const pointEnd=100000000001;
let oMap = null;
-
- const showTools=ref(true);
+
+ const showTools = ref(true);
let oUser = null;
const showMess = ref(uni.getStorageSync("kbike-mess"));
const hasOrder = ref(false); //是否有订单
@@ -168,7 +174,8 @@
};
let orderTimer = null;
const orderState = ref(0);
- const showOrderPay=ref(false);
+ const showOrderPay = ref(false);
+
//车辆
@@ -177,57 +184,65 @@
//加载数据
function getLoalcationData() {
- uni.getLocation({
- type: 'gcj02',
- geocode: true,
- success(res) {
+ map.getLoalcation(res=>{
+ const {
+ latitude,
+ longitude
+ } = res;
+ location.value = {
+ latitude,
+ longitude
+ };
+ oMap.moveToLocation({})
+ const params = {
+ latitude,
+ longitude,
+ radius: 20
+ };
+ callOrdereApi("userOrders/bikeList", params, "post").then(res => {
+ console.log("11111111111111111", "userOrders/bikeList", res);
const {
- latitude,
- longitude
+ code,
+ data,
+ message
} = res;
- location.value = {
- latitude,
- longitude
- };
- const params = {
- latitude,
- longitude,
- radius:20
- };
- callOrdereApi("userOrders/bikeList", params, "post").then(res => {
- console.log("11111111111111111", "userOrders/bikeList", res);
+ if (code != 200) {
+ showModelMessage(message);
+ return;
+ }
+ arrBikeData = data || [];
+ const arrData = markers.value || [];
+ arrBikeData.map((item) => {
const {
- code,
- data,
- message
- } = res;
- if (code != 200) {
- showModelMessage(message);
- return;
- }
- arrBikeData = data || [];
- const arrData = markers.value || [];
- arrBikeData.map((item) => {
- const {
- longitude,
- latitude
- } = item;
- let index = findIndex(arrData, {
- longitude,
- latitude
- });
- index = index == -1 ? arrData.length : index;
- arrData[index] = map.addMarker(index, longitude, latitude, "mapbike.png",
- true);
- })
- markers.value = arrData;
+ longitude,
+ latitude
+ } = item;
+ let index = findIndex(arrData, {
+ longitude,
+ latitude
+ });
+ index = index == -1 ? arrData.length : index;
+ arrData[index] = map.addMarker(index, longitude, latitude, "mapbike.png",
+ true);
})
+ markers.value = arrData;
+ });
+ })
+ // uni.getLocation({
+ // type: 'gcj02',
+ // geocode: true,
+ // success(res) {
+ // location.value = {
+ // latitude,
+ // longitude
+ // };
+
- },
- fail(res) {
+ // },
+ // fail(res) {
- }
- });
+ // }
+ // });
}
function clickMess() {
@@ -258,7 +273,7 @@
return;
}
uni.navigateTo({
- url:"/pages/user/scan/applysite"
+ url: "/pages/user/scan/applysite"
})
}
@@ -289,12 +304,12 @@
}
-
-
+
+
//显示订单
function openOrderPay() {
- showTools.value=false;
- showOrderPay.value=true;
+ showTools.value = false;
+ showOrderPay.value = true;
}
//获取订单
@@ -342,9 +357,14 @@
return;
}
showOrder.value = true;
- if (!orderTimer) {
- orderTimer = setInterval(getTracking, 10000);
+ if(tempLock==1){
+ getTracking();
+ return;
}
+ getTracking();
+ // if (!orderTimer) {
+ // orderTimer = setInterval(getTracking, 100000);
+ // }
})
}
@@ -361,10 +381,14 @@
ebikeCode: bikeCode,
startTime: createdAt
}
- if(endTime) params={...params,endTime}
-
- console.log("7777777777777",params);
+ if (endTime) params = {
+ ...params,
+ endTime
+ }
+
+ console.log("7777777777777", params);
callOperateApi("ebikeTracking/query", params, "post").then(res => {
+ console.log("7777777777777", "ebikeTracking/query", res);
const {
code,
data,
@@ -373,7 +397,7 @@
if (code != 200) {
return;
}
- const arrPoints = !data ? [] : data.map(item => {
+ const arrPoints = (!data || data.length == 0) ? [] : data.map(item => {
const {
lngGCJ02,
latGCJ02
@@ -382,29 +406,29 @@
longitude: lngGCJ02,
latitude: latGCJ02
}
- })
- if(data){
- let {lngGCJ02:endlng,latGCJ02:endlat}=data[data.length-1];
- arrMakers[index+1] = map.addMarker(id, endlng, endlat, "end.png");
- }
- const startPoint=ridePoint.split(",");
+ });
+
+ const startPoint = ridePoint.split(",");
const lng = startPoint[0];
const lat = startPoint[1];
const start = {
longitude: lng,
latitude: lat
}
- arrPoints.splice(0, 0, start);
-
const arrMakers = markers.value || [];
- const id = 10000000;
- let index = findIndex(arrMakers, {
- id
- });
- index = index == -1 ? arrMakers.length : index;
- arrMakers[index] = map.addMarker(id, lng, lat, "start.png");
- markers.value =arrMakers;
- if(arrPoints.length>1){
+ arrPoints.splice(0, 0, start);
+ let indexStart = findIndex(arrMakers, {pointStart});
+ indexStart = indexStart == -1 ? arrMakers.length : indexStart;
+ arrMakers[indexStart] = map.addMarker(pointStart, lng, lat, "start.png");
+ if (data && data.length > 0) {
+ let {
+ lngGCJ02: endlng,
+ latGCJ02: endlat
+ } = data[data.length - 1];
+ arrMakers[indexStart + 1] = map.addMarker(pointEnd, endlng, endlat, "end.png");
+ }
+ markers.value = arrMakers;
+ if (arrPoints.length > 1) {
polylines.value = [map.addLine("#168DED", arrPoints)];
}
})
@@ -428,25 +452,35 @@
//临时锁车
function lockRiding() {
- showModelMessage("该功能暂未实现!");
const {
userId
} = oUser;
- const{bikeCode}=orderData;
- const params={
+ const {
+ bikeCode
+ } = orderData;
+ const params = {
userId,
bikeCode
}
- callOrdereApi("userOrders/tempLock",params,"post").then(res=>{
- const{code,message,data}=res;
- console.log("6666666666666666","lockRiding",res);
+ callOrdereApi("userOrders/tempLock", params, "post").then(res => {
+ const {
+ code,
+ message,
+ data
+ } = res;
+ showModelMessage(message)
+ if(code==200){
+ if(orderTimer) {
+ clearInterval(orderTimer);
+ orderTimer=null;
+ }
+ orderState.value = 1;
+ }
});
- orderState.value = 1;
}
//结束用车
function endRiding() {
- showModelMessage("该功能暂未实现!");
const {
userId
} = oUser;
@@ -463,50 +497,75 @@
data,
message
} = res;
- console.log("111111111111111111111111", "endRiding", res);
if (code != 200) {
showModelMessage(message);
return;
}
completeRiding();
+ openOrderPay();
})
}
//继续骑行 需要开锁
function continueRiding() {
- showModelMessage("该功能暂未实现!");
- orderState.value = 0;
+ const {
+ userId
+ } = oUser;
+ const {
+ bikeCode
+ } = orderData;
+ const params = {
+ userId,
+ bikeCode
+ }
+ callOrdereApi("userOrders/continueCycling", params, "post").then(res => {
+ const {
+ code,
+ message,
+ data
+ } = res;
+ showModelMessage(message)
+ if(code==200){
+ if(orderTimer) {
+ clearInterval(orderTimer);
+ orderTimer=null;
+ }
+ orderState.value = 0;
+ }
+ });
//getOrder();
}
//查看车辆信息
function openBikeInfo(e) {
showModelMessage("该功能暂未实现!");
- if(!oUser){
+ if (!oUser) {
tologin();
return;
}
- console.log("33333333333333333",e);
+ console.log("33333333333333333", e);
showBikeInfo.value = true;
- showTools.value=false;
+ showTools.value = false;
}
//关闭车辆信息
- function closeBikeInfo(){
- showBikeInfo.value =false;
- showTools.value=true;
+ function closeBikeInfo() {
+ showBikeInfo.value = false;
+ showTools.value = true;
}
- getLoalcationData();
-
- onShow(() => {
- oUser=uni.getStorageSync("wechat_user");
- console.log("7777777777777777777777",oUser)
+ onMounted(()=>{
const instance = getCurrentInstance();
oMap = uni.createMapContext("mapRef", {
this: instance.proxy
});
+ })
+ onShow(() => {
+ oUser = uni.getStorageSync("wechat_user");
+ console.log("7777777777777777777777","oUser", oUser)
+ getLoalcationData();
+
const {
userId
} = oUser;
@@ -515,6 +574,10 @@
}
});
+
+ onUnload(() => {
+ console.log("9999999999999999999", "onUnload",orderTimer);
+ })
\ No newline at end of file