//获取应用实例 const app = getApp(); var token = wx.getStorageSync('token'); var http = require("../../utils/config.js"); import { BluetoothManager, BtErrorCode } from '../../service/BlueMgr' const bluM = new BluetoothManager Page({ data: { current: 3, bike_no: '', //车牌号 hintShow: false, //是否显示提示弹窗 sideShow: false, //是否显示侧边栏 footerShow: true, iconList1: [{ icon: "http://resource.weilaibike.com/xiaobanma_yunwei/outline_xbm.png", con: "下线" }, { icon: "http://resource.weilaibike.com/xiaobanma_yunwei/lowPower_xbm.png", con: "低电量" }, { icon: "http://resource.weilaibike.com/xiaobanma_yunwei/noUser_xbm.png", con: "未使用" }, { icon: "http://resource.weilaibike.com/trobole.png", con: "故障" }, { icon: "http://resource.weilaibike.com/xiaobanma_yunwei/repair_xbm.png", con: "待维修" }, { icon: "http://resource.weilaibike.com/xiaobanma_yunwei/noInPark_xbm.png", con: "未在停车区" }, { icon: "http://resource.weilaibike.com/xiaobanma_yunwei/riding_xbm.png", con: "骑行中" }, { icon: "http://resource.weilaibike.com/bike_yunwei/outLi.png", con: "离线" }, { icon: "http://resource.weilaibike.com/bike_yunwei/work.png", con: "运维人员骑行" }, ], // iconList2: [ // { // icon: "http://resource.weilaibike.com/xiaobanma_yunwei/repair_xbm.png", // con: "待维修" // }, // { // icon: "http://resource.weilaibike.com/xiaobanma_yunwei/noInPark_xbm.png", // con: "未在停车区" // }, // { // icon: "http://resource.weilaibike.com/xiaobanma_yunwei/riding_xbm.png", // con: "骑行中" // }, // { // icon: "http://resource.weilaibike.com/bike_yunwei/outLi.png", // con: "离线" // }, // ], markers: [], //显示单车、停车的P polygons: [], //区域 longitude: '113.779801', latitude: '34.753993', option1: [{ text: '全部区域', value: 0, areaID: '' }], option2: [{ text: '全部电量', value: 0, areaID: '' }, { text: '50%以下', value: 1, areaID: '50' }, { text: '30%以下', value: 2, areaID: '30' }, { text: '20%以下', value: 3, areaID: '20' } ], option3: [{ text: '全部状态', value: 0, areaID: '' }], option4: [{ text: '使用状态', value: 0 }, { text: '1天未使用', value: 1 }, { text: '3天未使用', value: 2 }, { text: '7天未使用', value: 3 } ], value1: 0, value2: 0, value3: 0, value4: 0, show: false, //车子详情的布尔值 longitude: '113.779801', latitude: '34.753993', id: '', //停车区域的ID stopP: false, //判断是否显示停车区域 polygons1: [], //可骑行区域 先用这个变量代表 controls: [], //地图上当前定位的箭头 background: '', //弹窗的背景颜色 over: '', //关闭图标 location: '', //是否有位置权限 bluetooth: false, //是否开启蓝牙 false开始 true未开启 box_no: '', //中控编号 bike_low_power: [], bike_not_in_parking: [], bike_not_riding: [], bike_off_line: [], bike_riding: [], bike_trouble: [], bikeDetail: [], bikeId: '', areaID: '', low_power: '', state: '', use_state: '', parkAreaShow: false, no_parkArea: false, ridding: true, moreShow: false, screenHeight: '', //屏幕可视高度 }, onLoad: function(options) { // wx.showTabBar({}); var that = this; that.setData({ screenHeight: app.globalData.screenHeight }) wx.getSystemInfo({ success: (res) => { this.setData({ controls: [{ id: 1, iconPath: '/img/map1.png', // 大头针图片 position: { left: res.windowWidth / 2 - 9, top: res.windowHeight / 2 - 27, width: 15, height: 27 }, clickable: true }] }) } }) that.posi() that.getBikes() that.ridding() app.request('index', '', 'GET').then(res => { // console.log(res.data) var data = res.data for (var i = 0; i < data.wx_area.length; i++) { data.wx_area[i].value = i + 1 } for (var i = 0; i < data.wx_bikeStates.length; i++) { data.wx_bikeStates[i].value = i + 1 } that.setData({ option3: that.data.option3.concat(data.wx_bikeStates), option1: that.data.option1.concat(data.wx_area) }) }) // if (query.bike_no) { // that.setData({ // bikeId: query.bike_no // }) // that.getBike_info() // } if (options.bike_no) { that.setData({ bikeId: options.bike_no }) that.getBike_info() } if (options.scan == 1) { this.scanCode(); } }, scanCode: function() { var that = this; wx.scanCode({ success: function(res) { let index = res.result.lastIndexOf("\="); var code = res.result.substring(index + 1, res.result.length); that.setData({ bikeId: code }) that.getBike_info() }, fail: function() { wx.showModal({ title: '提示', content: '手动输入车辆标号', success: function(res) { if (res.confirm) { wx.navigateTo({ url: '/pages/manualInp/manualInp', }) } } }) } }) }, getBikes: function() { var that = this; var areaId = that.data.areaID; var low_power = that.data.low_power; var state = that.data.state; var use_state = that.data.use_state; var data = ''; if (areaId == "" && low_power == "" && state == "" && use_state == "") { data = {}; } else if (areaId != "" && low_power == "" && state == "" && use_state == "") { data = { put_area_id: areaId }; } else if (areaId != "" && low_power != "" && state == "" && use_state == "") { data = { put_area_id: areaId, battery_power: low_power }; } else if (areaId != "" && low_power != "" && state != "" && use_state == "") { data = { put_area_id: areaId, battery_power: low_power, all_states: state }; } else if (areaId != "" && low_power != "" && state != "" && use_state != "") { data = { put_area_id: areaId, battery_power: low_power, all_states: state, last_use_bike_end_time: use_state }; } else if (areaId == "" && low_power != "" && state == "" && use_state == "") { data = { battery_power: low_power }; } else if (areaId == "" && low_power != "" && state != "" && use_state == "") { data = { battery_power: low_power, all_states: state }; } else if (areaId == "" && low_power != "" && state != "" && use_state != "") { data = { battery_power: low_power, all_states: state, useCode: use_state }; } else if (areaId == "" && low_power == "" && state != "" && use_state == "") { data = { all_states: state }; } else if (areaId == "" && low_power == "" && state != "" && use_state != "") { data = { all_states: state, last_use_bike_end_time: use_state }; } else if (areaId == "" && low_power == "" && state == "" && use_state != "") { data = { last_use_bike_end_time: use_state }; } app.request('getBikes', data, 'POST').then(res => { // console.log(res, 5555) var bike_low_power = res.data.bike_low_power; var bike_not_in_parking = res.data.bike_not_in_parking; var bike_not_riding = res.data.bike_not_riding; var bike_off_line = res.data.bike_off_line; var bike_riding = res.data.bike_riding; var bike_trouble = res.data.bike_trouble; var lixian = res.data.bike_not_link; var trouble = res.data.bike_trouble_off_line; var bike_worker_riding = res.data.bike_worker_riding; for (var i = 0; i < bike_low_power.length; i++) { bike_low_power[i].iconPath = 'http://resource.weilaibike.com/xiaobanma_yunwei/lowPower_xbm.png'; } that.setData({ markers: bike_low_power }) for (var i = 0; i < trouble.length; i++) { trouble[i].iconPath = 'http://resource.weilaibike.com/trobole.png'; } that.setData({ markers: that.data.markers.concat(trouble) }) for (var i = 0; i < bike_off_line.length; i++) { bike_off_line[i].iconPath = 'http://resource.weilaibike.com/xiaobanma_yunwei/outline_xbm.png'; } that.setData({ markers: that.data.markers.concat(bike_off_line) }) for (var i = 0; i < bike_not_in_parking.length; i++) { bike_not_in_parking[i].iconPath = 'http://resource.weilaibike.com/xiaobanma_yunwei/noInPark_xbm.png'; } that.setData({ markers: that.data.markers.concat(bike_not_in_parking) }) for (var i = 0; i < bike_not_riding.length; i++) { bike_not_riding[i].iconPath = 'http://resource.weilaibike.com/xiaobanma_yunwei/noUser_xbm.png'; } that.setData({ markers: that.data.markers.concat(bike_not_riding) }) for (var i = 0; i < bike_riding.length; i++) { bike_riding[i].iconPath = 'http://resource.weilaibike.com/xiaobanma_yunwei/riding_xbm.png'; } that.setData({ markers: that.data.markers.concat(bike_riding) }) for (var i = 0; i < bike_trouble.length; i++) { bike_trouble[i].iconPath = 'http://resource.weilaibike.com/xiaobanma_yunwei/repair_xbm.png'; } that.setData({ markers: that.data.markers.concat(bike_trouble) }) for (var i = 0; i < bike_worker_riding.length; i++) { bike_worker_riding[i].iconPath = 'http://resource.weilaibike.com/bike_yunwei/work.png'; } that.setData({ markers: that.data.markers.concat(bike_worker_riding) }) for (var i = 0; i < lixian.length; i++) { lixian[i].iconPath = 'http://resource.weilaibike.com/bike_yunwei/outLi.png'; } that.setData({ markers: that.data.markers.concat(lixian) }) var markers = that.data.markers; for (var i = 0; i < markers.length; i++) { markers[i].width = 28; markers[i].height = 28; markers[i].zIndex = 1111; markers[i].id = markers[i].bike_no; markers[i].latitude = markers[i].last_location_app[1]; markers[i].longitude = markers[i].last_location_app[0]; } that.setData({ markers }) }) }, load: function() { this.setData({ markers: '' }) wx.showLoading({ title: '刷新中...', }) this.getBikes(), wx.hideLoading() }, posi: function() { //点击定位 var that = this; wx.getLocation({ type: 'gcj02', success: (res) => { // console.log('经纬度为:+++++++++++++++++++++' + res.latitude + '++++++++' + res.longitude) var latitude = res.latitude var longitude = res.longitude that.setData({ longitude: longitude, latitude: latitude }) }, fail: function(err) { console.log(err) } }) }, scanCode: function() { var that = this; wx.scanCode({ success: function(res) { let index = res.result.lastIndexOf("\="); var code = res.result.substring(index + 1, res.result.length); that.setData({ bikeId: code }) that.getBike_info() }, fail: function() { wx.showModal({ title: '提示', content: '手动输入车辆标号', success: function(res) { if (res.confirm) { wx.navigateTo({ url: '/pages/manualInp/manualInp', }) } } }) } }) }, change: function(e) { this.setData({ areaID: this.data.option1[e.detail].areaID, polygons: [] }) this.getBikes(); this.ridding(); }, change2: function(e) { console.log(e) this.setData({ low_power: this.data.option2[e.detail].areaID }) this.getBikes() }, change3: function(e) { console.log(e) this.setData({ state: this.data.option3[e.detail].areaID }) this.getBikes() }, change4: function(e) { var time = new Date().getTime(); var index = e.detail if (index == 0) { time = ""; } else if (index == 1) { time = time - 86400000 * 1; } else if (index == 2) { time = time - 86400000 * 3; } else if (index == 3) { time = time - 86400000 * 7; } this.setData({ use_state: time }) this.getBikes() }, marker: function(e) { var that = this; console.log(e) // wx.showLoading({ // title: '获取中...', // }) that.setData({ bikeId: e.markerId }) that.getBike_info() }, // 获取车辆信息 getBike_info: function() { var that = this; console.log(that.data.bikeId) app.request('bike/getBikeInfo?bike_no=' + that.data.bikeId, '', 'GET').then(res => { console.log(res, 11111) that.setData({ bikeDetail: res.data, sideShow: true, footerShow: false }) }) }, //获取输入框的值 bindKeyInput(e) { console.log(e.detail.value, 11111) this.setData({ bikeId: e.detail.value }) }, refresh_power: function() { this.getBike_info(), wx.showToast({ title: '刷新完成', icon: 'none' }) }, bikePosition: function() { wx.navigateTo({ url: '/pages/carPosition/carPosition?id=' + this.data.bikeDetail.bike_info.id + '&bike_no=' + this.data.bikeDetail.bike_info.bike_no, }) }, recentOrder: function() { wx.navigateTo({ url: '/pages/recentOrder/recentOrder?id=' + this.data.bikeDetail.bike_info.id, }) }, showPopup() { this.setData({ show: true }); }, onClose() { this.setData({ show: false }); }, modify: function() { //跳转修改车辆信息 console.log() var bike = this.data.bikeDetail.bike_info wx.navigateTo({ url: '/pages/amendCar/amendCar?id=' + bike.id + '&bike_no=' + bike.bike_no + '&box_no=' + bike.box_no, }) }, bindregionchange: function(e) { //实现大头针移动选点 var that = this // console.log(e) // if (e.type == "end" && e.causedBy == 'drag') { // //停止 // console.log('end') // var mapCtx = wx.createMapContext("map") // mapCtx.getCenterLocation({ // success: function (res) { // var latitude = res.latitude // var longitude = res.longitude // that.setData({ latitude, longitude }) // if(that.data.stopP==false){ // that.nearbyCars(), that.map() // } // } // }) // } }, parkAreaShow1: function(e) { var that = this; let url = '' console.log(that.data.areaID) if (!that.data.areaID) { url = 'getAreas' } else { url = 'getAreas?put_area_id=' + that.data.areaID } app.request(url, '', 'GET').then(res => { console.log(res) var data = res.data.parking_area var arr = []; if (data.length == 0) { wx.showToast({ title: '无还车点', icon: 'none' }) } else { for (var i = 0; i < data.length; i++) { arr = arr.concat(data[i]) } for (var i = 0; i < arr.length; i++) { arr[i].points = arr[i].parking_fence_wx; arr[i].strokeWidth = 4; arr[i].strokeColor = '#18D3B8'; arr[i].zIndex = 1; } that.setData({ polygons: that.data.polygons.concat(arr), parkAreaShow: !that.data.parkAreaShow }) } }) }, no_parkArea1: function() { var that = this; let url = '' console.log(that.data.areaID) if (!that.data.areaID) { url = 'getAreas' } else { url = 'getAreas?put_area_id=' + that.data.areaID } app.request(url, '', 'GET').then(res => { // console.log(res) var data = res.data.no_parking_area var arr = []; if (data.length == 0) { wx.showToast({ title: '无禁停区', icon: 'none' }) } else { for (var i = 0; i < data.length; i++) { arr = arr.concat(data[i]) } for (var i = 0; i < arr.length; i++) { arr[i].points = arr[i].no_parking_fence_wx; arr[i].strokeWidth = 4; arr[i].strokeColor = '##EC6941'; arr[i].zIndex = 1; } that.setData({ polygons: that.data.polygons.concat(arr), no_parkArea: !that.data.no_parkArea }) } }) }, ridding: function() { var that = this; let url = '' console.log(that.data.areaID) if (!that.data.areaID) { url = 'getAreas' } else { url = 'getAreas?put_area_id=' + that.data.areaID } app.request(url, '', 'GET').then(res => { console.log(res, '骑行区') var data = res.data.ridding_area var arr = []; if (data.length == 0) { wx.showToast({ title: '无骑行区', icon: 'none' }) } else { for (var i = 0; i < data.length; i++) { arr = arr.concat(data[i]) } for (var i = 0; i < arr.length; i++) { arr[i].points = arr[i].area_fence_wx; arr[i].strokeWidth = 4; arr[i].strokeColor = '#0000FF'; arr[i].fillColor = '#0000FF10' arr[i].zIndex = 1; } that.setData({ polygons: that.data.polygons.concat(arr), ridding: !that.data.ridding }) console.log(that.data.areaID) if (that.data.areaID){ console.log(res.data.ridding_area[0].area_centre_wx) let position = res.data.ridding_area[0].area_centre_wx; that.setData({ latitude:position.latitude, longitude: position.longitude }) } } }) }, //显示图标提示弹窗 hintIcon() { this.setData({ hintShow: true }) wx.hideTabBar({}); }, // 关闭图标提示弹窗 closeHint() { this.setData({ hintShow: false }) wx.showTabBar({}) }, //打开侧边栏 // openSide() { // this.setData({ // sideShow: false // }) // wx.hideTabBar({}) // }, //关闭侧边栏 closeSide() { this.setData({ sideShow: false, footerShow: true }) wx.showTabBar({}) }, //调转我的工单 skipWork() { wx.navigateTo({ url: '/pages/myWork/myWork', }) }, // 鸣笛 whistle() { app.request('bike/bikeBell?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => { // console.log(res) if (res.statusCode == 200) { bluM.connectDeivece(this.data.bikeDetail.bike_info.box_no).then(res => { // console.log('bellbike ===>') return bluM.bellBike() }) wx.showToast({ title: '响铃成功', icon: 'none' }) } }) }, //开锁 unlock() { app.request('bike/openBikeLock?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => { // console.log(res) if (res.statusCode == 200) { bluM.connectDeivece(this.data.bikeDetail.bike_info.box_no).then(res => { // console.log('bellbike ===>') return bluM.unlockBike() }) wx.showToast({ title: '开锁成功', icon: 'none' }) } }) }, //关锁 close_lock() { app.request('bike/closeBikeLock?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => { // console.log(res) if (res.statusCode == 200) { bluM.connectDeivece(this.data.bikeDetail.bike_info.box_no).then(res => { // console.log('bellbike ===>') return bluM.lockBike() }) wx.showToast({ title: '关锁成功', icon: 'none' }) } }) }, bike_detail: function() { //车辆详情页面 var bike = this.data.bikeDetail.bike_info; wx.navigateTo({ url: '/pages/carDetails/carDetails?bike_no=' + bike.bike_no + '&id=' + bike.id, }) }, reqair: function() { var bike = this.data.bikeDetail.bike_info; wx.navigateTo({ url: '/pages/reqair/reqair?bike_no=' + bike.bike_no, }) }, // userRecord:function(){ // //用户记录页面 // var bike = this.data.bikeDetail.bike_info; // wx.navigateTo({ // url: '/pages/recentOrder/recentOrder?id=' + bike.id, // }) // }, //开电池锁 battery_load() { app.request('bike/openBatteryLock?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => { // console.log(res) if (res.statusCode == 200) { bluM.connectDeivece(this.data.bikeDetail.bike_info.box_no).then(res => { // console.log('bellbike ===>') return bluM.batteryUnlockBike() }) wx.showToast({ title: '开电池锁成功', icon: 'none' }) } }) }, renewalPower: function() { //更新电量 app.request('bike/newBikeBatteryMSG?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => { // console.log(res) if (res.statusCode == 200) { wx.showToast({ title: '更新电量成功', icon: 'none' }) } }) }, renewalLocation: function() { //更新位置 app.request('bike/newBikeLocation?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => { // console.log(res) if (res.statusCode == 200) { wx.showToast({ title: '更新位置成功', icon: 'none' }) } }) }, renewal: function() { //重启中控 app.request('bike/rebootBox?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => { // console.log(res) if (res.statusCode == 200) { bluM.connectDeivece(this.data.bikeDetail.bike_info.box_no).then(res => { // console.log('bellbike ===>') return bluM.boxReboot() }) wx.showToast({ title: '重启中控成功', icon: 'none' }) } }) }, // 设为停车区 recover() { app.request('bike/repairInParking?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => { console.log(res) if (res.statusCode == 200) { wx.showToast({ title: '操作成功', icon: 'none' }) } else { wx.showToast({ title: '操作失败', icon: 'none' }) } }) }, //上线 online() { app.request('bike/login?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => { console.log(res) if (res.statusCode == 200) { wx.showToast({ title: '上线成功', icon: 'none' }) } }) }, more: function() { this.setData({ moreShow: true }) }, moreHidn: function() { this.setData({ moreShow: false }) }, //下线 Offline() { app.request('bike/logout?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => { console.log(res) if (res.statusCode == 200) { wx.showToast({ title: '下线成功', icon: 'none' }) } }) }, onShow: function() { }, onReady: function() { }, onHide: function() { }, onShareAppMessage: function() { return { path: "/pages/index/index", title: "轻松出行,方便你我~" }; } })