scan_result.js 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  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. let userInfo = wx.getStorageSync('userInfo');
  71. let isLogin = wx.getStorageSync('isLogin');
  72. wx.showLoading({
  73. title: '开启充电中...',
  74. mask: true
  75. });
  76. log.info('[扫码]', '[开始充电流程]');
  77. //同步用户数据
  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/phone_login/phone_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.bindingPhone==0){
  113. wx.showModal({
  114. title: '提示',
  115. content: '您未绑定手机号,请重新登录后自动刷新绑定信息',
  116. confirmText: '去登录',
  117. showCancel:false,
  118. confirmColor:'#00aadd',
  119. success: function (res1) {
  120. if (res1.confirm) {
  121. wx.removeStorageSync('userInfo');
  122. wx.removeStorageSync('isLogin');
  123. let url = '/pages/login/phone_login/phone_login';
  124. wx.redirectTo({
  125. url
  126. })
  127. }
  128. }
  129. });
  130. log.info('[扫码]', '[同步用户数据]', '[未绑定手机号]', data);
  131. }else if (!data.repaidbalance || data.repaidbalance <= 0) {
  132. wx.showModal({
  133. showCancel: false,
  134. content: '余额不足,请充值!',
  135. success: function (res) {
  136. if (res.confirm) {
  137. let url = "/pages/chargemoney/chargemoney";
  138. wx.navigateTo({
  139. url
  140. });
  141. }
  142. }
  143. });
  144. log.info('[扫码]', '[同步用户数据]', '[data.repaidbalance null||data.repaidbalance<=0余额不足跳转充值界面]', data);
  145. } else if (data.repaidbalance > 0 && data.repaidbalance <= 15) {
  146. wx.showModal({
  147. title: '余额:' + data.repaidbalance + '元',
  148. showCancel: false,
  149. confirmText: "去充值",
  150. content: '余额过低,请尽快充值!',
  151. success: function (res) {
  152. if (res.confirm) {
  153. let url = "/pages/chargemoney/chargemoney";
  154. wx.navigateTo({
  155. url
  156. });
  157. }
  158. }
  159. });
  160. log.info('[扫码]', '[同步用户数据]', '[0<data.repaidbalance<=15余额过低]', data);
  161. // wx.showModal({
  162. // title:'请选择',
  163. // showCancel: true,
  164. // confirmText:"继续充电",
  165. // cancelText:"去充值",
  166. // content: '余额过低,请尽快充值!',
  167. // success: function (res) {
  168. // if (res.confirm) {
  169. // that.beginCharge_satrt();
  170. // } else if (res.cancel) {
  171. // let url = "/pages/chargemoney/chargemoney";
  172. // wx.navigateTo({
  173. // url
  174. // });
  175. // }
  176. // }
  177. // });
  178. } else if (data.repaidbalance > 15) {
  179. log.info('[扫码]', '[同步用户数据]', '[余额充足开始充电]', data);
  180. that.beginCharge_satrt();
  181. }
  182. }
  183. },
  184. fail(e) {
  185. console.log("用户数据同步失败");
  186. log.info('[扫码]', '[同步用户数据]', '[fail]', e);
  187. }
  188. });
  189. },
  190. beginCharge_satrt() {
  191. wx.showLoading({
  192. title: '开启充电中...',
  193. mask: true
  194. });
  195. let that = this;
  196. let terminalNum = this.data.chargPile.chargPileId;
  197. let userInfo = wx.getStorageSync('userInfo');
  198. let isLogin = wx.getStorageSync('isLogin');
  199. console.log(terminalNum);
  200. let userId = userInfo.userId;
  201. let chargstarttime = new Date().getTime();
  202. console.log(chargstarttime);
  203. log.info('[扫码]', '[开始充电]', '[请求]', {
  204. //chargPileId: '201811010000004202',
  205. chargPileId: terminalNum,
  206. userId: userId,
  207. chargstarttime: chargstarttime
  208. });
  209. wx.request({
  210. url: getApp().globalData.postHeadAgreement + '/restapi/pileLog/miniprogramadd',
  211. data: {
  212. //chargPileId: '201811010000004202',
  213. chargPileId: terminalNum,
  214. userId: userId,
  215. chargstarttime: chargstarttime
  216. },
  217. method: 'POST',
  218. fail(e) {
  219. wx.hideLoading();
  220. //开启充电失败,提示用户
  221. wx.showModal({
  222. showCancel: false,
  223. content: '开启充电失败'
  224. });
  225. log.info('[扫码]', '[开始充电]', '[fail]', e);
  226. },
  227. success(res) {
  228. wx.hideLoading();
  229. let {
  230. data
  231. } = res;
  232. log.info('[扫码]', '[开始充电]', '[响应]', data);
  233. if (data && data.code == 200) {
  234. //if (data && data.code == 200 && data.orderid) {
  235. //开启充电成功,跳转到正在充电界面
  236. let {
  237. orderid
  238. } = data;
  239. log.info('[扫码]', '[开始充电]', '[成功,跳转充电中页面]', data);
  240. //console.log(this.data.city);
  241. let url = `/pages/charging/charging?orderid=${orderid}&userId=${userId}&chargPileId=${terminalNum}`;
  242. wx.redirectTo({
  243. url
  244. });
  245. } else if (data && data.code == 501) {
  246. //开启充电失败,提示用户
  247. wx.showModal({
  248. showCancel: false,
  249. content: '余额不足,请充值!'
  250. });
  251. log.info('[扫码]', '[开始充电]', '[失败data.code=501余额不足]', data);
  252. } else if (data && data.code == 502) {
  253. //开启充电失败,提示用户
  254. wx.showModal({
  255. showCancel: false,
  256. content: data.message
  257. });
  258. log.info('[扫码]', '[开始充电]', '[失败data.code=502' + data.message + ']', data);
  259. } else {
  260. //开启充电失败,提示用户
  261. wx.showModal({
  262. showCancel: false,
  263. content: '开启充电失败'
  264. });
  265. log.info('[扫码]', '[开始充电]', '[失败]', data);
  266. }
  267. }
  268. });
  269. },
  270. /**
  271. * 生命周期函数--监听页面初次渲染完成
  272. */
  273. onReady: function () {
  274. },
  275. /**
  276. * 生命周期函数--监听页面显示
  277. */
  278. onShow: function () {
  279. },
  280. /**
  281. * 生命周期函数--监听页面隐藏
  282. */
  283. onHide: function () {
  284. },
  285. /**
  286. * 生命周期函数--监听页面卸载
  287. */
  288. onUnload: function () {
  289. },
  290. /**
  291. * 页面相关事件处理函数--监听用户下拉动作
  292. */
  293. onPullDownRefresh: function () {
  294. },
  295. /**
  296. * 页面上拉触底事件的处理函数
  297. */
  298. onReachBottom: function () {
  299. },
  300. /**
  301. * 用户点击右上角分享
  302. */
  303. onShareAppMessage: function () {
  304. }
  305. })