scan_result.js 9.8 KB

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