This commit is contained in:
tx 2024-08-06 17:15:17 +08:00
parent 062c925581
commit 2a081c7166
11 changed files with 487 additions and 298 deletions

View File

@ -1,9 +1,6 @@
const install = (Vue, vm) => {
// Vue.prototype.$u.http.setConfig({
// baseURL: 'https://yruibao.com/admin',
// // baseUrl: 'http://192.168.10.104:8088',
// method: 'POST',
// // 设置为json返回后会对数据进行一次JSON.parse()
@ -16,9 +13,9 @@ const install = (Vue, vm) => {
// // 配置请求头信息
// header: {
// 'content-type': 'application/json;charset=UTF-8',
// },
// });
uni.setStorageSync('deptId', 100);
Vue.prototype.$u.http.setConfig({
// baseUrl: 'http://61.174.243.28:15861',
@ -27,18 +24,14 @@ const install = (Vue, vm) => {
// baseUrl: 'https://dianche.chuantewulian.cn/prod-api',
baseUrl: 'https://dche.ccttiot.com/prod-api',
loadingText: '努力加载中~',
loadingTime: 50000,
loadingTime: 10000,
// 设置自定义头部content-type
header: {
'content-type': 'application/json;charset=UTF-8',
},
// ......
});
// 创享 wx3428c498d5061192
// 嵛山岛 wx4d178f8c80348214
// 请求拦截部分,如配置,每次请求前都会执行
// 请求拦截部分
Vue.prototype.$u.http.interceptor.request = (config) => {
// 引用token
// 方式一存放在vuex的token假设使用了uView封装的vuex方式
@ -71,7 +64,7 @@ const install = (Vue, vm) => {
// if(config.url == '/user/rest') return false; // 取消某次请求
}
// 响应拦截,如配置,每次请求结束都会执行本方法
// 响应拦截部分
Vue.prototype.$u.http.interceptor.response = (res) => {
// if(res.code == 10022 || res.code == 10023) {
// // res为服务端返回值可能有coderesult等字段
@ -89,26 +82,17 @@ const install = (Vue, vm) => {
// // return res.result;
// }
if (res.code == 401) {
wx.login({
success(res) {
if (res.code) {
console.log('登录!', res);
let data = {
wxOpenId: res.code,
};
let areaId = uni.getStorageSync('areaId');
if (areaId) {
vm.$u.post('/loginByopenid?jsCode='+res.code+'&areaId='+areaId).then(res=>{
vm.$u.post('/loginByopenid?jsCode=' + res.code + '&areaId=' + areaId).then(
res => {
uni.hideLoading();
if (res.code == 200) {
uni.setStorageSync('token', res.token);
// uni.navigateTo({
// url:'/pages/index/index'
// })
} else if (res.code == 501) {
uni.showToast({
title: res.msg,
@ -116,35 +100,38 @@ const install = (Vue, vm) => {
duration: 2000
});
} else {
// console.log("老用户登录",res.data)
uni.navigateTo({
url: '/pages/login/login'
})
}
});
}
}
},
});
}
return res;
// else if(res.code == 201) {
// // 假设201为token失效这里跳转登录
// vm.$u.toast('验证失败,请重新登录');
// setTimeout(() => {
// // 此为uView的方法详见路由相关文档
// vm.$u.route('/pages/user/login')
// }, 1500)
// return false;
// } else {
// // 如果返回false则会调用Promise的reject回调
// // 并将进入this.$u.post(url).then().catch(res=>{})的catch回调中res为服务端的返回值
// return false;
// }
}
// 手动实现超时控制
const originalRequest = Vue.prototype.$u.http.request;
Vue.prototype.$u.http.request = (options) => {
return new Promise((resolve, reject) => {
const timeout = 20000; // 10秒超时
const timer = setTimeout(() => {
resolve( { code: 500, msg: '请求超时' } );
}, timeout);
// 执行原始请求
originalRequest.call(Vue.prototype.$u.http, options).then(response => {
clearTimeout(timer);
resolve(response);
}).catch(error => {
clearTimeout(timer);
reject(error);
});
});
};
}
export default {

View File

@ -54,7 +54,7 @@
"appid" : "wx3428c498d5061192",
"setting" : {
"urlCheck" : false,
"minified" : false
"minified" : true
},
"usingComponents" : true,
"optimization" : {

37
page_vip/Vip_index.vue Normal file
View File

@ -0,0 +1,37 @@
<template>
<view class="page">
<u-navbar title="编号开锁" :border-bottom="false" :background="bgc" title-color='#000' title-size='36' height='45'></u-navbar>
</view>
</template>
<script>
export default {
data() {
return {
bgc: {
backgroundColor: '#fff'
},
sn:'',
istrue:false
}
},
methods: {
}
}
</script>
<style lang="scss" >
page{
background-color: #fff;
}
.page{
width: 750rpx;
}
</style>

View File

@ -29,26 +29,10 @@
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
},
{
"path": "pages/bind_sn",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
},
{
"path" : "pages/bind_mac",
"style" :
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}
],
"subPackages": [{
@ -104,6 +88,23 @@
"enablePullDownRefresh" : false
}
},
{
"path": "worke/bind_sn",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
},
{
"path" : "worke/bind_mac",
"style" :
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
},
{
"path" : "worke/worke_income",
"style" :
@ -199,6 +200,22 @@
}
// ... A
]
},
{
"root": "page_vip", // A
"pages": [
{
"path": "Vip_index",
"style": {
"navigationBarTitleText": "上传",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}
// ... A
]
},

View File

@ -4410,7 +4410,7 @@
}
if (this.sn) {
setTimeout(()=>{
this.deviceInfo(0)
this.deviceInfo(1)
this.qParam = null
},500)
@ -4817,7 +4817,7 @@
});
} else if (this.deviceInfos.status == 1) {
if (this.areaId != res.data.areaId) {
if (this.areaInfo.areaId != res.data.areaId) {
this.getArea()
}
// this.routePlanning(res.data.latitude, res.data.longitude)
@ -4825,7 +4825,7 @@
this.showdevice = true
this.type = 1;
this.deviceIndex = 1;
}, 500)
}, 600)
}
}
@ -4949,7 +4949,7 @@
// this.routePlanning(res.data
// .latitude, res.data
// .longitude)
if (this.areaId != res.data
if (this.areaInfo != res.data
.areaId) {
this.getArea()
}
@ -4958,7 +4958,7 @@
this.showdevice = true
this.type = 1;
this.deviceIndex = 1;
}, 500)
}, 600)
}
}
} else {

View File

@ -174,7 +174,7 @@
})
}else if(num==5){
uni.navigateTo({
url:'/pages/bind_sn'
url:'/pages_admin/worke/bind_sn'
})
// uni.scanCode({
// onlyFromCamera: true,

View File

@ -1167,6 +1167,7 @@
},
deviceInfo() {
this.$u.get('/app/device/info?sn=' + this.sn).then((res) => {
console.log(res,'rererer');
if (res.code === 200) {
this.deviceInfos = res.data
if(this.getnum==0){
@ -1337,6 +1338,12 @@
}
this.$forceUpdate()
}else{
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
})
},

View File

@ -64,15 +64,27 @@
</view>
</view>
<view class="info_li">
<!-- <view class="half_infoli">
车辆编号<span>{{orderInfo.device.areaName}}</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>
<view class="half_infoli">
运营区域:
<span v-if="orderInfo.area">{{orderInfo.area}}</span>
<span v-else>--</span>
</view>
</view>
<view class="info_li">
<view class="half_infoli" v-if="deviceInfos.lockStatus==0">
锁状态<span >关锁</span>
</view>
<view class="half_infoli" v-if="deviceInfos.lockStatus==1">
锁状态<span >开锁</span>
</view>
</view>
</view>
</view>
@ -104,11 +116,20 @@
骑行费用<span>{{orderInfo.ridingFee}}</span>
</view>
</view>
<view class="info_li">
<view class="half_infoli">
停车点外调度费<span>{{orderInfo.manageFee}}</span>
</view>
<view class="half_infoli">
骑行费用<span>{{orderInfo.ridingFee}}</span>
</view>
</view>
<view class="info_li">
实收<span>{{orderInfo.totalFee}}</span>
</view>
<view class="info_li">
支付方式<span>微信支付</span>
支付方式<span v-if="orderInfo.payType=='yj'">押金抵扣</span><span v-if="orderInfo.payType=='wx'">微信支付</span>
</view>
<view class="info_li" v-if="orderInfo.rule" style="display: inline-block;">
计费模板<span>{{orderInfo.rule.name}}</span>
@ -266,7 +287,15 @@
<view class="btn" @click="pass()" v-if="orderInfo.status==5">
审核通过
</view>
<view class="btn" @click="yjdkBtn()" v-if="orderInfo.status==3">
押金抵扣
</view>
<view class="btn" @click="openBtn()" v-if="orderInfo.status==2">
开锁
</view>
<view class="btn" @click="closeBtn()" v-if="orderInfo.status==2">
关锁
</view>
<view class="btn" @click="unpass" v-if="orderInfo.status==5">
有损坏
@ -490,7 +519,8 @@
areaNum: 1,
showload:false,
showfzhc:false,
showgj:false
showgj:false,
deviceInfos:{}
}
},
@ -542,6 +572,116 @@
},
methods: {
status() {
// if (this.deviceInfos.onlineStatus == 0) {
// return '线'
// } else {
// }
if (this.deviceInfos.status == 0) {
return '仓库中'
} else if (this.deviceInfos.status == 1) {
return '待租'
} else if (this.deviceInfos.status == 2) {
return '预约中'
} else if (this.deviceInfos.status == 3) {
return '骑行中'
} else if (this.deviceInfos.status == 4) {
return '临时锁车中'
}else if (this.deviceInfos.status == 6) {
return '调度中'
} else if (this.deviceInfos.status == 8) {
return '下线'
}
},
deviceInfo() {
this.$u.get('/app/device/info?sn=' + this.orderInfo.sn).then((res) => {
console.log(res,'rererer');
if (res.code === 200) {
this.deviceInfos = res.data
this.$forceUpdate()
}else{
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
})
},
//
openBtn(){
this.$u.post('/appVerify/admin/unlocking?sn=' + this.orderInfo.sn).then((res) => {
if (res.code == 200) {
// 线
uni.showToast({
title: '操作成功',
icon: 'none',
duration: 2000
});
}else{
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
}).catch(error => {
console.error("Error fetching area data:", error);
});
},
//
closBtn(){
this.$u.post('/appVerify/admin/lock?sn=' + this.orderInfo.sn).then((res) => {
if (res.code == 200) {
// 线
uni.showToast({
title: '操作成功',
icon: 'none',
duration: 2000
});
}else{
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
}).catch(error => {
console.error("Error fetching area data:", error);
});
},
//
yjdkBtn(){
let data = {
orderNo: this.orderInfo.orderNo,
}
this.$u.post('/appVerify/order/deduction', data).then((res) => {
if (res.code === 200) {
// 线
this.getOrderDetail()
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
}).catch(error => {
console.error("Error fetching area data:", error);
});
},
//
changeMoney() {
let data = {
@ -1011,8 +1151,9 @@
this.areaNum = this.areaNum + 1
if (this.areaNum != 0) {
this.getArea()
}
}
this.deviceInfo()
this.loading = true
this.latitude = parseFloat(this.orderInfo.latitude)

View File

@ -154,7 +154,7 @@
console.log(e);
let Bluetoothmac = e.name.substring(5)
uni.navigateTo({
url:'/pages/bind_mac?mac='+Bluetoothmac
url:'/pages_admin/worke/bind_mac?mac='+Bluetoothmac
})
},
send(){