logs.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900
  1. //获取应用实例
  2. const app = getApp();
  3. var token = wx.getStorageSync('token');
  4. var http = require("../../utils/config.js");
  5. import {
  6. BluetoothManager,
  7. BtErrorCode
  8. } from '../../service/BlueMgr'
  9. const bluM = new BluetoothManager
  10. Page({
  11. data: {
  12. current: 3,
  13. bike_no: '', //车牌号
  14. hintShow: false, //是否显示提示弹窗
  15. sideShow: false, //是否显示侧边栏
  16. footerShow: true,
  17. iconList1: [{
  18. icon: "http://resource.weilaibike.com/xiaobanma_yunwei/outline_xbm.png",
  19. con: "下线"
  20. },
  21. {
  22. icon: "http://resource.weilaibike.com/xiaobanma_yunwei/lowPower_xbm.png",
  23. con: "低电量"
  24. },
  25. {
  26. icon: "http://resource.weilaibike.com/xiaobanma_yunwei/noUser_xbm.png",
  27. con: "未使用"
  28. },
  29. {
  30. icon: "http://resource.weilaibike.com/trobole.png",
  31. con: "故障"
  32. },
  33. {
  34. icon: "http://resource.weilaibike.com/xiaobanma_yunwei/repair_xbm.png",
  35. con: "待维修"
  36. },
  37. {
  38. icon: "http://resource.weilaibike.com/xiaobanma_yunwei/noInPark_xbm.png",
  39. con: "未在停车区"
  40. },
  41. {
  42. icon: "http://resource.weilaibike.com/xiaobanma_yunwei/riding_xbm.png",
  43. con: "骑行中"
  44. },
  45. {
  46. icon: "http://resource.weilaibike.com/bike_yunwei/outLi.png",
  47. con: "离线"
  48. },
  49. {
  50. icon: "http://resource.weilaibike.com/bike_yunwei/work.png",
  51. con: "运维人员骑行"
  52. },
  53. ],
  54. // iconList2: [
  55. // {
  56. // icon: "http://resource.weilaibike.com/xiaobanma_yunwei/repair_xbm.png",
  57. // con: "待维修"
  58. // },
  59. // {
  60. // icon: "http://resource.weilaibike.com/xiaobanma_yunwei/noInPark_xbm.png",
  61. // con: "未在停车区"
  62. // },
  63. // {
  64. // icon: "http://resource.weilaibike.com/xiaobanma_yunwei/riding_xbm.png",
  65. // con: "骑行中"
  66. // },
  67. // {
  68. // icon: "http://resource.weilaibike.com/bike_yunwei/outLi.png",
  69. // con: "离线"
  70. // },
  71. // ],
  72. markers: [], //显示单车、停车的P
  73. polygons: [], //区域
  74. longitude: '113.779801',
  75. latitude: '34.753993',
  76. option1: [{
  77. text: '全部区域',
  78. value: 0,
  79. areaID: ''
  80. }],
  81. option2: [{
  82. text: '全部电量',
  83. value: 0,
  84. areaID: ''
  85. },
  86. {
  87. text: '50%以下',
  88. value: 1,
  89. areaID: '50'
  90. },
  91. {
  92. text: '30%以下',
  93. value: 2,
  94. areaID: '30'
  95. },
  96. {
  97. text: '20%以下',
  98. value: 3,
  99. areaID: '20'
  100. }
  101. ],
  102. option3: [{
  103. text: '全部状态',
  104. value: 0,
  105. areaID: ''
  106. }],
  107. option4: [{
  108. text: '使用状态',
  109. value: 0
  110. },
  111. {
  112. text: '1天未使用',
  113. value: 1
  114. },
  115. {
  116. text: '3天未使用',
  117. value: 2
  118. },
  119. {
  120. text: '7天未使用',
  121. value: 3
  122. }
  123. ],
  124. value1: 0,
  125. value2: 0,
  126. value3: 0,
  127. value4: 0,
  128. show: false, //车子详情的布尔值
  129. longitude: '113.779801',
  130. latitude: '34.753993',
  131. id: '', //停车区域的ID
  132. stopP: false, //判断是否显示停车区域
  133. polygons1: [], //可骑行区域 先用这个变量代表
  134. controls: [], //地图上当前定位的箭头
  135. background: '', //弹窗的背景颜色
  136. over: '', //关闭图标
  137. location: '', //是否有位置权限
  138. bluetooth: false, //是否开启蓝牙 false开始 true未开启
  139. box_no: '', //中控编号
  140. bike_low_power: [],
  141. bike_not_in_parking: [],
  142. bike_not_riding: [],
  143. bike_off_line: [],
  144. bike_riding: [],
  145. bike_trouble: [],
  146. bikeDetail: [],
  147. bikeId: '',
  148. areaID: '',
  149. low_power: '',
  150. state: '',
  151. use_state: '',
  152. parkAreaShow: false,
  153. no_parkArea: false,
  154. ridding: true,
  155. moreShow: false,
  156. screenHeight: '', //屏幕可视高度
  157. },
  158. onLoad: function(options) {
  159. // wx.showTabBar({});
  160. var that = this;
  161. that.setData({
  162. screenHeight: app.globalData.screenHeight
  163. })
  164. wx.getSystemInfo({
  165. success: (res) => {
  166. this.setData({
  167. controls: [{
  168. id: 1,
  169. iconPath: '/img/map1.png', // 大头针图片
  170. position: {
  171. left: res.windowWidth / 2 - 9,
  172. top: res.windowHeight / 2 - 27,
  173. width: 15,
  174. height: 27
  175. },
  176. clickable: true
  177. }]
  178. })
  179. }
  180. })
  181. that.posi()
  182. that.getBikes()
  183. that.ridding()
  184. app.request('index', '', 'GET').then(res => {
  185. // console.log(res.data)
  186. var data = res.data
  187. for (var i = 0; i < data.wx_area.length; i++) {
  188. data.wx_area[i].value = i + 1
  189. }
  190. for (var i = 0; i < data.wx_bikeStates.length; i++) {
  191. data.wx_bikeStates[i].value = i + 1
  192. }
  193. that.setData({
  194. option3: that.data.option3.concat(data.wx_bikeStates),
  195. option1: that.data.option1.concat(data.wx_area)
  196. })
  197. })
  198. // if (query.bike_no) {
  199. // that.setData({
  200. // bikeId: query.bike_no
  201. // })
  202. // that.getBike_info()
  203. // }
  204. if (options.bike_no) {
  205. that.setData({
  206. bikeId: options.bike_no
  207. })
  208. that.getBike_info()
  209. }
  210. if (options.scan == 1) {
  211. this.scanCode();
  212. }
  213. },
  214. scanCode: function() {
  215. var that = this;
  216. wx.scanCode({
  217. success: function(res) {
  218. let index = res.result.lastIndexOf("\=");
  219. var code = res.result.substring(index + 1, res.result.length);
  220. that.setData({
  221. bikeId: code
  222. })
  223. that.getBike_info()
  224. },
  225. fail: function() {
  226. wx.showModal({
  227. title: '提示',
  228. content: '手动输入车辆标号',
  229. success: function(res) {
  230. if (res.confirm) {
  231. wx.navigateTo({
  232. url: '/pages/manualInp/manualInp',
  233. })
  234. }
  235. }
  236. })
  237. }
  238. })
  239. },
  240. getBikes: function() {
  241. var that = this;
  242. var areaId = that.data.areaID;
  243. var low_power = that.data.low_power;
  244. var state = that.data.state;
  245. var use_state = that.data.use_state;
  246. var data = '';
  247. if (areaId == "" && low_power == "" && state == "" && use_state == "") {
  248. data = {};
  249. } else if (areaId != "" && low_power == "" && state == "" && use_state == "") {
  250. data = {
  251. put_area_id: areaId
  252. };
  253. } else if (areaId != "" && low_power != "" && state == "" && use_state == "") {
  254. data = {
  255. put_area_id: areaId,
  256. battery_power: low_power
  257. };
  258. } else if (areaId != "" && low_power != "" && state != "" && use_state == "") {
  259. data = {
  260. put_area_id: areaId,
  261. battery_power: low_power,
  262. all_states: state
  263. };
  264. } else if (areaId != "" && low_power != "" && state != "" && use_state != "") {
  265. data = {
  266. put_area_id: areaId,
  267. battery_power: low_power,
  268. all_states: state,
  269. last_use_bike_end_time: use_state
  270. };
  271. } else if (areaId == "" && low_power != "" && state == "" && use_state == "") {
  272. data = {
  273. battery_power: low_power
  274. };
  275. } else if (areaId == "" && low_power != "" && state != "" && use_state == "") {
  276. data = {
  277. battery_power: low_power,
  278. all_states: state
  279. };
  280. } else if (areaId == "" && low_power != "" && state != "" && use_state != "") {
  281. data = {
  282. battery_power: low_power,
  283. all_states: state,
  284. useCode: use_state
  285. };
  286. } else if (areaId == "" && low_power == "" && state != "" && use_state == "") {
  287. data = {
  288. all_states: state
  289. };
  290. } else if (areaId == "" && low_power == "" && state != "" && use_state != "") {
  291. data = {
  292. all_states: state,
  293. last_use_bike_end_time: use_state
  294. };
  295. } else if (areaId == "" && low_power == "" && state == "" && use_state != "") {
  296. data = {
  297. last_use_bike_end_time: use_state
  298. };
  299. }
  300. app.request('getBikes', data, 'POST').then(res => {
  301. // console.log(res, 5555)
  302. var bike_low_power = res.data.bike_low_power;
  303. var bike_not_in_parking = res.data.bike_not_in_parking;
  304. var bike_not_riding = res.data.bike_not_riding;
  305. var bike_off_line = res.data.bike_off_line;
  306. var bike_riding = res.data.bike_riding;
  307. var bike_trouble = res.data.bike_trouble;
  308. var lixian = res.data.bike_not_link;
  309. var trouble = res.data.bike_trouble_off_line;
  310. var bike_worker_riding = res.data.bike_worker_riding;
  311. for (var i = 0; i < bike_low_power.length; i++) {
  312. bike_low_power[i].iconPath = 'http://resource.weilaibike.com/xiaobanma_yunwei/lowPower_xbm.png';
  313. }
  314. that.setData({
  315. markers: bike_low_power
  316. })
  317. for (var i = 0; i < trouble.length; i++) {
  318. trouble[i].iconPath = 'http://resource.weilaibike.com/trobole.png';
  319. }
  320. that.setData({
  321. markers: that.data.markers.concat(trouble)
  322. })
  323. for (var i = 0; i < bike_off_line.length; i++) {
  324. bike_off_line[i].iconPath = 'http://resource.weilaibike.com/xiaobanma_yunwei/outline_xbm.png';
  325. }
  326. that.setData({
  327. markers: that.data.markers.concat(bike_off_line)
  328. })
  329. for (var i = 0; i < bike_not_in_parking.length; i++) {
  330. bike_not_in_parking[i].iconPath = 'http://resource.weilaibike.com/xiaobanma_yunwei/noInPark_xbm.png';
  331. }
  332. that.setData({
  333. markers: that.data.markers.concat(bike_not_in_parking)
  334. })
  335. for (var i = 0; i < bike_not_riding.length; i++) {
  336. bike_not_riding[i].iconPath = 'http://resource.weilaibike.com/xiaobanma_yunwei/noUser_xbm.png';
  337. }
  338. that.setData({
  339. markers: that.data.markers.concat(bike_not_riding)
  340. })
  341. for (var i = 0; i < bike_riding.length; i++) {
  342. bike_riding[i].iconPath = 'http://resource.weilaibike.com/xiaobanma_yunwei/riding_xbm.png';
  343. }
  344. that.setData({
  345. markers: that.data.markers.concat(bike_riding)
  346. })
  347. for (var i = 0; i < bike_trouble.length; i++) {
  348. bike_trouble[i].iconPath = 'http://resource.weilaibike.com/xiaobanma_yunwei/repair_xbm.png';
  349. }
  350. that.setData({
  351. markers: that.data.markers.concat(bike_trouble)
  352. })
  353. for (var i = 0; i < bike_worker_riding.length; i++) {
  354. bike_worker_riding[i].iconPath = 'http://resource.weilaibike.com/bike_yunwei/work.png';
  355. }
  356. that.setData({
  357. markers: that.data.markers.concat(bike_worker_riding)
  358. })
  359. for (var i = 0; i < lixian.length; i++) {
  360. lixian[i].iconPath = 'http://resource.weilaibike.com/bike_yunwei/outLi.png';
  361. }
  362. that.setData({
  363. markers: that.data.markers.concat(lixian)
  364. })
  365. var markers = that.data.markers;
  366. for (var i = 0; i < markers.length; i++) {
  367. markers[i].width = 28;
  368. markers[i].height = 28;
  369. markers[i].zIndex = 1111;
  370. markers[i].id = markers[i].bike_no;
  371. markers[i].latitude = markers[i].last_location_app[1];
  372. markers[i].longitude = markers[i].last_location_app[0];
  373. }
  374. that.setData({
  375. markers
  376. })
  377. })
  378. },
  379. load: function() {
  380. this.setData({
  381. markers: ''
  382. })
  383. wx.showLoading({
  384. title: '刷新中...',
  385. })
  386. this.getBikes(), wx.hideLoading()
  387. },
  388. posi: function() {
  389. //点击定位
  390. var that = this;
  391. wx.getLocation({
  392. type: 'gcj02',
  393. success: (res) => {
  394. // console.log('经纬度为:+++++++++++++++++++++' + res.latitude + '++++++++' + res.longitude)
  395. var latitude = res.latitude
  396. var longitude = res.longitude
  397. that.setData({
  398. longitude: longitude,
  399. latitude: latitude
  400. })
  401. },
  402. fail: function(err) {
  403. console.log(err)
  404. }
  405. })
  406. },
  407. scanCode: function() {
  408. var that = this;
  409. wx.scanCode({
  410. success: function(res) {
  411. let index = res.result.lastIndexOf("\=");
  412. var code = res.result.substring(index + 1, res.result.length);
  413. that.setData({
  414. bikeId: code
  415. })
  416. that.getBike_info()
  417. },
  418. fail: function() {
  419. wx.showModal({
  420. title: '提示',
  421. content: '手动输入车辆标号',
  422. success: function(res) {
  423. if (res.confirm) {
  424. wx.navigateTo({
  425. url: '/pages/manualInp/manualInp',
  426. })
  427. }
  428. }
  429. })
  430. }
  431. })
  432. },
  433. change: function(e) {
  434. this.setData({
  435. areaID: this.data.option1[e.detail].areaID,
  436. polygons: []
  437. })
  438. this.getBikes();
  439. this.ridding();
  440. },
  441. change2: function(e) {
  442. console.log(e)
  443. this.setData({
  444. low_power: this.data.option2[e.detail].areaID
  445. })
  446. this.getBikes()
  447. },
  448. change3: function(e) {
  449. console.log(e)
  450. this.setData({
  451. state: this.data.option3[e.detail].areaID
  452. })
  453. this.getBikes()
  454. },
  455. change4: function(e) {
  456. var time = new Date().getTime();
  457. var index = e.detail
  458. if (index == 0) {
  459. time = "";
  460. } else if (index == 1) {
  461. time = time - 86400000 * 1;
  462. } else if (index == 2) {
  463. time = time - 86400000 * 3;
  464. } else if (index == 3) {
  465. time = time - 86400000 * 7;
  466. }
  467. this.setData({
  468. use_state: time
  469. })
  470. this.getBikes()
  471. },
  472. marker: function(e) {
  473. var that = this;
  474. console.log(e)
  475. // wx.showLoading({
  476. // title: '获取中...',
  477. // })
  478. that.setData({
  479. bikeId: e.markerId
  480. })
  481. that.getBike_info()
  482. },
  483. // 获取车辆信息
  484. getBike_info: function() {
  485. var that = this;
  486. console.log(that.data.bikeId)
  487. app.request('bike/getBikeInfo?bike_no=' + that.data.bikeId, '', 'GET').then(res => {
  488. console.log(res, 11111)
  489. that.setData({
  490. bikeDetail: res.data,
  491. sideShow: true,
  492. footerShow: false
  493. })
  494. })
  495. },
  496. //获取输入框的值
  497. bindKeyInput(e) {
  498. console.log(e.detail.value, 11111)
  499. this.setData({
  500. bikeId: e.detail.value
  501. })
  502. },
  503. refresh_power: function() {
  504. this.getBike_info(), wx.showToast({
  505. title: '刷新完成',
  506. icon: 'none'
  507. })
  508. },
  509. bikePosition: function() {
  510. wx.navigateTo({
  511. url: '/pages/carPosition/carPosition?id=' + this.data.bikeDetail.bike_info.id + '&bike_no=' + this.data.bikeDetail.bike_info.bike_no,
  512. })
  513. },
  514. recentOrder: function() {
  515. wx.navigateTo({
  516. url: '/pages/recentOrder/recentOrder?id=' + this.data.bikeDetail.bike_info.id,
  517. })
  518. },
  519. showPopup() {
  520. this.setData({
  521. show: true
  522. });
  523. },
  524. onClose() {
  525. this.setData({
  526. show: false
  527. });
  528. },
  529. modify: function() {
  530. //跳转修改车辆信息
  531. console.log()
  532. var bike = this.data.bikeDetail.bike_info
  533. wx.navigateTo({
  534. url: '/pages/amendCar/amendCar?id=' + bike.id + '&bike_no=' + bike.bike_no + '&box_no=' + bike.box_no,
  535. })
  536. },
  537. bindregionchange: function(e) {
  538. //实现大头针移动选点
  539. var that = this
  540. // console.log(e)
  541. // if (e.type == "end" && e.causedBy == 'drag') {
  542. // //停止
  543. // console.log('end')
  544. // var mapCtx = wx.createMapContext("map")
  545. // mapCtx.getCenterLocation({
  546. // success: function (res) {
  547. // var latitude = res.latitude
  548. // var longitude = res.longitude
  549. // that.setData({ latitude, longitude })
  550. // if(that.data.stopP==false){
  551. // that.nearbyCars(), that.map()
  552. // }
  553. // }
  554. // })
  555. // }
  556. },
  557. parkAreaShow1: function(e) {
  558. var that = this;
  559. let url = ''
  560. console.log(that.data.areaID)
  561. if (!that.data.areaID) {
  562. url = 'getAreas'
  563. } else {
  564. url = 'getAreas?put_area_id=' + that.data.areaID
  565. }
  566. app.request(url, '', 'GET').then(res => {
  567. console.log(res)
  568. var data = res.data.parking_area
  569. var arr = [];
  570. if (data.length == 0) {
  571. wx.showToast({
  572. title: '无还车点',
  573. icon: 'none'
  574. })
  575. } else {
  576. for (var i = 0; i < data.length; i++) {
  577. arr = arr.concat(data[i])
  578. }
  579. for (var i = 0; i < arr.length; i++) {
  580. arr[i].points = arr[i].parking_fence_wx;
  581. arr[i].strokeWidth = 4;
  582. arr[i].strokeColor = '#18D3B8';
  583. arr[i].zIndex = 1;
  584. }
  585. that.setData({
  586. polygons: that.data.polygons.concat(arr),
  587. parkAreaShow: !that.data.parkAreaShow
  588. })
  589. }
  590. })
  591. },
  592. no_parkArea1: function() {
  593. var that = this;
  594. let url = ''
  595. console.log(that.data.areaID)
  596. if (!that.data.areaID) {
  597. url = 'getAreas'
  598. } else {
  599. url = 'getAreas?put_area_id=' + that.data.areaID
  600. }
  601. app.request(url, '', 'GET').then(res => {
  602. // console.log(res)
  603. var data = res.data.no_parking_area
  604. var arr = [];
  605. if (data.length == 0) {
  606. wx.showToast({
  607. title: '无禁停区',
  608. icon: 'none'
  609. })
  610. } else {
  611. for (var i = 0; i < data.length; i++) {
  612. arr = arr.concat(data[i])
  613. }
  614. for (var i = 0; i < arr.length; i++) {
  615. arr[i].points = arr[i].no_parking_fence_wx;
  616. arr[i].strokeWidth = 4;
  617. arr[i].strokeColor = '##EC6941';
  618. arr[i].zIndex = 1;
  619. }
  620. that.setData({
  621. polygons: that.data.polygons.concat(arr),
  622. no_parkArea: !that.data.no_parkArea
  623. })
  624. }
  625. })
  626. },
  627. ridding: function() {
  628. var that = this;
  629. let url = ''
  630. console.log(that.data.areaID)
  631. if (!that.data.areaID) {
  632. url = 'getAreas'
  633. } else {
  634. url = 'getAreas?put_area_id=' + that.data.areaID
  635. }
  636. app.request(url, '', 'GET').then(res => {
  637. console.log(res, '骑行区')
  638. var data = res.data.ridding_area
  639. var arr = [];
  640. if (data.length == 0) {
  641. wx.showToast({
  642. title: '无骑行区',
  643. icon: 'none'
  644. })
  645. } else {
  646. for (var i = 0; i < data.length; i++) {
  647. arr = arr.concat(data[i])
  648. }
  649. for (var i = 0; i < arr.length; i++) {
  650. arr[i].points = arr[i].area_fence_wx;
  651. arr[i].strokeWidth = 4;
  652. arr[i].strokeColor = '#0000FF';
  653. arr[i].fillColor = '#0000FF10'
  654. arr[i].zIndex = 1;
  655. }
  656. that.setData({
  657. polygons: that.data.polygons.concat(arr),
  658. ridding: !that.data.ridding
  659. })
  660. console.log(that.data.areaID)
  661. if (that.data.areaID){
  662. console.log(res.data.ridding_area[0].area_centre_wx)
  663. let position = res.data.ridding_area[0].area_centre_wx;
  664. that.setData({
  665. latitude:position.latitude,
  666. longitude: position.longitude
  667. })
  668. }
  669. }
  670. })
  671. },
  672. //显示图标提示弹窗
  673. hintIcon() {
  674. this.setData({
  675. hintShow: true
  676. })
  677. wx.hideTabBar({});
  678. },
  679. // 关闭图标提示弹窗
  680. closeHint() {
  681. this.setData({
  682. hintShow: false
  683. })
  684. wx.showTabBar({})
  685. },
  686. //打开侧边栏
  687. // openSide() {
  688. // this.setData({
  689. // sideShow: false
  690. // })
  691. // wx.hideTabBar({})
  692. // },
  693. //关闭侧边栏
  694. closeSide() {
  695. this.setData({
  696. sideShow: false,
  697. footerShow: true
  698. })
  699. wx.showTabBar({})
  700. },
  701. //调转我的工单
  702. skipWork() {
  703. wx.navigateTo({
  704. url: '/pages/myWork/myWork',
  705. })
  706. },
  707. // 鸣笛
  708. whistle() {
  709. app.request('bike/bikeBell?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => {
  710. // console.log(res)
  711. if (res.statusCode == 200) {
  712. bluM.connectDeivece(this.data.bikeDetail.bike_info.box_no).then(res => {
  713. // console.log('bellbike ===>')
  714. return bluM.bellBike()
  715. })
  716. wx.showToast({
  717. title: '响铃成功',
  718. icon: 'none'
  719. })
  720. }
  721. })
  722. },
  723. //开锁
  724. unlock() {
  725. app.request('bike/openBikeLock?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => {
  726. // console.log(res)
  727. if (res.statusCode == 200) {
  728. bluM.connectDeivece(this.data.bikeDetail.bike_info.box_no).then(res => {
  729. // console.log('bellbike ===>')
  730. return bluM.unlockBike()
  731. })
  732. wx.showToast({
  733. title: '开锁成功',
  734. icon: 'none'
  735. })
  736. }
  737. })
  738. },
  739. //关锁
  740. close_lock() {
  741. app.request('bike/closeBikeLock?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => {
  742. // console.log(res)
  743. if (res.statusCode == 200) {
  744. bluM.connectDeivece(this.data.bikeDetail.bike_info.box_no).then(res => {
  745. // console.log('bellbike ===>')
  746. return bluM.lockBike()
  747. })
  748. wx.showToast({
  749. title: '关锁成功',
  750. icon: 'none'
  751. })
  752. }
  753. })
  754. },
  755. bike_detail: function() {
  756. //车辆详情页面
  757. var bike = this.data.bikeDetail.bike_info;
  758. wx.navigateTo({
  759. url: '/pages/carDetails/carDetails?bike_no=' + bike.bike_no + '&id=' + bike.id,
  760. })
  761. },
  762. reqair: function() {
  763. var bike = this.data.bikeDetail.bike_info;
  764. wx.navigateTo({
  765. url: '/pages/reqair/reqair?bike_no=' + bike.bike_no,
  766. })
  767. },
  768. // userRecord:function(){
  769. // //用户记录页面
  770. // var bike = this.data.bikeDetail.bike_info;
  771. // wx.navigateTo({
  772. // url: '/pages/recentOrder/recentOrder?id=' + bike.id,
  773. // })
  774. // },
  775. //开电池锁
  776. battery_load() {
  777. app.request('bike/openBatteryLock?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => {
  778. // console.log(res)
  779. if (res.statusCode == 200) {
  780. bluM.connectDeivece(this.data.bikeDetail.bike_info.box_no).then(res => {
  781. // console.log('bellbike ===>')
  782. return bluM.batteryUnlockBike()
  783. })
  784. wx.showToast({
  785. title: '开电池锁成功',
  786. icon: 'none'
  787. })
  788. }
  789. })
  790. },
  791. renewalPower: function() {
  792. //更新电量
  793. app.request('bike/newBikeBatteryMSG?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => {
  794. // console.log(res)
  795. if (res.statusCode == 200) {
  796. wx.showToast({
  797. title: '更新电量成功',
  798. icon: 'none'
  799. })
  800. }
  801. })
  802. },
  803. renewalLocation: function() {
  804. //更新位置
  805. app.request('bike/newBikeLocation?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => {
  806. // console.log(res)
  807. if (res.statusCode == 200) {
  808. wx.showToast({
  809. title: '更新位置成功',
  810. icon: 'none'
  811. })
  812. }
  813. })
  814. },
  815. renewal: function() {
  816. //重启中控
  817. app.request('bike/rebootBox?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => {
  818. // console.log(res)
  819. if (res.statusCode == 200) {
  820. bluM.connectDeivece(this.data.bikeDetail.bike_info.box_no).then(res => {
  821. // console.log('bellbike ===>')
  822. return bluM.boxReboot()
  823. })
  824. wx.showToast({
  825. title: '重启中控成功',
  826. icon: 'none'
  827. })
  828. }
  829. })
  830. },
  831. // 设为停车区
  832. recover() {
  833. app.request('bike/repairInParking?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => {
  834. console.log(res)
  835. if (res.statusCode == 200) {
  836. wx.showToast({
  837. title: '操作成功',
  838. icon: 'none'
  839. })
  840. } else {
  841. wx.showToast({
  842. title: '操作失败',
  843. icon: 'none'
  844. })
  845. }
  846. })
  847. },
  848. //上线
  849. online() {
  850. app.request('bike/login?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => {
  851. console.log(res)
  852. if (res.statusCode == 200) {
  853. wx.showToast({
  854. title: '上线成功',
  855. icon: 'none'
  856. })
  857. }
  858. })
  859. },
  860. more: function() {
  861. this.setData({
  862. moreShow: true
  863. })
  864. },
  865. moreHidn: function() {
  866. this.setData({
  867. moreShow: false
  868. })
  869. },
  870. //下线
  871. Offline() {
  872. app.request('bike/logout?bike_id=' + this.data.bikeDetail.bike_info.id, '', 'GET').then(res => {
  873. console.log(res)
  874. if (res.statusCode == 200) {
  875. wx.showToast({
  876. title: '下线成功',
  877. icon: 'none'
  878. })
  879. }
  880. })
  881. },
  882. onShow: function() {
  883. },
  884. onReady: function() {
  885. },
  886. onHide: function() {
  887. },
  888. onShareAppMessage: function() {
  889. return {
  890. path: "/pages/index/index",
  891. title: "轻松出行,方便你我~"
  892. };
  893. }
  894. })