新电动车
This commit is contained in:
parent
524d1ec193
commit
2a9de15785
|
|
@ -1,7 +1,7 @@
|
|||
const install = (Vue, vm) => {
|
||||
uni.setStorageSync('deptId', 100);
|
||||
Vue.prototype.$u.http.setConfig({
|
||||
// baseUrl: 'http://192.168.2.35:4101', //键辉本地
|
||||
// baseUrl: 'http://192.168.2.46:4101', //键辉本地
|
||||
// baseUrl: 'http://192.168.0.102:4101', //景森本地
|
||||
baseUrl: 'https://ele.ccttiot.com/prod-api', //线上
|
||||
loadingText: '努力加载中~',
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@
|
|||
<!-- 地图 -->
|
||||
</div>
|
||||
<div @tap.stop="changeTabbar(2)">
|
||||
<image style="width: 102rpx;height: 102rpx;position: fixed;left: 50%;transform: translateX(-50%);bottom:130rpx;" src="https://api.ccttiot.com/smartmeter/img/static/uL8iMlSwXNfldMjGZK7n" mode="" v-show="indexs!=2"></image>
|
||||
<image style="width: 102rpx;height: 102rpx;position: fixed;left: 50%;transform: translateX(-50%);bottom:130rpx;" src="https://api.ccttiot.com/smartmeter/img/static/uL8iMlSwXNfldMjGZK7n" mode="" v-show="indexs==2"></image>
|
||||
<image style="width: 102rpx;height: 102rpx;position: fixed;left: 50%;transform: translateX(-50%);bottom:98rpx;" src="https://api.ccttiot.com/smartmeter/img/static/uPWK1kW1mCc2CPVyO7JM" mode="" v-show="indexs!=2"></image>
|
||||
<image style="width: 102rpx;height: 102rpx;position: fixed;left: 50%;transform: translateX(-50%);bottom:98rpx;" src="https://api.ccttiot.com/smartmeter/img/static/uPWK1kW1mCc2CPVyO7JM" mode="" v-show="indexs==2"></image>
|
||||
<div class="txt" style="margin-top: 60rpx;color: #979797;font-size: 26rpx;color: #808080;">扫码用车</div>
|
||||
</div>
|
||||
<div class="tab" @tap.stop="changeTabbar(3)">
|
||||
|
|
@ -158,9 +158,21 @@
|
|||
this.sn = getQueryParam(decodedValue, 's')
|
||||
this.$u.get(`/app/device/availableDetail?sn=${this.sn}`).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.modelId = res.data.modelId
|
||||
uni.navigateTo({
|
||||
url:'/page_fenbao/storedlist/trueorder?modelId=' + this.modelId + '&sn=' + this.sn
|
||||
if(res.data){
|
||||
this.modelId = res.data.modelId
|
||||
uni.navigateTo({
|
||||
url:'/page_fenbao/storedlist/trueorder?modelId=' + this.modelId + '&sn=' + this.sn
|
||||
})
|
||||
}else{
|
||||
uni.showToast({
|
||||
title: '当前车辆不可用',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
}else{
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
})
|
||||
}else{
|
||||
uni.showToast({
|
||||
title:'车辆暂不可用',
|
||||
title:'当前车辆不可用',
|
||||
icon: 'none',
|
||||
duration:2000
|
||||
})
|
||||
|
|
|
|||
|
|
@ -20,9 +20,7 @@
|
|||
handleGetMessage:function(e){
|
||||
console.log(e)
|
||||
if(e.detail.data[0].result == 'success'){
|
||||
uni.redirectTo({
|
||||
url:'/page_fenbao/renlianzhongzhuan'
|
||||
})
|
||||
uni.navigateBack()
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -9,7 +9,7 @@
|
|||
账户总余额
|
||||
</view>
|
||||
<view class="num">
|
||||
{{userInfo.balance == null ? '0.00' : userInfo.balance.toFixed(2)}}元
|
||||
¥{{userInfo.balance == null ? '0.00' : userInfo.balance.toFixed(2)}}元
|
||||
</view>
|
||||
</view>
|
||||
<view class="li_box">
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
待结算金额
|
||||
</view>
|
||||
<view class="num">
|
||||
{{userInfo.settlementAmount == null ? '0.00' : userInfo.settlementAmount}}元
|
||||
¥{{waitDivideAmount == null ? '0.00' : waitDivideAmount.toFixed(2)}}元
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -161,7 +161,8 @@
|
|||
listflag: true,
|
||||
channelId:'',
|
||||
objobj:{},
|
||||
total:0
|
||||
total:0,
|
||||
waitDivideAmount:''
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
|
|
@ -208,6 +209,7 @@
|
|||
this.$u.get(`/getInfo`).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.userInfo = res.user
|
||||
this.waitDivideAmount = res.stat.bonus.waitDivideAmount
|
||||
}
|
||||
})
|
||||
},
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<view class="info">
|
||||
<view class="lis">
|
||||
<view class="info_li">
|
||||
说明:<span>{{item.instructions}}</span>
|
||||
说明:<span>{{item.instructions == null ? '--' : item.instructions}}</span>
|
||||
</view>
|
||||
<view>
|
||||
<view v-if="item.ridingRule==1">
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@
|
|||
};
|
||||
},
|
||||
onShow() {
|
||||
this.pageNum = 1
|
||||
this.getlist();
|
||||
},
|
||||
onReachBottom() {
|
||||
|
|
@ -93,7 +94,7 @@
|
|||
id:item.id,
|
||||
handle:num
|
||||
}
|
||||
this.$u.put('/app/fault', data).then((res) => {
|
||||
this.$u.put('/bst/fault/handle', data).then((res) => {
|
||||
if (res.code === 200) {
|
||||
uni.showToast({
|
||||
title: '操作成功',
|
||||
|
|
@ -159,12 +160,10 @@
|
|||
clearTimeout(timerId1);
|
||||
timerId1 = setTimeout(() => {
|
||||
// 搜索时重置页码并重新获取数据
|
||||
this.pageNum = 1;
|
||||
this.list = []; // 清空当前列表
|
||||
this.getlist();
|
||||
|
||||
|
||||
}, 500);
|
||||
this.pageNum = 1
|
||||
this.list = [] // 清空当前列表
|
||||
this.getlist()
|
||||
}, 500)
|
||||
|
||||
},
|
||||
todetail() {
|
||||
|
|
@ -238,8 +237,6 @@
|
|||
.tips {
|
||||
margin-top: 24rpx;
|
||||
width: 100%;
|
||||
// display: flex;
|
||||
// justify-content: center;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
|
|
@ -283,7 +280,7 @@
|
|||
margin-top: 10rpx;
|
||||
background: #D8D8D8;
|
||||
width: 256rpx;
|
||||
height: 134rpx;
|
||||
height: 256rpx;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -198,6 +198,9 @@ export default {
|
|||
{
|
||||
value: '8',
|
||||
label: '下线'
|
||||
},{
|
||||
value: '9',
|
||||
label: '强制锁车'
|
||||
}],
|
||||
tit: '全部',
|
||||
typeidx: '',
|
||||
|
|
@ -409,6 +412,8 @@ export default {
|
|||
return '#986cf0' // 调度中状态为紫色
|
||||
} else if (item.status == 7) {
|
||||
return '#343a40' // 未绑定状态为黑色
|
||||
}else if (item.status == 9) {
|
||||
return '#ff7429' // 未绑定状态为黑色
|
||||
}
|
||||
},
|
||||
getStatusColors(item) {
|
||||
|
|
@ -459,6 +464,8 @@ export default {
|
|||
return '未绑定'
|
||||
} else if (item.status == 8) {
|
||||
return '禁用中'
|
||||
} else if (item.status == 9) {
|
||||
return '强制锁车'
|
||||
}
|
||||
},
|
||||
statuss(item) {
|
||||
|
|
|
|||
|
|
@ -290,7 +290,7 @@
|
|||
let data = {}
|
||||
if (this.typeidx == 1) {
|
||||
data = {
|
||||
phonenumber: this.searchKeyword,
|
||||
userPhone: this.searchKeyword,
|
||||
status: this.zhuangtai,
|
||||
createDateRange:this.firsTime == '' ? '' : this.lasTime == '' ? '' : this.firsTime + ',' + this.lasTime,
|
||||
areaId: this.areaId,
|
||||
|
|
@ -299,7 +299,7 @@
|
|||
};
|
||||
} else if (this.typeidx == 2) { // 修改条件为 this.typeidx == 2
|
||||
data = {
|
||||
vehicleNum: this.searchKeyword,
|
||||
deviceVehicleNum: this.searchKeyword,
|
||||
type: '1',
|
||||
status:this.zhuangtai,
|
||||
createDateRange:this.firsTime == '' ? '' : this.lasTime == '' ? '' : this.firsTime + ',' + this.lasTime,
|
||||
|
|
|
|||
|
|
@ -307,7 +307,7 @@ export default {
|
|||
points: points,
|
||||
fillColor: colors[num].fill,
|
||||
strokeColor: colors[num].stroke,
|
||||
strokeWidth: 2,
|
||||
strokeWidth: 1,
|
||||
zIndex: 1
|
||||
}
|
||||
}).filter(Boolean)
|
||||
|
|
@ -355,7 +355,7 @@ export default {
|
|||
points: points,
|
||||
fillColor: "#55888840",
|
||||
strokeColor: "#22FF00",
|
||||
strokeWidth: 2,
|
||||
strokeWidth: 1,
|
||||
zIndex: 1
|
||||
}
|
||||
},
|
||||
|
|
@ -384,7 +384,7 @@ export default {
|
|||
// 更新轨迹线
|
||||
this.currentPolyline = [{
|
||||
points: this.trackPoints.slice(0, index + 1),
|
||||
width: 8,
|
||||
width: 4,
|
||||
arrowLine: true,
|
||||
color: '#00AF99'
|
||||
}]
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<view class="page">
|
||||
<u-navbar title="设备详情" :border-bottom="false" :background="bgc" title-color='#2E4975' title-size='36'
|
||||
<u-navbar title="车辆详情" :border-bottom="false" :background="bgc" title-color='#2E4975' title-size='36'
|
||||
height='45'></u-navbar>
|
||||
<map class="map" id="map" ref="map" :scale="zoomSize" :latitude="latitude" :longitude="longitude"
|
||||
:show-location="true" :markers="markers" :polygons="polyline">
|
||||
|
|
@ -8,191 +8,193 @@
|
|||
<cover-image class="img" src="https://lxnapi.ccttiot.com/bike/img/static/uRiYQZQEb3l2LsltEsyW"
|
||||
mode=""></cover-image>
|
||||
</cover-view>
|
||||
<cover-view class="track" @click="toTrack">
|
||||
<!-- <cover-view class="track" @click="toTrack">
|
||||
<cover-image class="img" src="https://lxnapi.ccttiot.com/bike/img/static/ufaAAtlirJYs1QwJF25P"
|
||||
mode=""></cover-image>
|
||||
</cover-view>
|
||||
</cover-view> -->
|
||||
</map>
|
||||
<view class="info_card">
|
||||
<view class="info_tit">
|
||||
设备信息
|
||||
</view>
|
||||
<view class="lines"></view>
|
||||
<view class="cont">
|
||||
<view class="info_li">
|
||||
<view class="half_infoli">
|
||||
SN:<span>{{deviceInfos.sn}}</span>
|
||||
|
||||
<view class="new_infocard">
|
||||
<view class="topsn">
|
||||
<view class="lt">
|
||||
SN:{{deviceInfos.sn}}
|
||||
</view>
|
||||
<view class="rt">
|
||||
<view class="stutas">
|
||||
<span style="background-color: #979797;" v-if="deviceInfos.status == 0">仓库中</span>
|
||||
<span style="background-color: #4c97e7;" v-if="deviceInfos.status == 1">待租</span>
|
||||
<span style="background-color: #28c445;" v-if="deviceInfos.status == 2">预约中</span>
|
||||
<span style="background-color: #ffc757;" v-if="deviceInfos.status == 3">骑行中</span>
|
||||
<span style="background-color: #ff7429;" v-if="deviceInfos.status == 4">临时锁车中</span>
|
||||
<span style="background-color: #986cf0;" v-if="deviceInfos.status == 6">调度中</span>
|
||||
<span style="background-color: #343a40;" v-if="deviceInfos.status == 8">下线</span>
|
||||
<span style="background-color: #ff7429;" v-if="deviceInfos.status == 9">强制锁车</span>
|
||||
</view>
|
||||
<view class="half_infoli">
|
||||
<view class="issuo" v-if="deviceInfos.lockStatus == 0">
|
||||
锁已关
|
||||
</view>
|
||||
<view class="issuo" style="background-color: #4C97E7;color: #fff;" v-if="deviceInfos.lockStatus == 1">
|
||||
锁已开
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bikexx">
|
||||
<view class="dianliang">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ucFiREWFvUepgFX0LR1h" mode=""></image>
|
||||
<view class="dl">
|
||||
电量:<span>{{deviceInfos.remainingPower == null ? '--' : deviceInfos.remainingPower}}%</span>
|
||||
</view>
|
||||
<view class="dy">
|
||||
电压:<span>{{deviceInfos.voltage == null ? '--' : deviceInfos.voltage.toFixed(2)}}V</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="xuhang">
|
||||
<view class="">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uBueutMzheLZWktEFWVR" mode=""></image> 续航 {{deviceInfos.remainEndurance == null ? '--' : deviceInfos.remainEndurance}}km
|
||||
</view>
|
||||
<view class="" style="margin-top: 20rpx;">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ur7Q7YC9AOkkTpvaLEUU" mode=""></image> 车型 {{deviceInfos.modelName}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="ewm">
|
||||
<view class="" @click="generateQrcode()">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uiCssXpb4SpuFAQYOp2A" mode=""></image> 二维码
|
||||
</view>
|
||||
<view class="" style="margin-top: 14rpx;" @click="toTrack">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uJtMZ16iR2q8agQ4iLm3" mode=""></image> 轨迹
|
||||
</view>
|
||||
<view class="" style="margin-top: 14rpx;" @click="btndaohang">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/u3De0EsfW6ZctTFCH9p7" mode=""></image> 导航
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="caozuoanniu">
|
||||
<view class="dangeanniu" @click="checkbtn(0)">
|
||||
<view class="pic">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uuHHQU2Yg2sReTadF51Y" mode=""></image>
|
||||
</view>
|
||||
开锁
|
||||
</view>
|
||||
<!-- <view class="btn" @click="lanya(1)">
|
||||
蓝牙开锁
|
||||
</view>
|
||||
<view class="btn" @click="lanya(2)">
|
||||
蓝牙关锁
|
||||
</view>
|
||||
<view class="btn" @click="lanya(3)">
|
||||
蓝牙响铃
|
||||
</view> -->
|
||||
<view class="dangeanniu" @click="checkbtn(1)">
|
||||
<view class="pic">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uKear247uKM7Axwgh3Jc" mode=""></image>
|
||||
</view>
|
||||
关锁
|
||||
</view>
|
||||
<view class="dangeanniu" @click="btn(4)">
|
||||
<view class="pic">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uE7zUe5bXdtGGyWA9WGG" mode=""></image>
|
||||
</view>
|
||||
响铃寻车
|
||||
</view>
|
||||
<view class="dangeanniu" v-if="this.deviceInfos.hardwareVersion && this.deviceInfos.hardwareVersion.toLowerCase().includes('x')" @click="btn(9)">
|
||||
<view class="pic">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ujhsaJeL6KVrYgFSEKkj" mode=""></image>
|
||||
</view>
|
||||
坐垫锁
|
||||
</view>
|
||||
<view class="dangeanniu" @click="btn(8)">
|
||||
<view class="pic">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uWnOOwRQYpZxB14stYl8" mode=""></image>
|
||||
</view>
|
||||
重启
|
||||
</view>
|
||||
<view class="dangeanniu" @click="btn(2)" v-if="deviceInfos.status!=8">
|
||||
<view class="pic">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/u1PlutiYn3alAcF2VuTH" mode=""></image>
|
||||
</view>
|
||||
禁用
|
||||
</view>
|
||||
<view class="dangeanniu" @click="btn(3)" v-if="deviceInfos.status==8">
|
||||
<view class="pic">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/u1PlutiYn3alAcF2VuTH" mode=""></image>
|
||||
</view>
|
||||
解禁
|
||||
</view>
|
||||
<view class="dangeanniu" @click="btn(5)" v-if="deviceInfos.status!=0">
|
||||
<view class="pic">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uJvI9lLyEkA2QdSr74LX" mode=""></image>
|
||||
</view>
|
||||
回仓
|
||||
</view>
|
||||
<view class="dangeanniu" @click="btn(6)" v-if="deviceInfos.status==0">
|
||||
<view class="pic">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uJvI9lLyEkA2QdSr74LX" mode=""></image>
|
||||
</view>
|
||||
出仓
|
||||
</view>
|
||||
<view class="dangeanniu" @click="btn(7)">
|
||||
<view class="pic">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/u277Tj0k5M7I8EO4V3ki" mode=""></image>
|
||||
</view>
|
||||
车牌修改
|
||||
</view>
|
||||
<view class="dangeanniu" @click="changeShwoList">
|
||||
<view class="pic">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ua7Xl6Eew8AvjeKJFKXI" mode=""></image>
|
||||
</view>
|
||||
修改车型
|
||||
</view>
|
||||
<view class="dangeanniu" v-if="this.deviceInfos.hardwareVersion && this.deviceInfos.hardwareVersion.toLowerCase().includes('x')" @click="btnjingyin">
|
||||
<view class="pic">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uUJGVRpPIRC34vF7240K" mode=""></image>
|
||||
</view>
|
||||
静音:{{jytxt}}
|
||||
</view>
|
||||
<view class="dangeanniu" @click="btn(10)">
|
||||
<view class="pic">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uuuFxDo4XNzXJDTOQIeZ" mode=""></image>
|
||||
</view>
|
||||
定位更新
|
||||
</view>
|
||||
</view>
|
||||
<view class="bikejcxx">
|
||||
<view class="wai">
|
||||
<view class="lt">
|
||||
MAC:<span>{{deviceInfos.mac}}</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="info_li">
|
||||
<view class="half_infoli">
|
||||
车牌号:<span v-if="deviceInfos.vehicleNum">{{deviceInfos.vehicleNum}}</span>
|
||||
<span v-else>--</span>
|
||||
</view>
|
||||
<view class="half_infoli">
|
||||
车辆型号:
|
||||
<span v-if="deviceInfos.modelName">{{deviceInfos.modelName}}</span>
|
||||
<span v-else>--</span>
|
||||
<view class="lt">
|
||||
网络状态:<span v-if="deviceInfos.onlineStatus==0">离线</span><span v-if="deviceInfos.onlineStatus==1">在线</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="info_li">
|
||||
运营区域:
|
||||
<span v-if="deviceInfos.areaName">{{deviceInfos.areaName}}</span>
|
||||
<span v-else>--</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="lines"></view>
|
||||
<view class="cont">
|
||||
<view class="info_li">
|
||||
<view class="half_infoli">
|
||||
车辆状态:<span v-if="deviceInfos.status == 0">仓库中</span>
|
||||
<span v-if="deviceInfos.status == 1">待租</span>
|
||||
<span v-if="deviceInfos.status == 2">预约中</span>
|
||||
<span v-if="deviceInfos.status == 3">骑行中</span>
|
||||
<span v-if="deviceInfos.status == 4">临时锁车中</span>
|
||||
<span v-if="deviceInfos.status == 6">调度中</span>
|
||||
<span v-if="deviceInfos.status == 8">下线</span>
|
||||
<view class="wai">
|
||||
<view class="lt">
|
||||
车牌号:<span>{{deviceInfos.vehicleNum}}</span>
|
||||
</view>
|
||||
<view class="half_infoli" v-if="deviceInfos.onlineStatus==0">
|
||||
网络状态:<span>离线</span>
|
||||
</view>
|
||||
<view class="half_infoli" v-if="deviceInfos.onlineStatus==1">
|
||||
网络状态:<span>在线</span>
|
||||
<view class="lt">
|
||||
续航里程:<span>{{deviceInfos.remainEndurance == null ? '--' : deviceInfos.remainEndurance}}km</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="info_li">
|
||||
<view class="half_infoli">
|
||||
电池电量:
|
||||
<span>{{deviceInfos.remainingPower == null ? '--' : deviceInfos.remainingPower}}%</span>
|
||||
<view class="wai">
|
||||
<view class="lt">
|
||||
运营区域:<span>{{deviceInfos.areaName}}</span>
|
||||
</view>
|
||||
<view class="half_infoli">
|
||||
续航里程:
|
||||
<span>{{deviceInfos.remainEndurance == null ? '--' : deviceInfos.remainEndurance}} KM</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="info_li">
|
||||
<view class="half_infoli">
|
||||
电池电压:
|
||||
<span>{{deviceInfos.voltage == null ? '--' : deviceInfos.voltage}}V</span>
|
||||
</view>
|
||||
<view class="half_infoli">
|
||||
4G信号:
|
||||
<span>{{deviceInfos.satellites == null ? '--' : deviceInfos.satellites}}</span>
|
||||
<view class="lt">
|
||||
4G信号/GPS:<span>{{deviceInfos.signalStrength == null ? '--' : deviceInfos.signalStrength}}/{{deviceInfos.satellites == null ? '--' : deviceInfos.satellites}}</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="lines"></view>
|
||||
<view class="cont">
|
||||
<view class="info_li">
|
||||
最后定位坐标:
|
||||
<span v-if="deviceInfos.latitude">{{deviceInfos.latitude}},{{deviceInfos.longitude}}</span>
|
||||
<span v-else>--</span>
|
||||
<view class="zuche">
|
||||
<view class="one">
|
||||
最近租车人:<image src="https://api.ccttiot.com/smartmeter/img/static/uCa86z0tr5WHiymtRJYt" mode=""></image> <span>--</span>
|
||||
</view>
|
||||
<view class="info_li" style="flex-wrap: wrap;display: inline-block;">
|
||||
最后定位地址:
|
||||
<span v-if="deviceInfos.location">{{deviceInfos.location}}</span>
|
||||
<span v-else>--</span>
|
||||
<view class="">
|
||||
最后定位坐标:<span>{{deviceInfos.latitude}},{{deviceInfos.longitude}}</span>
|
||||
</view>
|
||||
<view class="info_li">
|
||||
最后定位时间:
|
||||
<span v-if="deviceInfos.lastTime">{{deviceInfos.lastTime}}</span>
|
||||
<span v-else>--</span>
|
||||
<view class="">
|
||||
最后定位时间:<span>{{deviceInfos.lastTime}}</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="info_card" style="margin-top: 20rpx;" v-if="deviceInfos.etOrders[0]&&deviceInfos.sn">
|
||||
<view class="info_tit">
|
||||
最后订单信息
|
||||
</view>
|
||||
<view class="lines"></view>
|
||||
<view class="cont">
|
||||
<view class="info_li">
|
||||
最后用户姓名:
|
||||
<span v-if="deviceInfos.etOrders[0].realName &&deviceInfos.sn">{{deviceInfos.etOrders[0].realName}}</span>
|
||||
<span v-else>--</span>
|
||||
</view>
|
||||
<view class="info_li">
|
||||
最后用户电话:
|
||||
<span v-if="deviceInfos.etOrders[0].phonenumber &&deviceInfos.sn">{{deviceInfos.etOrders[0].phonenumber}}</span>
|
||||
<span v-else>--</span>
|
||||
</view>
|
||||
<view class="info_li" style="flex-wrap: wrap;display: inline-block;">
|
||||
最后订单编号:
|
||||
<span v-if="deviceInfos.etOrders[0].orderNo &&deviceInfos.sn">{{deviceInfos.etOrders[0].orderNo}}</span>
|
||||
<span v-else>--</span>
|
||||
</view>
|
||||
<view class="info_li">
|
||||
订单开始时间:
|
||||
<span v-if="deviceInfos.etOrders[0].createTime&&deviceInfos.sn">{{deviceInfos.etOrders[0].createTime}}</span>
|
||||
<span v-else>--</span>
|
||||
</view>
|
||||
<view class="info_li">
|
||||
<view class="info_li" v-if="deviceInfos.sn">
|
||||
订单状态:<span>{{statuss()}}</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="bot_btn">
|
||||
<view class="btn" @click="checkbtn(0)">
|
||||
开锁
|
||||
</view>
|
||||
<view class="btn" @click="checkbtn(1)">
|
||||
关锁
|
||||
</view>
|
||||
<view class="btn" @click="btn(4)">
|
||||
响铃寻车
|
||||
</view>
|
||||
<!-- <view class="btn" @click="lanya(1)">
|
||||
蓝牙开锁
|
||||
</view>
|
||||
<view class="btn" @click="lanya(2)">
|
||||
蓝牙关锁
|
||||
</view>
|
||||
<view class="btn" @click="lanya(3)">
|
||||
蓝牙响铃
|
||||
</view> -->
|
||||
<view class="btn" @click="btn(8)">
|
||||
设备重启
|
||||
</view>
|
||||
<view class="btn" @click="btn(2)" v-if="deviceInfos.status!=8">
|
||||
车辆禁用
|
||||
</view>
|
||||
<view class="btn" @click="btn(3)" v-if="deviceInfos.status==8">
|
||||
车辆解禁
|
||||
</view>
|
||||
<view class="btn" @click="btn(5)" v-if="deviceInfos.status!=0">
|
||||
车辆回仓
|
||||
</view>
|
||||
<view class="btn" @click="btn(6)" v-if="deviceInfos.status==0">
|
||||
车辆出仓
|
||||
</view>
|
||||
<view class="btn" @click="btn(7)">
|
||||
车牌修改
|
||||
</view>
|
||||
<view class="btn"
|
||||
v-if="this.deviceInfos.hardwareVersion && this.deviceInfos.hardwareVersion.toLowerCase().includes('x')"
|
||||
@click="btn(9)">
|
||||
坐垫锁
|
||||
</view>
|
||||
<view class="btn" @click="btn(10)">
|
||||
定位更新
|
||||
</view>
|
||||
<view class="btn" @click="changeShwoList">
|
||||
修改车型
|
||||
</view>
|
||||
<view class="btn" @click="generateQrcode()">
|
||||
设备二维码
|
||||
</view>
|
||||
<view class="btn"
|
||||
v-if="this.deviceInfos.hardwareVersion && this.deviceInfos.hardwareVersion.toLowerCase().includes('x')"
|
||||
@click="btnjingyin">
|
||||
静音:{{jytxt}}
|
||||
</view>
|
||||
</view>
|
||||
<u-mask :show="false" @click="show = false" :z-index='100' />
|
||||
<u-mask :show="maskloading" :z-index='100' duration='0' />
|
||||
<view class="maskloadpage" v-if="maskloading">
|
||||
|
|
@ -394,6 +396,16 @@
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
// 点击进行导航
|
||||
btndaohang(){
|
||||
uni.openLocation({
|
||||
latitude: this.deviceInfos.latitude, //纬度-目的地/坐标点
|
||||
longitude: this.deviceInfos.longitude, //经度-目的地/坐标点
|
||||
name: '', //地点名称
|
||||
address:'' //详细地点名称
|
||||
})
|
||||
},
|
||||
// 连接蓝牙
|
||||
lanya(num) {
|
||||
if (num == 1) {
|
||||
xBlufi.notifySendCustomData({
|
||||
|
|
@ -990,7 +1002,7 @@
|
|||
display: 'ALWAYS', // 修改为气泡的显示策略
|
||||
}
|
||||
})
|
||||
} else if (this.deviceInfos.status == 4) {
|
||||
} else if (this.deviceInfos.status == 4 || this.deviceInfos.status == 9) {
|
||||
this.markers.push({
|
||||
id: parseFloat(this.deviceInfos.sn),
|
||||
latitude: this.deviceInfos.latitude,
|
||||
|
|
@ -1272,6 +1284,198 @@
|
|||
.page {
|
||||
padding-bottom: 400rpx;
|
||||
width: 750rpx;
|
||||
|
||||
.new_infocard{
|
||||
width: 750rpx;
|
||||
max-height: 1384rpx;
|
||||
overflow: scroll;
|
||||
background: #FFFFFF;
|
||||
border-radius: 30rpx;
|
||||
padding: 30rpx;
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
z-index: 99;
|
||||
top: 900rpx;
|
||||
.zuche{
|
||||
margin-top: 26rpx;
|
||||
.one{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
image{
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
margin-right: 4rpx;
|
||||
}
|
||||
span{
|
||||
font-size: 28rpx;
|
||||
color: #4C97E7;
|
||||
}
|
||||
}
|
||||
view{
|
||||
font-size: 28rpx;
|
||||
color: #808080;
|
||||
margin-bottom: 26rpx;
|
||||
span{
|
||||
color: #3D3D3D;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bikejcxx{
|
||||
margin-top: 26rpx;
|
||||
border-bottom: 1rpx solid #D8D8D8;
|
||||
.wai{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 26rpx;
|
||||
.lt{
|
||||
width: 46%;
|
||||
text-align: left;
|
||||
font-size: 28rpx;
|
||||
color: #808080;
|
||||
span{
|
||||
color: #3D3D3D;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.caozuoanniu{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 26rpx;
|
||||
border-bottom: 1rpx solid #D8D8D8;
|
||||
.dangeanniu{
|
||||
width: 20%;
|
||||
text-align: center;
|
||||
margin-bottom: 28rpx;
|
||||
.pic{
|
||||
width: 88rpx;
|
||||
height: 88rpx;
|
||||
background: #F1F1F1;
|
||||
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
||||
margin: auto;
|
||||
margin-bottom: 14rpx;
|
||||
image{
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
margin-top: 28rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.ewm{
|
||||
view{
|
||||
width: 140rpx;
|
||||
height: 44rpx;
|
||||
background: #4C97E7;
|
||||
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 8rpx;
|
||||
padding-left: 18rpx !important;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
image{
|
||||
width: 26rpx;
|
||||
height: 26rpx;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.xuhang{
|
||||
view{
|
||||
width: 284rpx;
|
||||
height: 70rpx;
|
||||
background: #F1F1F1;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 24rpx;
|
||||
color: #3D3D3D;
|
||||
padding-left: 18rpx;
|
||||
box-sizing: border-box;
|
||||
image{
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
margin-right: 14rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bikexx{
|
||||
margin-top: 26rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1rpx solid #D8D8D8;
|
||||
padding-bottom: 26rpx;
|
||||
box-sizing: border-box;
|
||||
.dianliang{
|
||||
position: relative;
|
||||
.dl{
|
||||
margin-top: 66rpx;
|
||||
}
|
||||
.dy{
|
||||
margin-top: 2rpx;
|
||||
}
|
||||
view{
|
||||
padding-left: 14rpx;
|
||||
box-sizing: border-box;
|
||||
font-size: 24rpx;
|
||||
color: #3D3D3D;
|
||||
span{
|
||||
font-size: 32rpx;
|
||||
}
|
||||
}
|
||||
image{
|
||||
position: absolute;
|
||||
width: 222rpx;
|
||||
height: 160rpx;
|
||||
z-index: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
.topsn{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1rpx solid #D8D8D8;
|
||||
padding-bottom: 26rpx;
|
||||
box-sizing: border-box;
|
||||
.lt{
|
||||
font-weight: 600;
|
||||
font-size: 32rpx;
|
||||
color: #3D3D3D;
|
||||
}
|
||||
.rt{
|
||||
display: flex;
|
||||
.issuo{
|
||||
width: 104rpx;
|
||||
height: 42rpx;
|
||||
background: #F1F1F1;
|
||||
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
||||
text-align: center;
|
||||
line-height: 42rpx;
|
||||
margin-left: 28rpx;
|
||||
font-size: 24rpx;
|
||||
color: #3D3D3D;
|
||||
}
|
||||
.stutas{
|
||||
span{
|
||||
display: inline-block;
|
||||
width: 104rpx;
|
||||
height: 42rpx;
|
||||
// background: #DBFDD6;
|
||||
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
||||
text-align: center;
|
||||
line-height: 42rpx;
|
||||
margin-left: 28rpx;
|
||||
font-size: 24rpx;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.tip_box {
|
||||
position: fixed;
|
||||
|
|
@ -1385,101 +1589,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
.info_card {
|
||||
background: #FFFFFF;
|
||||
margin: 20rpx;
|
||||
border-radius: 16rpx;
|
||||
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.05);
|
||||
overflow: hidden;
|
||||
|
||||
.info_tit {
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
padding: 28rpx 32rpx;
|
||||
font-weight: 600;
|
||||
font-size: 32rpx;
|
||||
color: #2C3E50; // 更深的标题颜色
|
||||
|
||||
.money {
|
||||
margin-left: auto;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #3498DB; // 更新强调色
|
||||
}
|
||||
}
|
||||
|
||||
.lines {
|
||||
width: 100%;
|
||||
border-bottom: 1rpx solid #EEF2F6; // 更细更柔和的分割线
|
||||
}
|
||||
|
||||
.cont {
|
||||
padding: 32rpx;
|
||||
|
||||
.info_li {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #94A3B8; // 更新次要文字颜色
|
||||
margin-bottom: 16rpx; // 增加行间距
|
||||
|
||||
span {
|
||||
color: #334155; // 更新主要文字颜色
|
||||
margin-left: 8rpx;
|
||||
}
|
||||
|
||||
.half_infoli {
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
width: 50%;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #94A3B8;
|
||||
|
||||
span {
|
||||
color: #334155;
|
||||
margin-left: 8rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bot_btn {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
padding: 24rpx;
|
||||
width: 750rpx;
|
||||
background: rgba(255, 255, 255, 0.98);
|
||||
backdrop-filter: blur(10rpx);
|
||||
box-shadow: 0 -4rpx 16rpx rgba(0, 0, 0, 0.05);
|
||||
|
||||
.btn {
|
||||
margin: 8rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 160rpx;
|
||||
height: 72rpx;
|
||||
background: #F1F5F9; // 更柔和的按钮背景色
|
||||
border-radius: 12rpx;
|
||||
border: 1rpx solid #E2E8F0;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #475569;
|
||||
transition: all 0.3s ease;
|
||||
|
||||
&:active {
|
||||
transform: scale(0.98);
|
||||
background: #E2E8F0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.map {
|
||||
position: relative;
|
||||
width: 750rpx;
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@
|
|||
记录{{index + 1}}
|
||||
</view>
|
||||
<view class="two">
|
||||
{{item.startTime}}
|
||||
{{item.startTime == null ? '--' : item.startTime}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="bianhao">
|
||||
|
|
@ -125,9 +125,10 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="imgs">
|
||||
<view class="" v-for="(img, imgidx) in item.pictures" :key="imgidx">
|
||||
<image :src="img" mode="aspectFill" @click="preview(img, item)"></image>
|
||||
</view>
|
||||
<!-- <view class="" v-for="(img, imgidx) in item.pictures" :key="imgidx"> -->
|
||||
<!-- <image :src="img" mode="aspectFill" @click="preview(img, item)"></image> -->
|
||||
<video v-if="item.finishPicture != null" :src="item.finishPicture"></video>
|
||||
<!-- </view> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn_cont" v-if="orderxqobj.status == 'WAIT_VERIFY'">
|
||||
|
|
|
|||
|
|
@ -20,10 +20,10 @@
|
|||
账户余额(元)
|
||||
</view>
|
||||
<view class="price">
|
||||
{{infoobj.balance == null ? '--' : '¥' + qbobj.user.balance}}
|
||||
{{infoobj.balance == null ? '¥0.00' : '¥' + infoobj.balance.toFixed(2)}}
|
||||
</view>
|
||||
<view class="ljtx">
|
||||
累积提现:3456.23
|
||||
累积提现:{{successAmount == null ? '¥0.00' : '¥' + successAmount.toFixed(2)}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="rt">
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
</view>
|
||||
<view class="li">
|
||||
<view class="top">
|
||||
{{(Number(qbobj.bonus.amount) - Number(qbobj.bonusRefund.amount)).toFixed(2) == null ? '--' : '¥' + (Number(qbobj.bonus.amount) - Number(qbobj.bonusRefund.amount)).toFixed(2)}}
|
||||
{{(Number(qbobj.bonus.amount) - Number(qbobj.bonusRefund.amount)).toFixed(2) == null ? '¥0.00' : '¥' + (Number(qbobj.bonus.amount) - Number(qbobj.bonusRefund.amount)).toFixed(2)}}
|
||||
</view>
|
||||
<view class="bot">
|
||||
累计分成
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
</view>
|
||||
<view class="li">
|
||||
<view class="top">
|
||||
{{(Number(qbobj.order.payAmount) - Number(qbobj.orderRefund.amount)).toFixed(2) == null ? '--' : '¥' + (Number(qbobj.order.payAmount) - Number(qbobj.orderRefund.amount)).toFixed(2)}}
|
||||
{{(Number(qbobj.order.payAmount) - Number(qbobj.orderRefund.amount)).toFixed(2) == null ? '¥0.00' : '¥' + (Number(qbobj.order.payAmount) - Number(qbobj.orderRefund.amount)).toFixed(2)}}
|
||||
</view>
|
||||
<view class="bot">
|
||||
订单金额
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
</view>
|
||||
<view class="li">
|
||||
<view class="top">
|
||||
{{qbobj.order.count == null ? '--' : qbobj.order.count + '笔'}}
|
||||
{{qbobj.order.count == null ? '0' : qbobj.order.count + '笔'}}
|
||||
</view>
|
||||
<view class="bot">
|
||||
订单数量
|
||||
|
|
@ -107,7 +107,7 @@
|
|||
<image src="https://api.ccttiot.com/smartmeter/img/static/uUjJxrOO6zHPzjT0Srl4" mode=""></image>
|
||||
<view class="top">
|
||||
<view class="topwz">
|
||||
{{yunyingobj.order.count == null ? '--' : yunyingobj.order.count + '笔'}}
|
||||
{{yunyingobj.order.count == null ? '0' : yunyingobj.order.count + '笔'}}
|
||||
</view>
|
||||
<view class="botwz">
|
||||
订单数量
|
||||
|
|
@ -115,7 +115,7 @@
|
|||
</view>
|
||||
<view class="top">
|
||||
<view class="topwz">
|
||||
{{yunyingobj.order.payAmount == null ? '--' : '¥' + yunyingobj.order.payAmount.toFixed(2)}}
|
||||
{{yunyingobj.order.payAmount == null ? '¥0.00' : '¥' + yunyingobj.order.payAmount.toFixed(2)}}
|
||||
</view>
|
||||
<view class="botwz">
|
||||
订单金额
|
||||
|
|
@ -134,7 +134,7 @@
|
|||
<image src="https://api.ccttiot.com/smartmeter/img/static/uCWFSrIsbEaQdKHWZv7U" mode=""></image>
|
||||
<view class="top">
|
||||
<view class="topwz">
|
||||
{{yunyingobj.bonus.count == null ? '--' : yunyingobj.bonus.count + '笔'}}
|
||||
{{yunyingobj.bonus.count == null ? '0' : yunyingobj.bonus.count + '笔'}}
|
||||
</view>
|
||||
<view class="botwz">
|
||||
分成数量
|
||||
|
|
@ -142,7 +142,7 @@
|
|||
</view>
|
||||
<view class="top">
|
||||
<view class="topwz">
|
||||
{{(Number(yunyingobj.bonus.amount) - Number(yunyingobj.bonusRefund.amount)).toFixed(2) == null ? '--' : '¥' + (Number(yunyingobj.bonus.amount) - Number(yunyingobj.bonusRefund.amount)).toFixed(2)}}
|
||||
{{(Number(yunyingobj.bonus.amount) - Number(yunyingobj.bonusRefund.amount)).toFixed(2) == null ? '¥0.00' : '¥' + (Number(yunyingobj.bonus.amount) - Number(yunyingobj.bonusRefund.amount)).toFixed(2)}}
|
||||
</view>
|
||||
<view class="botwz">
|
||||
分成金额
|
||||
|
|
@ -387,6 +387,7 @@
|
|||
backgroundColor: "#fff",
|
||||
},
|
||||
index:0,
|
||||
successAmount:'',
|
||||
riqiindex:0,
|
||||
oneparams: {
|
||||
year: true,
|
||||
|
|
@ -417,10 +418,8 @@
|
|||
|
||||
},
|
||||
onShow() {
|
||||
this.getqb()
|
||||
this.getinfo()
|
||||
this.getCurrentDate(this.riqiindex)
|
||||
this.gettongji()
|
||||
},
|
||||
methods: {
|
||||
// 请求个人信息
|
||||
|
|
@ -428,13 +427,16 @@
|
|||
this.$u.get(`/getInfo`).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.infoobj = res.user
|
||||
this.successAmount = res.stat.withdraw.successAmount
|
||||
this.gettongji()
|
||||
this.getqb()
|
||||
}
|
||||
})
|
||||
},
|
||||
// 请求全部运营统计数据
|
||||
getqb() {
|
||||
let StatKeys = 'order_user_count,order_count,order_pay_amount,order_refund_amount,bonus_count,bonus_amount,bonus_refund_amount,bonus_refund_amount,user_balance'
|
||||
this.$u.get(`/dashboard/stat?keys=${StatKeys}&dateRange=`).then(res => {
|
||||
this.$u.get(`/dashboard/stat?keys=${StatKeys}&dateRange=&bonusUserId=${this.infoobj.userId}`).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.qbobj = res.data
|
||||
}
|
||||
|
|
@ -443,7 +445,7 @@
|
|||
// 请求筛选运营统计数据
|
||||
gettongji() {
|
||||
let StatKeys = 'order_user_count,order_count,order_pay_amount,order_refund_amount,bonus_count,bonus_amount,bonus_refund_amount,bonus_refund_amount,user_balance'
|
||||
this.$u.get(`/dashboard/stat?keys=${StatKeys}&dateRange=${this.kstime + ',' + this.jstime}`).then(res => {
|
||||
this.$u.get(`/dashboard/stat?keys=${StatKeys}&dateRange=${this.kstime + ',' + this.jstime}&bonusUserId=${this.infoobj.userId}`).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.yunyingobj = res.data
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,17 +28,18 @@
|
|||
</view>
|
||||
<view class="cardbox">
|
||||
<view class="tip">
|
||||
请对故障部位拍照
|
||||
请对故障部位拍照
|
||||
</view>
|
||||
<view class="icon">
|
||||
|
||||
|
||||
<view class="imgbox" v-for="(item,index) in imglist " :key="index">
|
||||
<image :src="item" mode=""></image>
|
||||
<image :src="item" mode="aspectFill"></image>
|
||||
</view>
|
||||
<view class="imgbox" @click="btn">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uY8CPw9YE6JxPzcHUaqf" mode="aspectFill"></image>
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uY8CPw9YE6JxPzcHUaqf" mode="aspectFill">
|
||||
</image>
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn" @click="sub()">
|
||||
|
|
@ -57,15 +58,16 @@
|
|||
bgc: {
|
||||
backgroundColor: "#fff",
|
||||
},
|
||||
cbgz: ['车头','车灯'],
|
||||
csgz: ['车座','车把','轮胎'],
|
||||
cbgz: ['车头', '车灯'],
|
||||
csgz: ['车座', '车把', '轮胎'],
|
||||
tsgz: ['其他'],
|
||||
textValue: '',
|
||||
currentCount: 0,
|
||||
imglist: [],
|
||||
token: '',
|
||||
sn:'',
|
||||
upurl:''
|
||||
sn: '',
|
||||
upurl: '',
|
||||
btnflag: true
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
|
|
@ -102,47 +104,52 @@
|
|||
},
|
||||
methods: {
|
||||
// 点击跳转到故障记录
|
||||
btnzgjl(){
|
||||
btnzgjl() {
|
||||
uni.navigateTo({
|
||||
url:'/page_user/guzhang/guzhanglv'
|
||||
url: '/page_user/guzhang/guzhanglv'
|
||||
})
|
||||
},
|
||||
sub(){
|
||||
let data = {
|
||||
faultDetail:this.textValue,
|
||||
vehicleCode:this.sn,
|
||||
faultSite:'',
|
||||
picture:this.imglist.join(',')
|
||||
}
|
||||
console.log(data,'dadadad');
|
||||
this.$u.post("/app/fault",data).then((res) => {
|
||||
sub() {
|
||||
if (this.btnflag == true) {
|
||||
this.btnflag = false
|
||||
let data = {
|
||||
faultDetail: this.textValue,
|
||||
vehicleCode: this.sn,
|
||||
faultSite: '',
|
||||
picture: this.imglist.join(',')
|
||||
}
|
||||
console.log(data, 'dadadad');
|
||||
this.$u.post("/app/fault", data).then((res) => {
|
||||
if (res.code == 200) {
|
||||
uni.showToast({
|
||||
title: '提交成功',
|
||||
icon: 'success',
|
||||
duration: 1000
|
||||
})
|
||||
setTimeout(()=>{
|
||||
uni.navigateBack({
|
||||
delta: 1,
|
||||
})
|
||||
},1100)
|
||||
}else if(res.code == 401){
|
||||
setTimeout(() => {
|
||||
this.btnflag = true
|
||||
uni.navigateBack({
|
||||
delta: 1,
|
||||
})
|
||||
}, 1100)
|
||||
} else if (res.code == 401) {
|
||||
this.btnflag = true
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '您当前未登录,是否前去登录?',
|
||||
showCancel: true,
|
||||
success: function (res) {
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
uni.reLaunch({
|
||||
url:'/pages/login/login'
|
||||
url: '/pages/login/login'
|
||||
})
|
||||
} else if (res.cancel) {
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
} else{
|
||||
} else {
|
||||
this.btnflag = true
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none',
|
||||
|
|
@ -150,22 +157,32 @@
|
|||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
getQiniuToken() {
|
||||
this.$u.get("/common/qiniuToken").then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.token=res.data
|
||||
console.log(res,'resres')
|
||||
this.token = res.data
|
||||
console.log(res, 'resres')
|
||||
}
|
||||
})
|
||||
},
|
||||
getlist(){
|
||||
getlist() {
|
||||
// checked
|
||||
this.$u.get("/appVerify/fault/allList?dictType=et_fault_type").then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.cbgz = res.data.headstock.map(item => ({...item, checked: false}))
|
||||
this.csgz = res.data.body.map(item => ({...item, checked: false}))
|
||||
this.tsgz = res.data.special.map(item => ({...item, checked: false}))
|
||||
this.cbgz = res.data.headstock.map(item => ({
|
||||
...item,
|
||||
checked: false
|
||||
}))
|
||||
this.csgz = res.data.body.map(item => ({
|
||||
...item,
|
||||
checked: false
|
||||
}))
|
||||
this.tsgz = res.data.special.map(item => ({
|
||||
...item,
|
||||
checked: false
|
||||
}))
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: '未登录,请登录后尝试',
|
||||
|
|
@ -179,10 +196,10 @@
|
|||
this.cbgz[index].checked = !this.cbgz[index].checked
|
||||
this.$forceUpdate()
|
||||
},
|
||||
csCheckbox(index){
|
||||
csCheckbox(index) {
|
||||
this.csgz[index].checked = !this.csgz[index].checked
|
||||
},
|
||||
tsCheckbox(index){
|
||||
tsCheckbox(index) {
|
||||
this.tsgz[index].checked = !this.tsgz[index].checked
|
||||
},
|
||||
hidePlaceholder() {
|
||||
|
|
@ -201,13 +218,13 @@
|
|||
let sn = null;
|
||||
let queryParams = res.result.split('?')[1]
|
||||
if (queryParams) {
|
||||
let params = queryParams.split('&')
|
||||
params.forEach(param => {
|
||||
let [key, value] = param.split('=')
|
||||
if (key === 's') {
|
||||
sn = value
|
||||
}
|
||||
})
|
||||
let params = queryParams.split('&')
|
||||
params.forEach(param => {
|
||||
let [key, value] = param.split('=')
|
||||
if (key === 's') {
|
||||
sn = value
|
||||
}
|
||||
})
|
||||
}
|
||||
this.sn = sn
|
||||
},
|
||||
|
|
@ -237,10 +254,10 @@
|
|||
key: 'smartmeter/img/' + math
|
||||
},
|
||||
success: function(res) {
|
||||
console.log(res,'resres');
|
||||
console.log(res, 'resres');
|
||||
let str = JSON.parse(res.data)
|
||||
console.log(str.key)
|
||||
_this.userImgs = 'https://api.ccttiot.com/'+ str.key
|
||||
_this.userImgs = 'https://api.ccttiot.com/' + str.key
|
||||
console.log(_this.userImgs)
|
||||
_this.imglist.push(_this.userImgs)
|
||||
}
|
||||
|
|
@ -270,7 +287,8 @@
|
|||
.page {
|
||||
width: 750rpx;
|
||||
padding-bottom: 200rpx;
|
||||
.sbjl{
|
||||
|
||||
.sbjl {
|
||||
width: 750rpx;
|
||||
margin-top: 20rpx;
|
||||
justify-content: center;
|
||||
|
|
@ -278,12 +296,14 @@
|
|||
align-items: center;
|
||||
font-size: 28rpx;
|
||||
color: #3D3D3D;
|
||||
image{
|
||||
|
||||
image {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
}
|
||||
.btn{
|
||||
|
||||
.btn {
|
||||
position: fixed;
|
||||
left: 34rpx;
|
||||
bottom: 80rpx;
|
||||
|
|
@ -299,6 +319,7 @@
|
|||
font-size: 40rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.cardbox {
|
||||
margin: 30rpx auto;
|
||||
width: 680rpx;
|
||||
|
|
@ -306,6 +327,7 @@
|
|||
background: #FFFFFF;
|
||||
box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08);
|
||||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||||
|
||||
.tip {
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
|
|
@ -313,6 +335,7 @@
|
|||
font-size: 32rpx;
|
||||
color: #3D3D3D;
|
||||
line-height: 44rpx;
|
||||
|
||||
.ipnt {
|
||||
margin-top: 10rpx;
|
||||
margin-right: 12rpx;
|
||||
|
|
@ -320,6 +343,7 @@
|
|||
font-size: 48rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.iptbox {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
|
@ -328,10 +352,12 @@
|
|||
height: 80rpx;
|
||||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||||
border: 2rpx solid #979797;
|
||||
|
||||
.ips {
|
||||
margin-left: 30rpx;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.iptbtn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
|
@ -340,25 +366,30 @@
|
|||
height: 80rpx;
|
||||
background: #4C97E7;
|
||||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||||
|
||||
image {
|
||||
width: 37rpx;
|
||||
height: 37rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.txt {
|
||||
margin-top: 18rpx;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #3D3D3D;
|
||||
}
|
||||
|
||||
.icon {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
margin-top: 40rpx;
|
||||
|
||||
.imgbox {
|
||||
width: 33%;
|
||||
|
||||
image {
|
||||
width: 142rpx;
|
||||
height: 142rpx;
|
||||
|
|
@ -366,13 +397,14 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.checkbox {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.check_li {
|
||||
position: relative;
|
||||
margin-right: 10rpx;
|
||||
margin-right: 10rpx;
|
||||
margin-top: 18rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
|
@ -381,7 +413,8 @@
|
|||
height: 65rpx;
|
||||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||||
border: 2rpx solid #C7C7C7;
|
||||
image{
|
||||
|
||||
image {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
|
|
@ -389,15 +422,18 @@
|
|||
height: 20rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.check_li:nth-child(4n) {
|
||||
margin-right: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.act1 {
|
||||
width: 142rpx;
|
||||
height: 65rpx;
|
||||
border: 2rpx solid #1E807A;
|
||||
border: 2rpx solid #1E807A;
|
||||
}
|
||||
}
|
||||
|
||||
.input-container {
|
||||
position: relative;
|
||||
width: 612rpx;
|
||||
|
|
@ -411,7 +447,7 @@
|
|||
box-sizing: border-box;
|
||||
border: 2rpx solid #C7C7C7;
|
||||
}
|
||||
|
||||
|
||||
.placeholder {
|
||||
position: absolute;
|
||||
top: 18rpx;
|
||||
|
|
@ -421,6 +457,7 @@
|
|||
pointer-events: none;
|
||||
/* 确保点击事件可以穿透到textarea上 */
|
||||
}
|
||||
|
||||
.custom-textarea {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
|
@ -431,7 +468,7 @@
|
|||
box-sizing: border-box;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
|
||||
.word-count {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<view class="page">
|
||||
<u-navbar title="拍照还车" :border-bottom="false" :background="bgc" title-color='#fff' title-size='36' height='45'
|
||||
<u-navbar title="还车" :border-bottom="false" :background="bgc" title-color='#fff' title-size='36' height='45'
|
||||
back-icon-color='#fff'></u-navbar>
|
||||
<view class="tip_box">
|
||||
请将车辆正确停放指定停车点后,环绕车拍摄视 频,押金将在审核通过后退还账户
|
||||
|
|
@ -10,23 +10,39 @@
|
|||
我们将在12小时内完成审核
|
||||
</view>
|
||||
<view class="vadio_png1">
|
||||
<image class="backimg" src="https://lxnapi.ccttiot.com/bike/img/static/uEP0UPJw6a1WuxA7ZlMo" mode="" v-if="videoUrl==''"></image>
|
||||
<image @click="recordVideo" class="tip_img" src="https://lxnapi.ccttiot.com/bike/img/static/uXFG7Vee8MWx5y7pha2U" mode="" v-if="videoUrl==''"></image>
|
||||
<image @click="recordVideo" class="backimg" src="https://api.ccttiot.com/smartmeter/img/static/uTwV4aH6HbxqmM1ssvTs" mode="" v-if="videoUrl==''"></image>
|
||||
<video class="vad" :src="videoUrl" controls="controls" style="width: 100%;" v-if="videoUrl!=''"></video>
|
||||
<!-- <view class="glass" v-if="videoUrl!=''"></view>
|
||||
<image class="tip_img" src="https://lxnapi.ccttiot.com/bike/img/static/uXFG7Vee8MWx5y7pha2U" mode="" v-if="videoUrl!=''"></image> -->
|
||||
</view>
|
||||
<view class="tip_txt" style="font-weight: 500;font-size: 32rpx;color: #3D3D3D;">
|
||||
<view class="tip_txt" style="font-weight: 500;font-size: 32rpx;color: #3D3D3D;margin-top: 30rpx;">
|
||||
保持车辆录像的完整清晰,不要随意拍摄,确保视频中车辆出境,并且出现车牌号
|
||||
</view>
|
||||
<view class="vadio_png">
|
||||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uVuGMvfe3xlz3x8WSmcC" mode=""></image>
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/unL4myQWRXAKWCmKof4j" mode=""></image>
|
||||
</view>
|
||||
|
||||
<view class="btn" @click="sub" :class='videoUrl!="" ? "act1": ""'>
|
||||
还车
|
||||
</view>
|
||||
</view>
|
||||
<!-- 扫码用车未在停车点内还车弹窗 -->
|
||||
<view class="tingchetc" v-if="fjflag">
|
||||
<view class="topname">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uDfEXjApmdS6ByM88pv3" mode=""></image> {{fajinobj.manageFee > 0 ? '不在运营区' : fajinobj.dispatchFee > 0 ? '不在停车点' : ''}}
|
||||
</view>
|
||||
<view class="shuom">
|
||||
需支付<text>{{fajinobj.manageFee > 0 ? fajinobj.manageFee : fajinobj.dispatchFee > 0 ? fajinobj.dispatchFee : ''}}元</text>,你可查看<text @click="btntcd">最近停车点</text>
|
||||
</view>
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uzRrRFiToK3bb3IurIHU" class="tcimg" mode=""></image>
|
||||
<view class="btnan">
|
||||
<view class="fj" @click="btnfajin">
|
||||
缴纳罚金还车
|
||||
</view>
|
||||
<view class="qx" @click="fjflag = false">
|
||||
继续骑行
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mask" v-if="fjflag"></view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
|
@ -43,18 +59,32 @@
|
|||
upurl:'',
|
||||
orderinfo:{},
|
||||
userId:'',
|
||||
videoUrl:''
|
||||
|
||||
videoUrl:'',
|
||||
fjflag:false,
|
||||
fajinobj:{},
|
||||
orderAreaId:''
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
this.orderId = e.orderid
|
||||
this.orderAreaId = e.orderAreaId
|
||||
},
|
||||
onShow() {
|
||||
this.getQiniuToken()
|
||||
// this.getuserInfo()
|
||||
},
|
||||
methods: {
|
||||
// 点击缴纳罚金继续还车
|
||||
btnfajin(){
|
||||
this.fjflag = false
|
||||
this.gethc()
|
||||
},
|
||||
// 点击跳转到最近停车点
|
||||
btntcd(){
|
||||
uni.navigateTo({
|
||||
url:'/pages/myorder/returned/tingche?areaId=' + this.orderAreaId
|
||||
})
|
||||
},
|
||||
sub(){
|
||||
uni.getLocation({
|
||||
type: 'wgs84',
|
||||
|
|
@ -70,7 +100,27 @@
|
|||
}
|
||||
})
|
||||
},
|
||||
// 点击还车判断是否需要另外缴费
|
||||
getfeiyong(){
|
||||
let data = {
|
||||
orderId:this.orderId,
|
||||
lon:this.lat,
|
||||
lat:this.lon
|
||||
}
|
||||
this.$u.post(`/app/order/calcFee`,data).then(res =>{
|
||||
if(res.code == 200){
|
||||
this.fajinobj = res.data
|
||||
if(res.data.manageFee > 0 || res.data.dispatchFee > 0){
|
||||
this.fjflag = true
|
||||
// this.gethc()
|
||||
}else{
|
||||
// this.fjflag = true
|
||||
this.gethc()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
gethc(){
|
||||
let data = {
|
||||
orderId:this.orderId,
|
||||
picture:this.videoUrl,
|
||||
|
|
@ -209,7 +259,81 @@
|
|||
page {
|
||||
background-color: #F7FAFE;
|
||||
}
|
||||
|
||||
.mask{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: rgba(0, 0, 0, .3);
|
||||
z-index: 9;
|
||||
}
|
||||
.tingchetc{
|
||||
width: 624rpx;
|
||||
height: 610rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||||
position: fixed;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 572rpx;
|
||||
z-index: 10;
|
||||
padding: 28rpx 36rpx;
|
||||
box-sizing: border-box;
|
||||
.btnan{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 40rpx;
|
||||
.fj{
|
||||
width: 252rpx;
|
||||
height: 72rpx;
|
||||
border-radius: 45rpx 45rpx 45rpx 45rpx;
|
||||
border: 2rpx solid #808080;
|
||||
font-weight: 600;
|
||||
font-size: 32rpx;
|
||||
color: #808080;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
.qx{
|
||||
width: 252rpx;
|
||||
height: 72rpx;
|
||||
background: #4C97E7;
|
||||
border-radius: 45rpx 45rpx 45rpx 45rpx;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
box-sizing: border-box;
|
||||
font-weight: 600;
|
||||
font-size: 32rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
.tcimg{
|
||||
width: 552rpx;
|
||||
height: 300rpx;
|
||||
margin-top: 28rpx;
|
||||
}
|
||||
.shuom{
|
||||
font-size: 26rpx;
|
||||
color: #3D3D3D;
|
||||
margin-top: 18rpx;
|
||||
text{
|
||||
color: #4C97E7;
|
||||
}
|
||||
}
|
||||
.topname{
|
||||
font-weight: 600;
|
||||
font-size: 36rpx;
|
||||
color: #3D3D3D;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
image{
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
margin-right: 14rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.page {
|
||||
// width: 750rpx;
|
||||
width: 750rpx;
|
||||
|
|
|
|||
|
|
@ -85,15 +85,22 @@
|
|||
<view class="cont_box" v-show="checkIdx == 2 || orderobj.orderAreaReturnVerify == true">
|
||||
<view class="tit">
|
||||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uByIrgaV23PDGZWReKHW" mode=""></image>
|
||||
请对车辆部位拍照
|
||||
请对车辆部位拍摄视频
|
||||
</view>
|
||||
<view class="icon">
|
||||
<!-- <view class="icon">
|
||||
<view class="imgbox" v-for="(item, index) in imglist " :key="index">
|
||||
<image :src="item" mode=""></image>
|
||||
</view>
|
||||
<view class="imgbox" @click="btn">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uY8CPw9YE6JxPzcHUaqf" mode=""></image>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="vadio_png1">
|
||||
<image @click="recordVideo" class="backimg" src="https://api.ccttiot.com/smartmeter/img/static/uTwV4aH6HbxqmM1ssvTs" mode="" v-if="videoUrl==''"></image>
|
||||
<video class="vad" :src="videoUrl" controls="controls" style="width: 100%;" v-if="videoUrl!=''"></video>
|
||||
</view>
|
||||
<view class="tip_txt" style="font-weight: 500;font-size: 32rpx;color: #3D3D3D;margin-top: 30rpx;">
|
||||
保持车辆录像的完整清晰,不要随意拍摄,确保视频中车辆出境,并且出现车牌号
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
|
@ -124,7 +131,9 @@ export default {
|
|||
feiyong:'',
|
||||
timeRemaining: "",
|
||||
latitude:'',
|
||||
longitude:''
|
||||
longitude:'',
|
||||
videoPath:'',
|
||||
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
|
|
@ -151,6 +160,48 @@ export default {
|
|||
|
||||
},
|
||||
methods: {
|
||||
recordVideo() {
|
||||
// 调用录像API
|
||||
uni.chooseVideo({
|
||||
sourceType: ['camera'], // 指定使用相机录像
|
||||
camera: 'back', // 指定使用后置摄像头,可选值有front、back
|
||||
maxDuration: 15, // 最大录制时长(秒)
|
||||
success: (res) => {
|
||||
// 获取视频录制文件的临时路径
|
||||
this.videoPath = res.tempFilePath;
|
||||
console.log(res.tempFilePath);
|
||||
this.upload()
|
||||
},
|
||||
fail: (err) => {
|
||||
console.log('录像失败:', err);
|
||||
}
|
||||
});
|
||||
},
|
||||
upload(){
|
||||
uni.showLoading({
|
||||
title:'上传中'
|
||||
})
|
||||
let _this=this
|
||||
let math='static/'+_this.$u.guid(20)
|
||||
wx.uploadFile({
|
||||
url: 'https://up-z2.qiniup.com',
|
||||
name: 'file',
|
||||
filePath: this.videoPath,
|
||||
formData: {
|
||||
token: _this.token, //后端返回的token
|
||||
key:'bike/video/'+math
|
||||
},
|
||||
success: function(res) {
|
||||
uni.hideLoading()
|
||||
console.log(res,'resres');
|
||||
let str = JSON.parse(res.data)
|
||||
console.log(str.key)
|
||||
_this.videoUrl = 'https://api.ccttiot.com/' + str.key
|
||||
// console.log(_this.userImgs)
|
||||
// _this.imglist.push(_this.userImgs)
|
||||
}
|
||||
});
|
||||
},
|
||||
// 点击进行换车
|
||||
subs(){
|
||||
uni.showLoading({
|
||||
|
|
@ -163,15 +214,15 @@ export default {
|
|||
}else{
|
||||
reason = 'DEVICE_FAULT'
|
||||
}
|
||||
if(this.imglist.length > 0){
|
||||
faultPicture = this.imglist.join(',')
|
||||
}
|
||||
// if(this.imglist.length > 0){
|
||||
// faultPicture = this.imglist.join(',')
|
||||
// }
|
||||
let data = {
|
||||
orderId:this.orderid,
|
||||
deviceSn:this.bikesn,
|
||||
reason:reason,
|
||||
faultDetail:this.textValue,
|
||||
faultPicture:faultPicture,
|
||||
faultPicture:this.videoUrl,
|
||||
lat:this.latitude,
|
||||
lon:this.longitude
|
||||
}
|
||||
|
|
@ -707,7 +758,48 @@ page {
|
|||
background: #FFFFFF;
|
||||
box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08);
|
||||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||||
|
||||
.vadio_png1{
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 340rpx;
|
||||
margin-top: 30rpx;
|
||||
.backimg{
|
||||
|
||||
width: 100%;
|
||||
height: 340rpx;
|
||||
|
||||
}
|
||||
.tip_img{
|
||||
position: absolute;
|
||||
top: 72rpx;
|
||||
left: 210rpx;
|
||||
width: 252rpx;
|
||||
height: 194rpx;
|
||||
z-index: 11;
|
||||
}
|
||||
.vad{
|
||||
width: 100%;
|
||||
height: 370rpx;
|
||||
border-radius: 40rpx;
|
||||
z-index: 1;
|
||||
}
|
||||
.glass{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 340rpx;
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
border-radius: 40rpx;
|
||||
// box-shadow: 0 rgba(0, 0, 0, 0.1);
|
||||
backdrop-filter: blur(10rpx);
|
||||
-webkit-backdrop-filter: blur(10rpx); /* For Safari */
|
||||
// border: 1rpx solid rgba(255, 255, 255, 0.3);
|
||||
z-index: 10;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
.tit {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
|
|
|
|||
|
|
@ -42,7 +42,8 @@
|
|||
</view>
|
||||
<view class="img">
|
||||
<view class="" v-for="(img, imgidx) in parsePictures(pic.finishPicture)" :key="imgidx">
|
||||
<image :src="img" mode="aspectFill" @click="preview(img, pic)"></image>
|
||||
<!-- <image :src="img" mode="aspectFill" @click="preview(img, pic)"></image> -->
|
||||
<video :src="img"></video>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
|
|||
|
|
@ -54,7 +54,8 @@
|
|||
tel:'',
|
||||
name:'',
|
||||
zfzh:'',
|
||||
isReal:false
|
||||
isReal:false,
|
||||
backData: null
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
|
|
@ -66,12 +67,54 @@
|
|||
this.zfzh = JSON.parse(option.user).realIdCard
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
if (this.backData == true) {
|
||||
console.log('接收数据:', this.backData);
|
||||
this.getshuaxin();
|
||||
this.backData = null; // 重置
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 刷新人脸识别是否成功
|
||||
getshuaxin(){
|
||||
this.$u.get('/app/realName/refreshRealName').then(res => {
|
||||
if(res.code == 200){
|
||||
if(res.data.pass == true){
|
||||
let realNameType = res.data.realNameType
|
||||
let infoId = res.data.infoId
|
||||
uni.showModal({
|
||||
title: '温馨提示',
|
||||
content: `人脸认证成功`,
|
||||
showCancel: false,
|
||||
success: function(res) {
|
||||
uni.navigateBack()
|
||||
}
|
||||
})
|
||||
}else{
|
||||
uni.showModal({
|
||||
title: '温馨提示',
|
||||
content: `人脸认证失败`,
|
||||
showCancel: false,
|
||||
success: function(res) {
|
||||
uni.navigateBack()
|
||||
}
|
||||
})
|
||||
}
|
||||
}else{
|
||||
uni.showModal({
|
||||
title: '温馨提示',
|
||||
content: `人脸认证失败`,
|
||||
showCancel: false,
|
||||
success: function(res) {
|
||||
uni.navigateBack()
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 自定义返回
|
||||
btnfh(){
|
||||
uni.switchTab({
|
||||
url:'/pages/my'
|
||||
})
|
||||
uni.navigateBack()
|
||||
},
|
||||
// 点击进行实名认证
|
||||
btnshiming(){
|
||||
|
|
@ -83,6 +126,7 @@
|
|||
this.$u.put(`/app/realName/realName`,data).then(res =>{
|
||||
if(res.code == 200){
|
||||
let https = encodeURIComponent(res.data.jumpUrl)
|
||||
this.backData = true
|
||||
uni.navigateTo({
|
||||
url:'/page_fenbao/renlian?https=' + https
|
||||
})
|
||||
|
|
|
|||
|
|
@ -74,7 +74,8 @@
|
|||
token: '',
|
||||
contact: '',
|
||||
picdomain:'',
|
||||
userId:''
|
||||
userId:'',
|
||||
btnflag:true
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
|
@ -135,25 +136,8 @@
|
|||
this.currentCount = this.textValue.trim().replace(/\s+/g, '').length
|
||||
},
|
||||
sub() {
|
||||
if (this.cutidx == -1) {
|
||||
uni.showToast({
|
||||
title: '请选择反馈类型',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
} else if (this.textValue == '') {
|
||||
uni.showToast({
|
||||
title: '请输入问题描述',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
} else if (this.contact == '') {
|
||||
uni.showToast({
|
||||
title: '请输入联系方式',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
} else {
|
||||
if(this.btnflag == true){
|
||||
this.btnflag = false
|
||||
var imgString = this.imglist.join(',')
|
||||
let data = {
|
||||
userId:this.userId,
|
||||
|
|
@ -170,11 +154,35 @@
|
|||
duration: 2000
|
||||
})
|
||||
setTimeout(()=>{
|
||||
this.btnflag = true
|
||||
uni.navigateBack()
|
||||
},1500)
|
||||
}else if(res.code == 401){
|
||||
this.btnflag = true
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '您当前未登录,是否前去登录?',
|
||||
showCancel: true,
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
uni.reLaunch({
|
||||
url: '/pages/login/login'
|
||||
})
|
||||
} else if (res.cancel) {
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
}else{
|
||||
this.btnflag = true
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
btn() {
|
||||
let _this = this
|
||||
|
|
|
|||
|
|
@ -198,8 +198,8 @@
|
|||
getlunbo(){
|
||||
this.$u.get("/app/ad").then(res => {
|
||||
if(res.code == 200){
|
||||
if(res.rows.length > 0 && res.rows[0] != null){
|
||||
res.rows.forEach(item =>{
|
||||
if(res.data.length > 0 && res.data[0] != null){
|
||||
res.data.forEach(item =>{
|
||||
this.lists.push({
|
||||
image:item.picture,
|
||||
title: item.adId
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@
|
|||
style="margin-top: 30rpx;">
|
||||
快捷登录
|
||||
</button>
|
||||
|
||||
<!-- <view class="tipss" @click="pageindex=1" style="width: 100%;text-align: center;margin-top: 50rpx;color: #ccc;">
|
||||
手机号登录
|
||||
</view> -->
|
||||
|
||||
<view class="tipss" @click="bdl" style="width: 100%;text-align: center;margin-top: 50rpx;color: #333;position: fixed;z-index: 99;bottom: 60rpx;">
|
||||
暂不登录
|
||||
</view>
|
||||
</view>
|
||||
<view class="page3" v-if="pageindex == 2">
|
||||
<view class="tit">
|
||||
|
|
@ -279,6 +279,11 @@
|
|||
},
|
||||
},
|
||||
methods: {
|
||||
bdl(){
|
||||
uni.switchTab({
|
||||
url:'/pages/index/index'
|
||||
})
|
||||
},
|
||||
page3(){
|
||||
this.pageindex=3
|
||||
this.phone1=''
|
||||
|
|
|
|||
32
pages/my.vue
32
pages/my.vue
|
|
@ -68,7 +68,8 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="gg">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uTZBBRuyRexKd6c4VE9d" mode=""></image>
|
||||
<!-- <image src="https://api.ccttiot.com/smartmeter/img/static/uTZBBRuyRexKd6c4VE9d" mode=""></image> -->
|
||||
<u-swiper :list="lists"></u-swiper>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
|
@ -153,7 +154,8 @@
|
|||
guanliflag:false,
|
||||
adminflag:false,
|
||||
user:{},
|
||||
kefulist:[]
|
||||
kefulist:[],
|
||||
lists:[]
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
|
@ -162,8 +164,29 @@
|
|||
onShow() {
|
||||
this.getareaList()
|
||||
this.getkefu()
|
||||
this.getlunbo()
|
||||
},
|
||||
methods: {
|
||||
// 获取广告轮播图
|
||||
getlunbo(){
|
||||
this.$u.get("/app/ad").then(res => {
|
||||
if(res.code == 200){
|
||||
if(res.data.length > 0 && res.data[0] != null){
|
||||
res.data.forEach(item =>{
|
||||
this.lists.push({
|
||||
image:item.picture,
|
||||
title: item.adId
|
||||
})
|
||||
})
|
||||
}else{
|
||||
this.lists.push({
|
||||
image:"https://api.ccttiot.com/smartmeter/img/static/uTZBBRuyRexKd6c4VE9d",
|
||||
title: ""
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
// 请求客服
|
||||
getkefu(){
|
||||
this.$u.get(`/app/customerService/list?pageNum=1&pageSize=999`).then(res =>{
|
||||
|
|
@ -347,6 +370,9 @@
|
|||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
/deep/ wx-swiper{
|
||||
height: 286rpx !important;
|
||||
}
|
||||
page {
|
||||
background: linear-gradient( 180deg, #CCE5FF 0%, rgba(204,229,255,0) 40%);
|
||||
}
|
||||
|
|
@ -550,7 +576,7 @@
|
|||
.li{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
height: 80rpx;
|
||||
height: 100rpx;
|
||||
align-items: center;
|
||||
.lt{
|
||||
display: flex;
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
</view>
|
||||
<view class="" @click="btnqd">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uqTfyigsAuNX67k5QY4m" mode=""></image>
|
||||
{{deivceobj.deviceLockStatus == 0 ? '已锁车' : '已开启'}}
|
||||
{{deivceobj.deviceLockStatus == 0 ? '点击开锁' : '临时锁车'}}
|
||||
</view>
|
||||
<view class="" @click="btndaohang">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uNYGQSPt1pxciP1CDp1b" mode=""></image>
|
||||
|
|
@ -106,22 +106,6 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 还车牌照 -->
|
||||
<!-- <view class="cont_box" v-if="orderAreaReturnVerify">
|
||||
<view class="tit">
|
||||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uByIrgaV23PDGZWReKHW" mode=""></image>
|
||||
还车请拍摄车辆照片
|
||||
</view>
|
||||
<view class="icon">
|
||||
<view class="imgbox" v-for="(item, index) in imglist " :key="index">
|
||||
<image :src="item" @click="previewImage(index)" mode="aspectFill"></image>
|
||||
<image @click="btnscpic(index)" src="https://api.ccttiot.com/smartmeter/img/static/uupDDn1ykO99dIgh961m" class="text" mode=""></image>
|
||||
</view>
|
||||
<view class="imgbox" @click="btn">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uY8CPw9YE6JxPzcHUaqf" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<!-- 还车,换车按钮 -->
|
||||
<view class="anniuhc">
|
||||
<view class="huanche" style="background-color: #fff;border: 1px solid #4297F3;color: #4297F3;" @click="btnghbike">
|
||||
|
|
@ -163,7 +147,7 @@
|
|||
data() {
|
||||
return {
|
||||
bgc: {
|
||||
backgroundColor: "rgb(235,240,254)",
|
||||
backgroundColor: "",
|
||||
},
|
||||
cheflag:true,
|
||||
qdtxt:'已关闭',
|
||||
|
|
@ -190,7 +174,6 @@
|
|||
}
|
||||
},
|
||||
onShow() {
|
||||
this.getQiniuToken()
|
||||
setTimeout(()=>{
|
||||
this.getorderdevice()
|
||||
},100)
|
||||
|
|
@ -226,52 +209,6 @@
|
|||
}
|
||||
})
|
||||
},
|
||||
// 点击预览图片
|
||||
previewImage(index) {
|
||||
uni.previewImage({
|
||||
current: this.imglist[index],
|
||||
urls: this.imglist
|
||||
})
|
||||
},
|
||||
// 点击删除拍摄的照片
|
||||
btnscpic(index){
|
||||
this.imglist.splice(index, 1)
|
||||
},
|
||||
// 请求七牛云上传
|
||||
getQiniuToken() {
|
||||
this.$u.get("/common/qiniuToken").then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.token = res.data
|
||||
}
|
||||
})
|
||||
},
|
||||
// 上传照片
|
||||
btn() {
|
||||
let _this = this
|
||||
let math = 'static/' + _this.$u.guid(20)
|
||||
uni.chooseImage({
|
||||
count: 9,
|
||||
type: 'all',
|
||||
success(res) {
|
||||
const tempFilePaths = res.tempFiles
|
||||
wx.uploadFile({
|
||||
url: 'https://up-z2.qiniup.com',
|
||||
name: 'file',
|
||||
filePath: tempFilePaths[0].path,
|
||||
formData: {
|
||||
token: _this.token, //后端返回的token
|
||||
key: 'smartmeter/img/' + math
|
||||
},
|
||||
success: function (res) {
|
||||
let str = JSON.parse(res.data)
|
||||
let userImgs = 'https://api.ccttiot.com/' + str.key
|
||||
console.log(userImgs)
|
||||
_this.imglist.push(userImgs)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 点击去进行换车
|
||||
btnghbike(){
|
||||
uni.navigateTo({
|
||||
|
|
@ -300,7 +237,7 @@
|
|||
btnhc(){
|
||||
if(this.orderAreaReturnVerify == true){
|
||||
uni.navigateTo({
|
||||
url:'/page_user/hcshenhe?sn=' + this.deivceobj.deviceSn + '&orderid=' + this.deivceobj.orderId
|
||||
url:'/page_user/hcshenhe?sn=' + this.deivceobj.deviceSn + '&orderid=' + this.deivceobj.orderId + '&orderAreaId=' + this.deivceobj.orderAreaId
|
||||
})
|
||||
}else{
|
||||
uni.getLocation({
|
||||
|
|
@ -421,14 +358,14 @@
|
|||
let that = this
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '您是否要开启车辆?',
|
||||
content: '您是否要解锁车辆?',
|
||||
showCancel: true,
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
that.$u.put(`/app/order/openDevice?orderId=${that.deivceobj.orderId}`).then((res) => {
|
||||
if (res.code == 200) {
|
||||
uni.showToast({
|
||||
title: '开启成功',
|
||||
title: '解锁成功',
|
||||
icon: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
|
|
@ -447,17 +384,28 @@
|
|||
}
|
||||
})
|
||||
}else if(this.deivceobj.deviceLockStatus == 1){
|
||||
uni.getLocation({
|
||||
type: 'wgs84',
|
||||
success: (res) => {
|
||||
console.log(res);
|
||||
this.lat = res.latitude
|
||||
this.lon = res.longitude
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('获取位置失败:', err)
|
||||
}
|
||||
})
|
||||
let that = this
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '您是否要临时关闭车辆?',
|
||||
content: '您是否要临时锁车?',
|
||||
showCancel: true,
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
that.$u.put(`/app/order/closeDevice?orderId=${that.deivceobj.orderId}`).then((res) => {
|
||||
that.$u.put(`/app/order/closeDevice?orderId=${that.deivceobj.orderId}&lat=${that.lat}&lon=${that.lon}`).then((res) => {
|
||||
if (res.code == 200) {
|
||||
uni.showToast({
|
||||
title: '临时关闭成功',
|
||||
title: '临时锁车成功',
|
||||
icon: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
|
|
@ -544,49 +492,6 @@
|
|||
padding-bottom: 240rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.cont_box {
|
||||
margin: 0 auto;
|
||||
padding: 24rpx 32rpx;
|
||||
width: 680rpx;
|
||||
margin-top: 38rpx;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08);
|
||||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||||
.icon {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
margin-top: 40rpx;
|
||||
.imgbox {
|
||||
width: 200rpx;
|
||||
position: relative;
|
||||
margin-top: 20rpx !important;
|
||||
.text{
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
position: absolute;
|
||||
top: -10rpx;
|
||||
right: 10rpx;
|
||||
}
|
||||
image {
|
||||
width: 180rpx;
|
||||
height: 180rpx;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.tit {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
align-items: center;
|
||||
image {
|
||||
margin-right: 12rpx;
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.mask{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
|
|
@ -666,6 +571,10 @@
|
|||
margin-top: 24rpx;
|
||||
padding: 0 26rpx;
|
||||
box-sizing: border-box;
|
||||
height: 78vh;
|
||||
overflow: scroll;
|
||||
padding-bottom: 80rpx;
|
||||
box-sizing: border-box;
|
||||
.anniuhc{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user