scan_result.js 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. // pages/scan_result/scan_result.js
  2. let log = require('../../utils/log.js');
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. chargPile: null,
  9. orderid: null,
  10. userId: null,
  11. repaidbalance: 0
  12. },
  13. /**
  14. * 生命周期函数--监听页面加载
  15. */
  16. onLoad: function (options) {
  17. let that = this;
  18. wx.getStorage({
  19. key: 'scan_chargpile',
  20. success: function (res) {
  21. //console.log(res);
  22. //console.log(res.data);
  23. var chargPile = res.data;
  24. chargPile.sharpTotalPrice = (chargPile.sharpChargPrice + chargPile.sharpServicePrice).toFixed(4);
  25. chargPile.peakTotalPrice = (chargPile.peakChargPrice + chargPile.peakServicePrice).toFixed(4);
  26. chargPile.flatTotalPrice = (chargPile.flatChargPrice + chargPile.flatServicePrice).toFixed(4);
  27. chargPile.valleyTotalPrice = (chargPile.valleyChargPrice + chargPile.valleyServicePrice).toFixed(4);
  28. chargPile.totalprice = (chargPile.chargprice + chargPile.serviceprice).toFixed(4);
  29. that.setData({
  30. chargPile
  31. });
  32. //console.log(chargPile);
  33. wx.removeStorage({
  34. key: 'scan_chargpile',
  35. success(res) {
  36. console.log(res);
  37. }
  38. });
  39. log.info('[扫码]', '[加载完成]', '[参数]', res.data);
  40. let userInfo = wx.getStorageSync('userInfo');
  41. wx.request({
  42. url: getApp().globalData.postHeadAgreement + '/restapi/wechat/syncUser',
  43. data: {
  44. loginName: userInfo.loginName
  45. },
  46. method: 'POST',
  47. success: function (res) {
  48. let {
  49. data
  50. } = res;
  51. log.info('[扫码]', '[同步用户数据]', '[响应]', data);
  52. console.info('[扫码]', '[同步用户数据]', '[响应]', data);
  53. if (data.code && data.code != 200) {
  54. log.info('[扫码]', '[同步用户数据]', '[失败data null||data.code<>200跳转登陆界面]', data);
  55. } else {
  56. that.setData({
  57. repaidbalance:data.repaidbalance
  58. });
  59. }
  60. },
  61. fail(e) {
  62. console.log("用户数据同步失败");
  63. log.info('[扫码]', '[同步用户数据]', '[fail]', e);
  64. }
  65. });
  66. }
  67. });
  68. },
  69. beginCharge(e) {
  70. wx.showLoading({
  71. title: '开启充电中...',
  72. mask: true
  73. });
  74. log.info('[扫码]', '[开始充电流程]');
  75. //同步用户数据
  76. let userInfo = wx.getStorageSync('userInfo');
  77. let isLogin = wx.getStorageSync('isLogin');
  78. let that = this;
  79. log.info('[扫码]', '[同步用户数据]', '[请求]', {
  80. loginName: userInfo.loginName
  81. });
  82. wx.request({
  83. url: getApp().globalData.postHeadAgreement + '/restapi/wechat/syncUser',
  84. data: {
  85. loginName: userInfo.loginName
  86. },
  87. method: 'POST',
  88. success: function (res) {
  89. wx.hideLoading();
  90. let {
  91. data
  92. } = res;
  93. log.info('[扫码]', '[同步用户数据]', '[响应]', data);
  94. console.info('[扫码]', '[同步用户数据]', '[响应]', data);
  95. if (data.code && data.code != 200) {
  96. wx.removeStorageSync('userInfo');
  97. wx.removeStorageSync('isLogin');
  98. let url = '/pages/login/login';
  99. wx.redirectTo({
  100. url,
  101. });
  102. log.info('[扫码]', '[同步用户数据]', '[失败data null||data.code<>200跳转登陆界面]', data);
  103. } else {
  104. wx.setStorageSync('userInfo', data);
  105. wx.setStorageSync('isLogin', true);
  106. let repaidbalance = data.repaidbalance;
  107. that.setData({
  108. repaidbalance
  109. });
  110. console.info("sssssss " + data.repaidbalance)
  111. //开始充电
  112. if (!data.repaidbalance || data.repaidbalance <= 0) {
  113. wx.showModal({
  114. showCancel: false,
  115. content: '余额不足,请充值!',
  116. success: function (res) {
  117. if (res.confirm) {
  118. let url = "/pages/chargemoney/chargemoney";
  119. wx.navigateTo({
  120. url
  121. });
  122. }
  123. }
  124. });
  125. log.info('[扫码]', '[同步用户数据]', '[data.repaidbalance null||data.repaidbalance<=0余额不足跳转充值界面]', data);
  126. } else if (data.repaidbalance > 0 && data.repaidbalance <= 15) {
  127. wx.showModal({
  128. title: '余额:' + data.repaidbalance + '元',
  129. showCancel: false,
  130. confirmText: "去充值",
  131. content: '余额过低,请尽快充值!',
  132. success: function (res) {
  133. if (res.confirm) {
  134. let url = "/pages/chargemoney/chargemoney";
  135. wx.navigateTo({
  136. url
  137. });
  138. }
  139. }
  140. });
  141. log.info('[扫码]', '[同步用户数据]', '[0<data.repaidbalance<=15余额过低]', data);
  142. // wx.showModal({
  143. // title:'请选择',
  144. // showCancel: true,
  145. // confirmText:"继续充电",
  146. // cancelText:"去充值",
  147. // content: '余额过低,请尽快充值!',
  148. // success: function (res) {
  149. // if (res.confirm) {
  150. // that.beginCharge_satrt();
  151. // } else if (res.cancel) {
  152. // let url = "/pages/chargemoney/chargemoney";
  153. // wx.navigateTo({
  154. // url
  155. // });
  156. // }
  157. // }
  158. // });
  159. } else if (data.repaidbalance > 15) {
  160. log.info('[扫码]', '[同步用户数据]', '[余额充足开始充电]', data);
  161. that.beginCharge_satrt();
  162. }
  163. }
  164. },
  165. fail(e) {
  166. console.log("用户数据同步失败");
  167. log.info('[扫码]', '[同步用户数据]', '[fail]', e);
  168. }
  169. });
  170. },
  171. beginCharge_satrt() {
  172. wx.showLoading({
  173. title: '开启充电中...',
  174. mask: true
  175. });
  176. let that = this;
  177. let terminalNum = this.data.chargPile.chargPileId;
  178. let userInfo = wx.getStorageSync('userInfo');
  179. let isLogin = wx.getStorageSync('isLogin');
  180. console.log(terminalNum);
  181. let userId = userInfo.userId;
  182. let chargstarttime = new Date().getTime();
  183. console.log(chargstarttime);
  184. log.info('[扫码]', '[开始充电]', '[请求]', {
  185. //chargPileId: '201811010000004202',
  186. chargPileId: terminalNum,
  187. userId: userId,
  188. chargstarttime: chargstarttime
  189. });
  190. wx.request({
  191. url: getApp().globalData.postHeadAgreement + '/restapi/pileLog/miniprogramadd',
  192. data: {
  193. //chargPileId: '201811010000004202',
  194. chargPileId: terminalNum,
  195. userId: userId,
  196. chargstarttime: chargstarttime
  197. },
  198. method: 'POST',
  199. fail(e) {
  200. wx.hideLoading();
  201. //开启充电失败,提示用户
  202. wx.showModal({
  203. showCancel: false,
  204. content: '开启充电失败'
  205. });
  206. log.info('[扫码]', '[开始充电]', '[fail]', e);
  207. },
  208. success(res) {
  209. wx.hideLoading();
  210. let {
  211. data
  212. } = res;
  213. log.info('[扫码]', '[开始充电]', '[响应]', data);
  214. if (data && data.code == 200) {
  215. //if (data && data.code == 200 && data.orderid) {
  216. //开启充电成功,跳转到正在充电界面
  217. let {
  218. orderid
  219. } = data;
  220. log.info('[扫码]', '[开始充电]', '[成功,跳转充电中页面]', data);
  221. //console.log(this.data.city);
  222. let url = `/pages/charging/charging?orderid=${orderid}&userId=${userId}&chargPileId=${terminalNum}`;
  223. wx.redirectTo({
  224. url
  225. });
  226. } else if (data && data.code == 501) {
  227. //开启充电失败,提示用户
  228. wx.showModal({
  229. showCancel: false,
  230. content: '余额不足,请充值!'
  231. });
  232. log.info('[扫码]', '[开始充电]', '[失败data.code=501余额不足]', data);
  233. } else if (data && data.code == 502) {
  234. //开启充电失败,提示用户
  235. wx.showModal({
  236. showCancel: false,
  237. content: data.message
  238. });
  239. log.info('[扫码]', '[开始充电]', '[失败data.code=502' + data.message + ']', data);
  240. } else {
  241. //开启充电失败,提示用户
  242. wx.showModal({
  243. showCancel: false,
  244. content: '开启充电失败'
  245. });
  246. log.info('[扫码]', '[开始充电]', '[失败]', data);
  247. }
  248. }
  249. });
  250. },
  251. /**
  252. * 生命周期函数--监听页面初次渲染完成
  253. */
  254. onReady: function () {
  255. },
  256. /**
  257. * 生命周期函数--监听页面显示
  258. */
  259. onShow: function () {
  260. },
  261. /**
  262. * 生命周期函数--监听页面隐藏
  263. */
  264. onHide: function () {
  265. },
  266. /**
  267. * 生命周期函数--监听页面卸载
  268. */
  269. onUnload: function () {
  270. },
  271. /**
  272. * 页面相关事件处理函数--监听用户下拉动作
  273. */
  274. onPullDownRefresh: function () {
  275. },
  276. /**
  277. * 页面上拉触底事件的处理函数
  278. */
  279. onReachBottom: function () {
  280. },
  281. /**
  282. * 用户点击右上角分享
  283. */
  284. onShareAppMessage: function () {
  285. }
  286. })