charging.js 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808
  1. import * as echarts from '../../ec-canvas/echarts';
  2. import * as lf from '../../ec-canvas/echarts-liquidfill';
  3. let chart = null;
  4. function initChart(canvas, width, height, dpr) {
  5. chart = echarts.init(canvas, lf, {
  6. width: width,
  7. height: height,
  8. devicePixelRatio: dpr // new
  9. });
  10. canvas.setChart(chart);
  11. var options111 = {
  12. series: [{
  13. type: 'liquidFill',
  14. data: [],
  15. color: ['#128cec'],//主体填充颜色
  16. center: ['50%', '50%'],//中心位置
  17. radius: '72%',//大小
  18. outline: {
  19. show: false
  20. },
  21. backgroundStyle: {
  22. color: '#cceaff'
  23. },
  24. label: {
  25. show: true,
  26. color: '#128cec',
  27. insideColor: '#ffffff',
  28. fontSize: 20,
  29. fontWeight: 'bold',
  30. align: 'center',
  31. baseline: 'middle',
  32. position: 'inside',
  33. formatter: function (p) {
  34. //console.log(p);
  35. if (isNaN(p.value)) {
  36. return '启动充电中';
  37. }
  38. return (p.value * 100).toFixed(2) + '%' + '\n' + '当前电量';
  39. }
  40. }
  41. }]
  42. };
  43. chart.setOption(options111);
  44. return chart;
  45. }
  46. let log = require('../../utils/log.js');
  47. var chargingPng;
  48. var chargingStatus;
  49. var chargingStatusFlag = true;
  50. Page({
  51. /**
  52. * 页面的初始数据
  53. */
  54. data: {
  55. orderid: null,
  56. userId: null,
  57. chargPileId: null,
  58. chargingRate: 0,
  59. chargingTime: '',
  60. yczds:'',
  61. totalMoney:'',
  62. cdscdy:0,
  63. cdscdl:0,
  64. chargingOrder: null,
  65. chargPile: null,
  66. ec: {
  67. onInit: initChart
  68. }
  69. },
  70. drawCircle: function(step) {
  71. var newoption = chart.getOption();
  72. newoption.series[0].data[0] = parseFloat(step / 100.0).toFixed(2);
  73. chart.setOption(newoption, true);
  74. // console.info(newoption)
  75. // console.info(step)
  76. // console.info(newoption.series[0].data[0])
  77. },
  78. stopCharging(e) {
  79. wx.showLoading({
  80. title: '结束充电中...',
  81. mask: true
  82. });
  83. clearInterval(chargingStatus);
  84. let {
  85. orderid,
  86. userId,
  87. chargPileId
  88. } = this.data;
  89. log.info('[充电中]', '[结束充电]', '[请求]', {
  90. chargPileId,
  91. userId,
  92. orderid
  93. });
  94. wx.request({
  95. url: getApp().globalData.postHeadAgreement + '/restapi/pileLog/chargstop',
  96. data: {
  97. chargPileId,
  98. userId,
  99. orderid
  100. },
  101. method: 'POST',
  102. success(res) {
  103. wx.hideLoading();
  104. let {
  105. data
  106. } = res;
  107. log.info('[充电中]', '[结束充电]', '[响应]', data);
  108. if (data && data.code == 200) {
  109. //wx.showModal({
  110. //showCancel: false,
  111. //content: '结束充电成功'
  112. //});
  113. log.info('[充电中]', '[结束充电]', '[成功跳转订单支付界面]', data);
  114. let url = `/pages/order/order?orderid=${orderid}&userId=${userId}&chargPileId=${chargPileId}`;
  115. setTimeout(()=>{
  116. wx.redirectTo({
  117. url
  118. });
  119. },3000)
  120. } else {
  121. log.info('[充电中]', '[结束充电]', '[失败data null||data.code<>200]', data);
  122. wx.showModal({
  123. showCancel: false,
  124. content: '结束充电失败',
  125. confirmColor:'#00AADD',
  126. });
  127. }
  128. },
  129. fail(err){
  130. wx.hideLoading();
  131. wx.showModal({
  132. showCancel: false,
  133. content: '结束充电失败',
  134. confirmColor:'#00AADD',
  135. });
  136. log.info('[充电中]', '[结束充电]', '[fail]', err );
  137. }
  138. });
  139. },
  140. showChargingPng1() {
  141. var i = 0;
  142. let that = this;
  143. if (that.data.chargingOrder && that.data.chargingOrder.soc && that.data.chargingOrder.soc != 0) {
  144. chargingPng = setInterval(function() {
  145. if (i <= that.data.chargingOrder.soc) {
  146. that.drawCircle(i);
  147. that.setData({
  148. chargingRate: i
  149. });
  150. i++;
  151. } else {
  152. //console.log(chargingPng);
  153. clearInterval(chargingPng);
  154. }
  155. }, 20);
  156. }
  157. },
  158. showChargingPng() {
  159. if (this.data.chargingOrder && this.data.chargingOrder.soc && this.data.chargingOrder.soc != 0) {
  160. this.drawCircle(this.data.chargingOrder.soc);
  161. this.setData({
  162. chargingRate: this.data.chargingOrder.soc
  163. });
  164. }
  165. },
  166. // // 抽取的核心逻辑,封装Promise
  167. // fetchOrderStatus(chargPileId, userId, orderid) {
  168. // const that = this;
  169. // log.info('[充电中]', '[获取订单状态]', '[请求]', { chargPileId, userId, orderid });
  170. // wx.request({
  171. // url: getApp().globalData.postHeadAgreement + '/restapi/pileLog/wechatchargstatus',
  172. // data: { chargPileId, userId, orderid },
  173. // method: 'POST',
  174. // success(res) {
  175. // let { data } = res;
  176. // log.info('[充电中]', '[获取订单状态]', '[响应]', data);
  177. // // data.code = 500
  178. // if (data && data.code === 200) {
  179. // let { result: chargingOrder } = data;
  180. // let { chargPileId } = chargingOrder;
  181. // let orderid_r = chargingOrder.orderid;
  182. // // 顺序执行:先获取充电桩信息再处理订单状态
  183. // that.fetchChargPile(chargPileId, userId)
  184. // .then((chargPile) => {
  185. // log.info('[充电中]', '[获取充电桩完成,开始处理订单状态]', { chargPile });
  186. // that.handleOrderStatus(chargingOrder, orderid_r, chargPileId, chargPile);
  187. // })
  188. // .catch((err) => {
  189. // log.error('[充电中]', '[获取充电桩失败]', err);
  190. // });
  191. // } else if (data && data.code === 500) {
  192. // console.log("data.code为500",data.code);
  193. // // clearInterval(chargingStatus);
  194. // log.info('[充电中]', '[充电轮训]', '[再次尝试获取订单状态]', data);
  195. // // 再次调用 fetchOrderStatus
  196. // // that.fetchOrderStatus(chargPileId, userId, orderid);
  197. // } else {
  198. // console.log(res);
  199. // }
  200. // },
  201. // fail(err) {
  202. // log.error('[充电中]', '[获取订单状态失败]', err);
  203. // },
  204. // });
  205. // },
  206. // // 获取充电桩信息(返回 Promise)
  207. // fetchChargPile(chargPileId, userId) {
  208. // return new Promise((resolve, reject) => {
  209. // log.info('[充电中]', '[获取充电桩]', '[请求]', { chargPileId, userId });
  210. // wx.request({
  211. // url: getApp().globalData.postHeadAgreement + '/restapi/wechat/chargPile',
  212. // data: { chargPileId, userId },
  213. // method: 'POST',
  214. // success(res) {
  215. // let chargPile = res.data.result;
  216. // if (chargPile) {
  217. // log.info('[充电中]', '[获取充电桩]', '[响应]', chargPile);
  218. // resolve(chargPile);
  219. // } else {
  220. // reject(new Error('获取充电桩数据失败'));
  221. // }
  222. // },
  223. // fail(err) {
  224. // reject(err);
  225. // },
  226. // });
  227. // });
  228. // },
  229. // // 根据订单状态处理逻辑(返回 Promise)
  230. // handleOrderStatus(chargingOrder, orderid_r, chargPileId, chargPile) {
  231. // const that = this;
  232. // return new Promise((resolve) => {
  233. // if (chargingOrder.chargPileStatus === 1) {
  234. // log.info('[充电中]', '[订单状态]', '[状态1:启动中,继续轮训]', chargingOrder);
  235. // that.setData({
  236. // chargingOrder,
  237. // chargPileId,
  238. // orderid: orderid_r,
  239. // chargPile,
  240. // });
  241. // resolve();
  242. // } else if (chargingOrder.chargPileStatus === 2) {
  243. // let chargingTime = that.formatChargingTime(chargingOrder.ljcdsj);
  244. // let totalMoney = (
  245. // parseFloat(chargingOrder.ycdfje) + parseFloat(chargingOrder.ycfwfje)
  246. // ).toFixed(2);
  247. // let cdscdl = parseFloat(chargingOrder.cdscdl).toFixed(2);
  248. // let cdscdy = parseFloat(chargingOrder.cdscdy).toFixed(2);
  249. // let yczds = parseFloat(chargingOrder.yczds).toFixed(2);
  250. // that.setData({
  251. // chargingOrder,
  252. // chargPileId,
  253. // chargingTime,
  254. // orderid: orderid_r,
  255. // totalMoney,
  256. // cdscdl,
  257. // cdscdy,
  258. // yczds,
  259. // chargPile,
  260. // });
  261. // that.showChargingPng();
  262. // resolve();
  263. // } else if (chargingOrder.chargPileStatus === 3) {
  264. // clearInterval(chargingStatus);
  265. // log.info('[充电中]', '[订单状态]', '[状态3:跳转到订单支付界面]', chargingOrder);
  266. // let { userId } = that.data;
  267. // let url = `/pages/order/order?orderid=${orderid_r}&userId=${userId}&chargPileId=${chargPileId}`;
  268. // wx.redirectTo({ url });
  269. // resolve();
  270. // } else if (chargingOrder.chargPileStatus === 4) {
  271. // clearInterval(chargingStatus);
  272. // log.info('[充电中]', '[订单状态]', '[状态4:启动异常,删除订单]', chargingOrder);
  273. // wx.showModal({
  274. // showCancel: false,
  275. // content: '开启充电失败',
  276. // confirmColor: '#00AADD',
  277. // });
  278. // that.delOrder(orderid_r);
  279. // resolve();
  280. // }
  281. // });
  282. // },
  283. // // 格式化充电时间
  284. // formatChargingTime(minutes) {
  285. // let chargingTimeHour = Math.floor(minutes / 60);
  286. // if (chargingTimeHour <= 9) {
  287. // chargingTimeHour = '0' + chargingTimeHour;
  288. // }
  289. // let chargingTimeMinute = minutes % 60;
  290. // if (chargingTimeMinute <= 9) {
  291. // chargingTimeMinute = '0' + chargingTimeMinute;
  292. // }
  293. // return `${chargingTimeHour}:${chargingTimeMinute}:00`;
  294. // },
  295. // onLoad: function(options) {
  296. // let { orderid, userId, chargPileId } = options;
  297. // log.info('[充电中]', '[加载完成]', '[参数]', { orderid, userId, chargPileId });
  298. // this.setData({ orderid, userId, chargPileId });
  299. // if (!orderid || orderid === "null") {
  300. // orderid = undefined;
  301. // }
  302. // this.fetchOrderStatus(chargPileId, userId, orderid);
  303. // },
  304. /**
  305. * 生命周期函数--监听页面加载
  306. */
  307. onLoad: function(options) {
  308. //console.log(options);
  309. let {
  310. orderid,
  311. userId,
  312. chargPileId
  313. } = options;
  314. log.info('[充电中]', '[加载完成]', '[参数]', {
  315. orderid,
  316. userId,
  317. chargPileId
  318. });
  319. this.setData({
  320. orderid,
  321. userId,
  322. chargPileId
  323. });
  324. if (!orderid||orderid=="null"){
  325. orderid=undefined;
  326. }
  327. let that = this;
  328. log.info('[充电中]', '[获取订单状态]', '[请求]', {
  329. chargPileId,
  330. userId,
  331. orderid
  332. });
  333. wx.request({
  334. url: getApp().globalData.postHeadAgreement + '/restapi/pileLog/wechatchargstatus',
  335. data: {
  336. chargPileId,
  337. userId,
  338. orderid
  339. },
  340. method: 'POST',
  341. success(res) {
  342. let {
  343. data
  344. } = res;
  345. // data.code = 500
  346. log.info('[充电中]', '[获取订单状态]', '[响应]', data);
  347. if (data && data.code == 200) {
  348. let {
  349. result: chargingOrder
  350. } = data;
  351. let {
  352. chargPileId,
  353. soc: chargingRate
  354. } = chargingOrder;
  355. let orderid_r = chargingOrder.orderid;
  356. //console.log(chargingOrder);
  357. log.info('[充电中]', '[获取充电桩]', '[请求]', chargPileId);
  358. wx.request({
  359. url: getApp().globalData.postHeadAgreement + '/restapi/wechat/chargPile',
  360. // data: chargPileId,
  361. data:{
  362. chargPileId:chargPileId,
  363. userId: userId
  364. },
  365. method: 'POST',
  366. success(res1) {
  367. //console.log(res1.data);
  368. res1.data = res1.data.result
  369. if (res1.data) {
  370. let {
  371. data: chargPile
  372. } = res1;
  373. log.info('[充电中]', '[获取充电桩]', '[响应]', chargPile);
  374. that.setData({
  375. chargPile
  376. });
  377. }
  378. }
  379. });
  380. console.log("chargingOrder.chargPileStatus " + chargingOrder.chargPileStatus);
  381. if (chargingOrder.chargPileStatus == 1) { //启动中,继续轮训
  382. log.info('[充电中]', '[初次订单状态判定]', '[chargPileStatus状态1启动中,继续轮训]', data)
  383. that.setData({
  384. chargingOrder,
  385. chargPileId,
  386. orderid: orderid_r
  387. });
  388. } else if (chargingOrder.chargPileStatus == 2) { //充电中,继续轮训
  389. //console.log(chargingOrder.chargPileStatus == 2);
  390. if (chargingOrder.ljcdsj || chargingOrder.ljcdsj == 0) {
  391. var chargingTimeHour = Math.floor(chargingOrder.ljcdsj / 60);
  392. if (chargingTimeHour <= 9) {
  393. chargingTimeHour = '0' + chargingTimeHour;
  394. }
  395. var chargingTimeMinute = chargingOrder.ljcdsj % 60;
  396. if (chargingTimeMinute <= 9) {
  397. chargingTimeMinute = '0' + chargingTimeMinute
  398. }
  399. var chargingTime = chargingTimeHour + ":" + chargingTimeMinute + ":00";
  400. }
  401. var totalMoney = (parseFloat(chargingOrder.ycdfje) + parseFloat(chargingOrder.ycfwfje)).toFixed(2);
  402. var cdscdl = parseFloat(chargingOrder.cdscdl).toFixed(2);
  403. var cdscdy = parseFloat(chargingOrder.cdscdy).toFixed(2);
  404. var yczds = parseFloat(chargingOrder.yczds).toFixed(2);
  405. that.setData({
  406. chargingOrder,
  407. chargPileId,
  408. chargingTime,
  409. orderid: orderid_r,
  410. totalMoney,
  411. cdscdl,
  412. cdscdy,
  413. yczds
  414. });
  415. that.showChargingPng();
  416. } else if (chargingOrder.chargPileStatus == 3) { //充电完成,适用于主动拔枪
  417. clearInterval(chargingStatus);
  418. log.info('[充电中]', '[初次订单状态判定]', '[chargPileStatus状态3跳转到订单支付界面]', data);
  419. let {
  420. orderid,
  421. userId,
  422. chargPileId
  423. } = that.data;
  424. let url = `/pages/order/order?orderid=${orderid_r}&userId=${userId}&chargPileId=${chargPileId}`;
  425. wx.redirectTo({
  426. url
  427. });
  428. } else if (chargingOrder.chargPileStatus == 4) { //启动异常,回退界面
  429. clearInterval(chargingStatus);
  430. log.info('[充电中]', '[初次订单状态判定]', '[chargPileStatus状态4启动异常删除订单]', data);
  431. wx.showModal({
  432. showCancel: false,
  433. content: '开启充电失败',
  434. confirmColor:'#00AADD',
  435. });
  436. that.delOrder(orderid_r);
  437. console.log(orderid_r);
  438. }
  439. } else if (data && data.code == 500) {
  440. let {
  441. result: chargingOrder
  442. } = data;
  443. let {
  444. chargPileId,
  445. soc: chargingRate
  446. } = chargingOrder;
  447. let orderid_r = chargingOrder.orderid;
  448. //console.log(chargingOrder);
  449. log.info('[充电中]', '[获取充电桩]', '[请求]', chargPileId);
  450. // 查询桩信息
  451. wx.request({
  452. url: getApp().globalData.postHeadAgreement + '/restapi/wechat/chargPile',
  453. // data: chargPileId,
  454. data:{
  455. chargPileId:chargPileId,
  456. userId: userId
  457. },
  458. method: 'POST',
  459. success(res1) {
  460. //console.log(res1.data);
  461. res1.data = res1.data.result
  462. if (res1.data) {
  463. let {
  464. data: chargPile
  465. } = res1;
  466. log.info('[充电中]', '[获取充电桩]', '[响应]', chargPile);
  467. that.setData({
  468. chargPile
  469. });
  470. }
  471. }
  472. });
  473. console.log("进入");
  474. // console.info("ddddddddddddddddddddddddddd")
  475. // console.info(orderid)
  476. // console.info(userId)
  477. // console.info(chargPileId)
  478. // console.info("ddddddddddddddddddddddddddd")
  479. // 取消跳转逻辑
  480. // clearInterval(chargingStatus);
  481. log.info('[充电中]', '[充电轮训]', '[chargPileStatus状态3跳转到订单支付界面]', data);
  482. // let url = `/pages/order/order?orderid=${orderid}&userId=${userId}&chargPileId=${chargPileId}`;
  483. // wx.redirectTo({
  484. // url
  485. // });
  486. }else{
  487. console.log(res);
  488. }
  489. },
  490. fail(err) {
  491. // var chargingOrder = {chargStatus:1};
  492. // that.setData({
  493. // chargingOrder
  494. // });
  495. }
  496. });
  497. },
  498. delOrder(orderId){
  499. // if (orderId){
  500. if (false){
  501. log.info('[充电中]', '[删除订单]', '[请求]', { "orderid": orderId });
  502. wx.request({
  503. url: getApp().globalData.postHeadAgreement + '/restapi/pileLog/exceptOrder',
  504. data: {"orderid":orderId},
  505. method: 'POST',
  506. success(res1) {
  507. console.log(res1.data);
  508. log.info('[充电中]', '[删除订单]', '[响应]', res1.data);
  509. //if (res1.data ) {
  510. //}
  511. wx.navigateBack();
  512. }
  513. });
  514. }
  515. },
  516. /**
  517. * 生命周期函数--监听页面初次渲染完成
  518. */
  519. onReady: function() {},
  520. /**
  521. * 生命周期函数--监听页面显示
  522. */
  523. onShow: function(e) {
  524. clearInterval(chargingStatus);
  525. this.showChargingPng();
  526. let {
  527. orderid,
  528. userId,
  529. chargPileId
  530. } = this.data;
  531. if (!orderid || orderid == "null") {
  532. orderid = undefined;
  533. }
  534. let that = this;
  535. chargingStatus = setInterval(function() {
  536. if(!chargingStatusFlag){
  537. return;
  538. }
  539. let chargPileIdCache = chargPileId;
  540. let userIdCache = userId;
  541. let orderidCache = orderid;
  542. wx.request({
  543. url: getApp().globalData.postHeadAgreement + '/restapi/pileLog/wechatchargstatus',
  544. data: {
  545. chargPileId,
  546. userId,
  547. orderid
  548. },
  549. method: 'POST',
  550. success(res) {
  551. let {
  552. data
  553. } = res;
  554. if (data && data.code == 200) {
  555. let {
  556. result: chargingOrder
  557. } = data;
  558. let {
  559. chargPileId,
  560. soc: chargingRate
  561. } = chargingOrder;
  562. let orderid_r = chargingOrder.orderid;
  563. //console.log(chargingOrder.chargPileStatus);
  564. if (chargingOrder.chargPileStatus == 1) { //启动中,继续轮训
  565. log.info('[充电中]', '[充电轮训]', '[chargPileStatus状态1启动中,继续轮训]', data);
  566. that.setData({
  567. chargingOrder,
  568. chargPileId,
  569. orderid: orderid_r
  570. });
  571. } else if (chargingOrder.chargPileStatus == 2) { //充电中,继续轮训
  572. if (chargingOrder.ljcdsj || chargingOrder.ljcdsj == 0) {
  573. var chargingTimeHour = Math.floor(chargingOrder.ljcdsj / 60);
  574. if (chargingTimeHour <= 9) {
  575. chargingTimeHour = '0' + chargingTimeHour;
  576. }
  577. var chargingTimeMinute = chargingOrder.ljcdsj % 60;
  578. if (chargingTimeMinute <= 9) {
  579. chargingTimeMinute = '0' + chargingTimeMinute
  580. }
  581. var chargingTime = chargingTimeHour + ":" + chargingTimeMinute + ":00";
  582. }
  583. var cdscdl = parseFloat(chargingOrder.cdscdl).toFixed(2);
  584. var cdscdy = parseFloat(chargingOrder.cdscdy).toFixed(2);
  585. var totalMoney = (parseFloat(chargingOrder.ycdfje) + parseFloat(chargingOrder.ycfwfje)).toFixed(2);
  586. var yczds = parseFloat(chargingOrder.yczds).toFixed(2);
  587. // var orderid = orderid_r;
  588. that.setData({
  589. chargingOrder,
  590. chargPileId,
  591. chargingTime,
  592. chargingRate,
  593. orderid:orderid_r,
  594. cdscdl,
  595. cdscdy,
  596. totalMoney,
  597. yczds
  598. });
  599. that.drawCircle(chargingRate);
  600. console.info("-----------")
  601. console.info(that.data.orderid)
  602. console.info(orderid)
  603. console.info(orderid_r)
  604. console.info("-----------")
  605. } else if (chargingOrder.chargPileStatus == 3) { //充电完成,适用于主动拔枪
  606. clearInterval(chargingStatus);
  607. log.info('[充电中]', '[充电轮训]', '[chargPileStatus状态3跳转到订单支付界面]', data);
  608. let {
  609. orderid,
  610. userId,
  611. chargPileId
  612. } = that.data;
  613. let url = `/pages/order/order?orderid=${orderid_r}&userId=${userId}&chargPileId=${chargPileId}`;
  614. wx.redirectTo({
  615. url
  616. });
  617. } else if (chargingOrder.chargPileStatus == 4) { //启动异常,回退界面
  618. clearInterval(chargingStatus);
  619. log.info('[充电中]', '[充电轮训]', '[chargPileStatus状态4启动异常删除订单]', data);
  620. wx.showModal({
  621. showCancel: false,
  622. content: '开启充电失败',
  623. confirmColor:'#00AADD',
  624. });
  625. console.log(orderid_r);
  626. that.delOrder(orderid_r);
  627. } else if (chargingOrder.chargPileStatus == 5) { //订单被删除
  628. clearInterval(chargingStatus);
  629. log.info('[充电中]', '[充电轮训]', '[chargPileStatus状态5订单被删除]', data);
  630. wx.showModal({
  631. showCancel: false,
  632. content: '开启充电失败',
  633. confirmColor:'#00AADD',
  634. });
  635. console.log(orderid_r);
  636. that.delOrder(orderid_r);
  637. }
  638. } else if (data && data.code == 500) {
  639. if(data.msg == '没有充电桩实时充电状态'){
  640. let url = `/pages/index/index`;
  641. wx.reLaunch({
  642. url
  643. });
  644. }
  645. // console.info("ddddddddddddddddddddddddddd")
  646. // console.info(that.data.orderid)
  647. // console.info(userIdCache)
  648. // console.info(chargPileIdCache)
  649. // console.info("ddddddddddddddddddddddddddd")
  650. clearInterval(chargingStatus);
  651. log.info('[充电中]', '[充电轮训]', '[chargPileStatus状态3跳转到订单支付界面]', data);
  652. let url = `/pages/order/order?orderid=${that.data.orderid}&userId=${userIdCache}&chargPileId=${chargPileIdCache}`;
  653. wx.redirectTo({
  654. url
  655. });
  656. }else{
  657. console.log("2222222222222222222222222222");
  658. console.log(res);
  659. console.log(data);
  660. console.log(data.code);
  661. console.log(data && data.code == 500);
  662. console.log("2222222222222222222222222222");
  663. }
  664. }
  665. });
  666. }, 5000);
  667. // }, 5000);
  668. },
  669. phoneCall(e) {
  670. wx.makePhoneCall({
  671. phoneNumber: getApp().globalData.helpPhoneNum
  672. });
  673. },
  674. exceptionWarn(){
  675. let userInfo = wx.getStorageSync('userInfo');
  676. let isLogin = wx.getStorageSync('isLogin');
  677. let that = this;
  678. wx.showModal({
  679. title: '提示',
  680. content: '如果您无法正常结束充电,请提交申诉(一小时内最多提交两次)',
  681. confirmText: '提交',
  682. showCancel:true,
  683. confirmColor:'#00AADD',
  684. cancelColor:'#00AADD',
  685. success: function (res1) {
  686. if(!res1.confirm){
  687. return;
  688. }
  689. chargingStatusFlag = false;
  690. wx.request({
  691. url: getApp().globalData.postHeadAgreement + '/restapi/pileLog/applyDeleteChargPileLog',
  692. data: {
  693. loginName: userInfo.loginName,
  694. orderid:that.data.orderid
  695. },
  696. method: 'POST',
  697. success: function (res) {
  698. console.info(res);
  699. if(res.data.code == 200){
  700. clearInterval(chargingStatus);
  701. chargingStatusFlag = false;
  702. wx.showModal({
  703. title: '提示',
  704. content: '申诉成功,异常订单已删除',
  705. confirmColor:'#00AADD',
  706. showCancel: false,
  707. success: function (res1) {
  708. if (res1.confirm) {
  709. let url = `/pages/index/index`;
  710. wx.reLaunch({
  711. url
  712. });
  713. }
  714. }
  715. })
  716. }else{
  717. chargingStatusFlag = true;
  718. console.info(res.data.msg)
  719. wx.showModal({
  720. title: '提示',
  721. content: '申诉失败, ' + res.data.msg + '。如有疑问请拨打客服电话4009608068',
  722. confirmColor:'#00AADD',
  723. showCancel: false,
  724. // success: function (res1) {
  725. // if (res1.confirm) {
  726. // wx.switchTab({
  727. // url: '/pages/index/index'
  728. // })
  729. // }
  730. // }
  731. })
  732. }
  733. },
  734. fail(e) {
  735. chargingStatusFlag = true;
  736. console.log("删除车辆失败");
  737. log.info('[删除车辆]','[fail]', e);
  738. }
  739. });
  740. }
  741. });
  742. },
  743. /**
  744. * 生命周期函数--监听页面隐藏
  745. */
  746. onHide: function() {
  747. clearInterval(chargingStatus);
  748. },
  749. /**
  750. * 生命周期函数--监听页面卸载
  751. */
  752. onUnload: function() {
  753. clearInterval(chargingStatus);
  754. },
  755. /**
  756. * 页面相关事件处理函数--监听用户下拉动作
  757. */
  758. onPullDownRefresh: function() {
  759. },
  760. /**
  761. * 页面上拉触底事件的处理函数
  762. */
  763. onReachBottom: function() {
  764. },
  765. /**
  766. * 用户点击右上角分享
  767. */
  768. onShareAppMessage: function() {
  769. }
  770. })