diff --git a/pages/index/index.vue b/pages/index/index.vue
index 6428235..7fa9aee 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -10,16 +10,26 @@
- 创享电动车
-
+
+
- 嵛你出行
+
-
-
+
+
+
+
+
+
+ {{ cleanedText() }}
+ {{ cleanedText() }}
+
+
+
+
@@ -665,7 +675,7 @@
style="height: 290rpx;">
-
+
继续用车
@@ -777,8 +787,8 @@
返回
-
- 重新连接
+
+ 重新尝试
@@ -837,7 +847,8 @@
-
+
+
{{item.remainingPower}}%
@@ -968,6 +979,8 @@
buleback: false,
bulepayback: false,
bulebindcar: false,
+
+
backfalse: 0,
statusBarHeight: 0,
// 导航栏高度
@@ -983,8 +996,9 @@
ispaid: false,
isInParkingArea: null,
specificDeviceMarkerId: null,
-
- nearbyMarkers:[]
+
+ nearbyMarkers: [],
+ duration:0
}
},
watch: {
@@ -993,6 +1007,11 @@
// console.log('userId 发生变化', newValue, oldValue);
this.getisInOrder()
},
+ cleanedText() {
+ this.$nextTick(() => {
+ this.initScroll();
+ });
+ }
},
@@ -1057,8 +1076,8 @@
},
onShow() {
this.timestare()
- this.backfalse=0
- this.carstause=false
+ this.backfalse = 0
+ this.carstause = false
// 检查蓝牙权限状态
uni.getBluetoothAdapterState({
success: function(res) {
@@ -1179,6 +1198,7 @@
}
},
+
onHide() {
// 页面隐藏时清除定时器
if (this.timers) {
@@ -1216,8 +1236,8 @@
});
},
computed: {
-
-
+
+
userId() {
return this.$store.getters.userId;
},
@@ -1231,6 +1251,30 @@
},
},
methods: {
+
+ cleanedText() {
+ return this.areaInfo.agreement.replace(/<\/?[^>]+(>|$)/g, "");
+ },
+ tryagain() {
+ if (this.buleclose) {
+ this.buleclose = false
+ this.loackdevice()
+ }
+ if (this.buleopen) {
+ this.buleopen = false
+ this.unloackdevices()
+ }
+ if (this.buleback) {
+ this.buleback = false
+ this.cheackgps()
+ }
+ if (this.bulepayback) {
+ this.bulepayback = false
+ this.payback()
+ }
+ // bulepayback: false,
+ // bulebindcar: false,
+ },
routePlanning(end_lat, end_long) {
console.log('调用了');
let that = this
@@ -1285,7 +1329,10 @@
}
})
},
-
+ closemaske() {
+ this.maskloading = false
+ this.backfalse = 0
+ },
onMapTap(event) {
this.showdevice = false
@@ -1304,13 +1351,13 @@
// this.close()
// 在这里添加你的回调逻辑
},
- tapsn(sn){
+ tapsn(sn) {
const markerExists = this.listData.some(item => item.sn == sn);
-
+
if (markerExists) {
- this.sn =sn;
+ this.sn = sn;
this.deviceInfo(0);
-
+
// Revert the last clicked marker to the default image and zIndex
if (this.lastClickedMarkerId !== null) {
this.markers = this.markers.map(marker => {
@@ -1326,7 +1373,7 @@
return marker;
});
}
-
+
// Update the clicked marker's image and zIndex
this.markers = this.markers.map(marker => {
if (marker.id == sn) {
@@ -1340,17 +1387,17 @@
}
return marker;
});
-
+
// Store the ID of the currently clicked marker
this.lastClickedMarkerId = sn;
-
-
+
+
} else {
console.log('Marker ID does not exist in the list data');
}
},
onMarkerTap(e) {
-
+
this.showdevice = false;
this.deviceIndex = 0;
this.type = 0;
@@ -1397,7 +1444,7 @@
});
// Store the ID of the currently clicked marker
-
+
// Get the latitude and longitude of the clicked marker
const clickedMarker = this.markers.find(marker => marker.id === e.markerId);
@@ -1434,7 +1481,7 @@
}
return false;
});
- this.nearbyMarkers=nearbyMarkers
+ this.nearbyMarkers = nearbyMarkers
console.log('Nearby markers within 15 meters:', nearbyMarkers);
},
haversineDistance(lat1, lon1, lat2, lon2) {
@@ -1450,115 +1497,117 @@
},
getmarks() {
- let data = {
- areaId: this.areaInfo.areaId
- };
- if (this.areaInfo.areaId) {
- this.$u.get(`/app/allVehicleByArea`, data).then((res) => {
- if (res.code === 200 && res.data != '') {
- this.listData = res.data;
- const newDeviceMarkers = this.listData.map(item => ({
- id: parseFloat(item.sn),
- latitude: parseFloat(item.latitude),
- longitude: parseFloat(item.longitude),
- width: 40,
- height: 28,
- iconPath: this.defaultMarkerIconPath,
- isDeviceMarker: true // 区分为设备标记
- }));
-
- // 保留停车标记和特定设备标记
- const preservedMarkers = this.markers.filter(marker => marker.isParkingMarker || marker.id === parseFloat(this.OrderdeviceInfos.sn));
-
- // 更新markers数组,避免删除已识别的重要标记
- let updatedMarkers = [...newDeviceMarkers, ...preservedMarkers];
-
- // 确保点击的标记保持其图标
- if (this.lastClickedMarkerId != null) {
- updatedMarkers = updatedMarkers.map(marker => {
- if (marker.id === this.lastClickedMarkerId) {
- return {
- ...marker,
- width: 50,
- height: 35,
- iconPath: this.clickedMarkerIconPath
- };
- }
- return marker;
- });
- }
-
- // 使用this.$set触发Vue的响应式更新
- this.$set(this, 'markers', updatedMarkers);
-
- this.oldMarkers = [...this.markers];
- }
- }).catch(error => {
- console.error("Error fetching device data:", error);
- });
- }
+ let data = {
+ areaId: this.areaInfo.areaId
+ };
+ if (this.areaInfo.areaId) {
+ this.$u.get(`/app/allVehicleByArea`, data).then((res) => {
+ if (res.code === 200 && res.data != '') {
+ this.listData = res.data;
+ const newDeviceMarkers = this.listData.map(item => ({
+ id: parseFloat(item.sn),
+ latitude: parseFloat(item.latitude),
+ longitude: parseFloat(item.longitude),
+ width: 40,
+ height: 28,
+ iconPath: this.defaultMarkerIconPath,
+ isDeviceMarker: true // 区分为设备标记
+ }));
+
+ // 保留停车标记和特定设备标记
+ const preservedMarkers = this.markers.filter(marker => marker.isParkingMarker || marker
+ .id === parseFloat(this.OrderdeviceInfos.sn));
+
+ // 更新markers数组,避免删除已识别的重要标记
+ let updatedMarkers = [...newDeviceMarkers, ...preservedMarkers];
+
+ // 确保点击的标记保持其图标
+ if (this.lastClickedMarkerId != null) {
+ updatedMarkers = updatedMarkers.map(marker => {
+ if (marker.id === this.lastClickedMarkerId) {
+ return {
+ ...marker,
+ width: 50,
+ height: 35,
+ iconPath: this.clickedMarkerIconPath
+ };
+ }
+ return marker;
+ });
+ }
+
+ // 使用this.$set触发Vue的响应式更新
+ this.$set(this, 'markers', updatedMarkers);
+
+ this.oldMarkers = [...this.markers];
+ }
+ }).catch(error => {
+ console.error("Error fetching device data:", error);
+ });
+ }
},
-
+
timestare() {
- this.timers = setInterval(() => {
- this.getmarks();
-
- if (this.orderinfo.sn) {
- this.$u.get('/app/device/info?sn=' + this.orderinfo.sn).then((res) => {
- if (res.code === 200) {
- this.mac = this.OrderdeviceInfos.mac;
-
- if (this.OrderdeviceInfos.onlineStatus !== res.data.onlineStatus) {
- this.OrderdeviceInfos = res.data;
- }
-
- if (this.OrderdeviceInfos.status !== res.data.status) {
- this.getisInOrder();
- }
-
- const sn = parseFloat(res.data.sn);
- const latitude = parseFloat(res.data.latitude);
- const longitude = parseFloat(res.data.longitude);
-
- // 查找现有的marker
- let markerIndex = this.markers.findIndex(marker => marker.id === sn);
-
- if (markerIndex !== -1) {
- // 更新已有的marker
- this.markers[markerIndex].latitude = latitude;
- this.markers[markerIndex].longitude = longitude;
- } else {
- // 添加新的marker
- const specificDeviceMarker = {
- id: sn,
- latitude: latitude,
- longitude: longitude,
- width: 5,
- height: 5,
- iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u4D2g8B76trqZLhIiNWN'
- };
- this.markers.push(specificDeviceMarker);
- }
-
- // 强制更新 markers 数据
- this.$set(this, 'markers', [...this.markers]);
-
- } else {
- // 处理接口返回错误的情况
- }
- }).catch(error => {
- console.error("Error fetching specific device data:", error);
- });
- } else {
- // 查找并移除对应的marker
- const markerIndex = this.markers.findIndex(marker => marker.id === parseFloat(this.OrderdeviceInfos.sn));
- if (markerIndex !== -1) {
- this.markers.splice(markerIndex, 1);
- // 强制更新 markers 数据
- this.$set(this, 'markers', [...this.markers]);
- }
- }
- }, 3000); // 每3秒执行一次
+ this.timers = setInterval(() => {
+ this.getmarks();
+
+ if (this.orderinfo.sn) {
+ this.$u.get('/app/device/info?sn=' + this.orderinfo.sn).then((res) => {
+ if (res.code === 200) {
+ this.mac = this.OrderdeviceInfos.mac;
+ // this.OrderdeviceInfos.onlineStatus = '1'
+ if (this.OrderdeviceInfos.onlineStatus !== res.data.onlineStatus) {
+ this.OrderdeviceInfos = res.data;
+ }
+
+ if (this.OrderdeviceInfos.status !== res.data.status) {
+ this.getisInOrder();
+ }
+
+ const sn = parseFloat(res.data.sn);
+ const latitude = parseFloat(res.data.latitude);
+ const longitude = parseFloat(res.data.longitude);
+
+ // 查找现有的marker
+ let markerIndex = this.markers.findIndex(marker => marker.id === sn);
+
+ if (markerIndex !== -1) {
+ // 更新已有的marker
+ this.markers[markerIndex].latitude = latitude;
+ this.markers[markerIndex].longitude = longitude;
+ } else {
+ // 添加新的marker
+ const specificDeviceMarker = {
+ id: sn,
+ latitude: latitude,
+ longitude: longitude,
+ width: 5,
+ height: 5,
+ iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u4D2g8B76trqZLhIiNWN'
+ };
+ this.markers.push(specificDeviceMarker);
+ }
+
+ // 强制更新 markers 数据
+ this.$set(this, 'markers', [...this.markers]);
+
+ } else {
+ // 处理接口返回错误的情况
+ }
+ }).catch(error => {
+ console.error("Error fetching specific device data:", error);
+ });
+ } else {
+ // 查找并移除对应的marker
+ const markerIndex = this.markers.findIndex(marker => marker.id === parseFloat(this
+ .OrderdeviceInfos.sn));
+ if (markerIndex !== -1) {
+ this.markers.splice(markerIndex, 1);
+ // 强制更新 markers 数据
+ this.$set(this, 'markers', [...this.markers]);
+ }
+ }
+ }, 3000); // 每3秒执行一次
},
toggleIconAndCallout() {
this.showIconAndCallout = !this.showIconAndCallout;
@@ -1692,12 +1741,12 @@
this.seeDetail = false;
if (res.code === 200) {
this.opencar()
- this.backfalse=0
+ this.backfalse = 0
this.loadimg = 'https://lxnapi.ccttiot.com/bike/img/static/upNvRa9ZQMyiwxLliF5z';
this.toploadtxt = '开锁成功';
this.buletxt = '开锁成功';
- this.lastClickedMarkerId=null
- this.mappolyline=[]
+ this.lastClickedMarkerId = null
+ this.mappolyline = []
setTimeout(() => {
this.maskloading = false;
this.getisInOrder();
@@ -1910,8 +1959,8 @@
}, 5000)
},
-
-
+
+
cheackgps() {
let that = this
uni.getLocation({
@@ -1930,12 +1979,13 @@
that.$u.get('/appVerify/isInParkingArea?', data).then((res) => {
if (res.code == 200) {
- // let parkingReturn = true
+ // let parkingReturn = false
// let isInParkingArea = false
let parkingReturn = res.data
.parkingReturn /** 强制停车点还车 true:开启,false:关闭*/
let isInParkingArea = res.data.isInParkingArea /** 是否在停车区内*/
- that.isInParkingArea = res.data.isInParkingArea
+ that.isInParkingArea = res.data
+ .parkingReturn
if (parkingReturn) {
// 不可以在停车点外还车
if (isInParkingArea) {
@@ -1958,7 +2008,7 @@
if (res.code === 200) {
that.reboot()
- that.backfalse=0
+ that.backfalse = 0
that.isbackdevice = false
// that.close()
// that.getisInOrder()
@@ -2014,7 +2064,7 @@
if (res.code === 200) {
that.reboot()
- that.backfalse=0
+ that.backfalse = 0
that.isbackdevice = false
that.loadimg =
'https://lxnapi.ccttiot.com/bike/img/static/upNvRa9ZQMyiwxLliF5z';
@@ -2117,7 +2167,7 @@
})
},
payback() {
-
+
if (this.OrderdeviceInfos.onlineStatus == 1 && this.backfalse < 1) {
// 设备未离线
console.log('在线还车');
@@ -2137,20 +2187,21 @@
this.$u.post('/appVerify/device/return?returnType=1&orderNo=' + this.orderinfo.orderNo +
'&isInParkingArea=' + this.isInParkingArea).then((
res) => {
-
+ // res.code=500
if (res.code === 200) {
- this.loadimg = 'https://lxnapi.ccttiot.com/bike/img/static/upNvRa9ZQMyiwxLliF5z';
+ this.loadimg =
+ 'https://lxnapi.ccttiot.com/bike/img/static/upNvRa9ZQMyiwxLliF5z';
this.toploadtxt = '还车成功!';
- this.backfalse=0
+ this.backfalse = 0
setTimeout(() => {
this.close()
this.maskloading = false;
this.getisInOrder();
-
+
}, 800);
-
+
} else {
-
+
this.backfalse = this.backfalse + 1
this.payback()
// this.cheackgps()
@@ -2192,7 +2243,7 @@
if (res.code === 200) {
this.reboot()
- this.backfalse=0
+ this.backfalse = 0
this.isbackdevice = false
this.loadimg =
'https://lxnapi.ccttiot.com/bike/img/static/upNvRa9ZQMyiwxLliF5z';
@@ -2246,159 +2297,32 @@
if (res.code === 200) {
this.loadimg = 'https://lxnapi.ccttiot.com/bike/img/static/upNvRa9ZQMyiwxLliF5z';
this.toploadtxt = '还车成功!';
- this.backfalse=0
+ this.backfalse = 0
setTimeout(() => {
this.close()
this.maskloading = false;
this.getisInOrder();
-
+
}, 800);
} else {
-
+
this.backfalse = this.backfalse + 1
this.cheackgps()
- this.toploadtxt = '还车失败';
- setTimeout(() => {
- this.maskloading = false;
- uni.showToast({
- title: res.msg,
- icon: 'none',
- duration: 2000
- });
- }, 1000);
+ // this.toploadtxt = '还车失败';
+ // setTimeout(() => {
+ // this.maskloading = false;
+ // uni.showToast({
+ // title: res.msg,
+ // icon: 'none',
+ // duration: 2000
+ // });
+ // }, 1000);
}
})
},
- onlinebackDevice() {
- let that = this
- uni.getLocation({
- type: 'gcj02',
- success: function(lb) {
-
- let data = {
- latitude: lb.latitude,
- longitude: lb.longitude,
- areaId: that.areaInfo.areaId
- }
-
- that.$u.get('/appVerify/isInParkingArea?', data).then((res) => {
-
- if (res.code == 200) {
- let parkingReturn = res.data.parkingReturn
- let isInParkingArea = res.data.isInParkingArea
- if (parkingReturn) {
- if (isInParkingArea) {
- if (that.carstause) {
- that.reboot()
- that.$u.post(
- '/appVerify/device/return?returnType=1&orderNo=' +
- that.orderinfo
- .orderNo + '&isBluetooth=true' + '&lon=' +
- lb
- .longitude + '&lat=' + lb.latitude).then((
- res) => {
- uni.hideLoading()
- if (res.code === 200) {
- that.close()
- that.getisInOrder()
-
- } else {
- uni.showToast({
- title: res.msg,
- icon: 'none',
- duration: 2000
- });
- }
- })
-
-
- } else {
- uni.showToast({
- title: '蓝牙状态异常,请重新链接',
- icon: 'none',
- duration: 1000
- });
- setTimeout(() => {
- that.isnoline = true
- }, 1300)
- }
-
-
- } else {
- uni.showToast({
- title: '停车点外禁止还车,请行驶至停车区内',
- icon: 'none',
- duration: 2000
- });
- }
- } else {
- if (isInParkingArea) {
- if (that.carstause) {
- that.reboot()
- that.$u.post(
- '/appVerify/device/return?returnType=1&orderNo=' +
- that.orderinfo
- .orderNo + '&isBluetooth=true' + '&lon=' +
- lb
- .longitude + '&lat=' + lb.latitude).then((
- res) => {
- uni.hideLoading()
- if (res.code === 200) {
- that.close()
- that.getisInOrder()
-
- } else {
- uni.showToast({
- title: res.msg,
- icon: 'none',
- duration: 2000
- });
- }
- })
-
-
- } else {
- uni.showToast({
- title: '蓝牙状态异常,请重新链接',
- icon: 'none',
- duration: 1000
- });
- setTimeout(() => {
- that.isnoline = true
- }, 1300)
- }
- } else {
- that.isbackdevice = true
- }
- }
- } else {
- uni.showToast({
- title: res.msg,
- icon: 'none',
- duration: 2000
- });
- }
- })
-
-
-
- },
- fail: function(error) {
- // uni.showToast({
- // title: '未获取到定位信息,请点击设置勾选允许位置信息,即可使用全部功能',
- // icon: 'none',
- // duration: 2000
- // });
- // that.getmarks()
- // 在这里处理获取位置信息失败的情况
- }
-
- })
-
- },
// 新增的检查函数
checkBeforeUnlock() {
if (!this.freeInfo.ruleId) {
@@ -2454,8 +2378,8 @@
if (res.code === 200) {
this.loadimg = 'https://lxnapi.ccttiot.com/bike/img/static/upNvRa9ZQMyiwxLliF5z';
this.toploadtxt = '开锁成功';
- this.lastClickedMarkerId=null
- this.mappolyline=[]
+ this.lastClickedMarkerId = null
+ this.mappolyline = []
setTimeout(() => {
this.maskloading = false;
this.getisInOrder();
@@ -2721,7 +2645,7 @@
.orderNo).then((res) => {
if (res.code === 200) {
- this.backfalse=0
+ this.backfalse = 0
this.loadimg =
'https://lxnapi.ccttiot.com/bike/img/static/upNvRa9ZQMyiwxLliF5z';
this.toploadtxt = '开锁成功';
@@ -2785,7 +2709,7 @@
'https://lxnapi.ccttiot.com/bike/img/static/upNvRa9ZQMyiwxLliF5z';
that.buletxt = '解锁成功';
that.toploadtxt = '解锁成功'
- that.backfalse=0
+ that.backfalse = 0
setTimeout(() => {
that.maskloading = false;
that.getisInOrder();
@@ -2853,7 +2777,7 @@
if (res.code === 200) {
// this.getisInOrder()
- this.backfalse=0
+ this.backfalse = 0
this.loadimg =
'https://lxnapi.ccttiot.com/bike/img/static/upNvRa9ZQMyiwxLliF5z';
this.toploadtxt = '锁车成功';
@@ -2918,7 +2842,7 @@
// console.log('发送了离线锁车请求');
// that.getisInOrder()
that.buleclose = false
- that.backfalse=0
+ that.backfalse = 0
that.loadimg =
'https://lxnapi.ccttiot.com/bike/img/static/upNvRa9ZQMyiwxLliF5z';
that.buletxt = '锁车成功';
@@ -3218,8 +3142,8 @@
// }
// }
},
-
-
+
+
starTime() {
uni.hideLoading()
this.showtcs = false
@@ -3229,7 +3153,7 @@
this.$u.get('/app/device/info?sn=' + this.orderinfo.sn).then((res) => {
if (res.code === 200) {
this.OrderdeviceInfos = res.data
- // this.OrderdeviceInfos.onlineStatus = '0'
+ // this.OrderdeviceInfos.onlineStatus = '1'
this.mac = this.OrderdeviceInfos.mac
if (this.OrderdeviceInfos.onlineStatus == 0 && this.orderinfo.status != 3) {
@@ -3239,7 +3163,7 @@
}
}
-
+
} else {
// 处理接口返回错误的情况
@@ -4234,7 +4158,7 @@
setTimeout(() => {
this.getinfo()
}, )
-
+
}
});
@@ -4285,6 +4209,14 @@
// .map(area => this.convertBoundaryToPolyline(area.boundaryStr));
// 更新折线数据
this.areaInfo = res.data
+ setTimeout(()=>{
+ let abb=this.cleanedText()
+ console.log(abb.length,'cleanedTextcleanedTextcleanedText');
+
+ // 计算滚动时间,基于文本宽度
+ this.duration =abb.length*0.3; // 50 px/s 的速度
+ },200)
+
this.polyline.push(polylines)
console.log();
// console.log(this.areaInfo, 'areaInfoareaInfo');
@@ -4646,8 +4578,8 @@
})
}
},
-
-
+
+
deviceInfo(num) {
if (uni.getStorageSync('token')) {
@@ -4916,7 +4848,8 @@
.page {
width: 750rpx;
- .fixdivce{
+
+ .fixdivce {
padding: 12rpx 22rpx 12rpx 22rpx;
position: fixed;
left: 0;
@@ -4925,58 +4858,69 @@
height: 460rpx;
background: #FFFFFF;
border-radius: 0 40rpx 40rpx 0;
- box-shadow: 0rpx 4rpx 10rpx 0rpx rgba(0,0,0,0.3);
+ box-shadow: 0rpx 4rpx 10rpx 0rpx rgba(0, 0, 0, 0.3);
+
.scrollable-content {
- height: 100%;
- overflow-y: auto;
- .divce_li:last-child{
+ height: 100%;
+ overflow-y: auto;
+
+ .divce_li:last-child {
border-bottom: 1rpx solid #fff;
}
- .divce_li{
+
+ .divce_li {
padding: 10rpx 0;
display: flex;
flex-wrap: nowrap;
align-items: center;
border-bottom: 1rpx solid #D8D8D8;
- .left_img{
- image{
+
+ .left_img {
+ image {
width: 44rpx;
height: 70rpx;
}
}
- .right_cont{
+
+ .right_cont {
margin-left: 20rpx;
display: flex;
flex-wrap: wrap;
font-weight: 400;
font-size: 24rpx;
color: #3D3D3D;
- .right_top{
+
+ .right_top {
width: 100%;
display: flex;
flex-wrap: nowrap;
align-items: center;
- .right_top_left{
+
+ .right_top_left {
display: flex;
flex-wrap: nowrap;
align-items: center;
- image{
+
+ image {
margin-right: 6rpx;
width: 12rpx;
height: 26rpx;
}
}
- .right_top_right{
+
+ .right_top_right {
margin-left: auto;
}
}
- .right_bot{
+
+ .right_bot {
margin-top: 8rpx;
}
}
}
}
}
+
.maskload {
position: fixed;
@@ -5122,8 +5066,8 @@
position: fixed;
z-index: 10;
// background:#fff;
- // background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 70%, transparent);
- background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0.5) 75%, transparent 100%);
+ // background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 70%, transparent);
+ // background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0.5) 75%, transparent 100%);
// background: linear-gradient( 180deg, #FFFFFF 58%, rgba(255,255,255,0) 52%);
.navBar {
@@ -5159,6 +5103,64 @@
}
}
+
+ .swiper_tips {
+ display: flex;
+ flex-wrap: nowrap;
+ align-items: center;
+ padding: 18rpx 24rpx;
+ margin: 0 auto;
+ width: 688rpx;
+ height: 72rpx;
+ background: #3D3D3D;
+ box-shadow: 0rpx 4rpx 10rpx 0rpx rgba(0, 0, 0, 0.3);
+ border-radius: 53rpx 53rpx 53rpx 53rpx;
+
+ .cont {
+ width: 80%;
+ display: flex;
+ flex-wrap: nowrap;
+ align-items: center;
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #FFFFFF;
+
+ image {
+ width: 36rpx;
+ height: 36rpx;
+ margin-right: 32rpx;
+ }
+
+ .scroll-container {
+ overflow: hidden;
+ width: calc(100% - 68rpx);
+ /* Adjusting width to fit within container */
+ display: flex;
+
+ .scroll-text {
+ white-space: nowrap;
+ display: inline-block;
+ // animation: scroll-text 40s linear infinite;
+ }
+ }
+ }
+
+ .icon-xiangyou1 {
+ margin-left: auto;
+ color: #fff;
+ font-size: 30rpx;
+ }
+ }
+
+ @keyframes scroll-text {
+ 0% {
+ transform: translateX(0);
+ }
+
+ 100% {
+ transform: translateX(-100%);
+ }
+ }
}
.my-location {
@@ -5168,7 +5170,7 @@
align-items: center;
justify-content: center;
right: 30rpx;
- top: 220rpx;
+ top: 400rpx;
// background-color: #fff;
border-radius: 50%;
width: 82rpx;
@@ -5187,7 +5189,7 @@
align-items: center;
justify-content: center;
right: 30rpx;
- top: 300rpx;
+ top: 480rpx;
// background-color: #fff;
border-radius: 50%;
width: 82rpx;
@@ -5795,8 +5797,8 @@
}
.page3 {
-
-
+
+
.bot_btns {
// position: relative;
// display: flex;
@@ -5808,6 +5810,7 @@
border-radius: 50rpx 50rpx 0 0;
// padding-left: 8rpx;
padding-left: 10rpx;
+
.infoss {
// margin-top: 20rpx;
diff --git a/pages_admin/admin_index.vue b/pages_admin/admin_index.vue
index d5d0ce4..9deff7a 100644
--- a/pages_admin/admin_index.vue
+++ b/pages_admin/admin_index.vue
@@ -98,6 +98,14 @@
{{deviceNum.offlineNum}}
+
+
+ 仓库中
+
+
+ {{deviceNum.offlineNum}}
+
+