C端小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

388 lines
9.1 KiB

  1. // pages/passCar/passCar.js
  2. let config = require("../../config/config.js");
  3. let Http = require("../../utils/HttpBasics");
  4. const app = getApp();
  5. Page({
  6. data: {
  7. park: null,
  8. carList: [],
  9. payList: [],
  10. addCar: null,
  11. tcq: 2,
  12. flag: "",
  13. extraData: {},
  14. desc:'',
  15. title:'',
  16. indicatorDots: true,
  17. autoplay: false,
  18. interval: 5000,
  19. duration: 1000,
  20. current: 0,
  21. list:[]
  22. },
  23. /**
  24. * 轮播图
  25. */
  26. onSlideChangeEnd: function (e) {
  27. var that = this;
  28. console.log(e);
  29. console.log(e.detail.current);
  30. var listCardNum = (that.data.list)[e.detail.current].memberKeyword;
  31. console.log(listCardNum);
  32. that.setData({
  33. listCardNum: listCardNum
  34. })
  35. console.log(that.data.listCardNum);
  36. },
  37. gotomange:function(){
  38. wx.navigateTo({
  39. url: '/pages/managelicenseplate/managelicenseplate',
  40. })
  41. },
  42. /*车牌动态样式 */
  43. changeStyle: function() {
  44. var height = this.data.dataHeight == "150rpx" ? "80rpx" : "150rpx";
  45. var lineHeight = this.data.dataHeight == "150rpx" ? "80rpx" : "150rpx";
  46. var fontWeight = this.data.fontWeight == "600" ? "500" : "600";
  47. this.setData({
  48. dataHeight: height,
  49. dataLineHeight: lineHeight,
  50. dataFontWeight: fontWeight
  51. });
  52. },
  53. onLoad: function(options) {
  54. var that = this;
  55. that.getList();
  56. Http.get({
  57. url: config.api.getWeapNote,
  58. data: {
  59. appId: config.weapp.AppId,
  60. }
  61. })
  62. .then(res => {
  63. console.log(res.data.weapNote);
  64. let weapNote = JSON.parse(res.data.weapNote);
  65. console.log(weapNote.carpage);
  66. that.setData({
  67. desc: weapNote.carpage.desc,
  68. title: weapNote.carpage.title
  69. })
  70. })
  71. },
  72. onShow: function(options) {
  73. var that = this;
  74. console.log("车牌号");
  75. if (that.data.addCar) {
  76. // 绑车牌
  77. if (app.globalData.carLogin) {
  78. that.bindCar(that.data.addCar);
  79. } else {
  80. that.bindCar(that.data.addCar);
  81. }
  82. that.setData({
  83. addCar: null
  84. });
  85. }
  86. },
  87. //我的停车券的显示与消失
  88. showquan: function() {
  89. let that = this;
  90. if (that.data.tcq == 1) {
  91. that.setData({
  92. tcq: 2
  93. });
  94. } else if (that.data.tcq == 2) {
  95. that.setData({
  96. tcq: 1
  97. });
  98. }
  99. },
  100. jumpToAdd: function() {
  101. wx.navigateTo({
  102. url: "/pages/addPark/addPark"
  103. });
  104. },
  105. passc: function() {
  106. wx.navigateTo({
  107. url: '/pages/ques/ques',
  108. })
  109. },
  110. //券绑定车牌
  111. bindCoupon: function(e) {
  112. var that = this;
  113. if (that.data.couponList.length > 0) {
  114. console.log("00000000000000");
  115. console.log(e.currentTarget.dataset.checkbind);
  116. /**
  117. * 如果1 已经绑定
  118. * 0 没有绑定
  119. */
  120. for (let car of that.data.carList) {
  121. if (car.stopFee.parkingFee) {
  122. that.data.payList.push(car);
  123. }
  124. }
  125. var etcpData = {
  126. etcpToken: app.globalData.etcpToken,
  127. carNumber: that.data.payList[0].carNumber
  128. ? that.data.payList[0].carNumber
  129. : "",
  130. couponOrderId: that.data.couponList[0].id
  131. };
  132. console.log(etcpData);
  133. // 停简单
  134. var tjdData = {
  135. carNumber: that.data.payList[0].carNumber
  136. };
  137. var postCouponData = app.globalData.parkVendor == 1 ? etcpData : tjdData;
  138. Http.post({
  139. url: config.api.getCarCoupon,
  140. data: postCouponData
  141. })
  142. .then(res => {
  143. that.setData({
  144. flag: "1"
  145. });
  146. // that.initUsrCarList()
  147. wx.showModal({
  148. title: "提示",
  149. showCancel: false,
  150. content: "车牌绑定优免券成功!",
  151. success: function(res) {}
  152. });
  153. })
  154. .catch(error => {
  155. console.log(error);
  156. if (error.code == 2056) {
  157. that.setData({
  158. flags: "alreadybind"
  159. });
  160. }
  161. });
  162. } else {
  163. console.log("1111111111111111111");
  164. that.setData({
  165. flags: "alreadybind"
  166. });
  167. console.log(that.data.flags);
  168. }
  169. },
  170. //获取名下停车券列表
  171. getList() {
  172. var that = this;
  173. Http.get({
  174. url: config.api.couponOrderCarList + "?type=5&couponOrderStatus=0",
  175. data: {
  176. pageNum: 1,
  177. pageSize: 8,
  178. couponOrderStatus: 0
  179. }
  180. }).then(res => {
  181. that.init();
  182. that.setData({
  183. couponList: res.data.list
  184. });
  185. setTimeout(function() {
  186. wx.hideLoading();
  187. }, 1200);
  188. });
  189. },
  190. bindCar: function(carNum) {
  191. var that = this;
  192. // ETCP
  193. var etcpData = {
  194. etcpToken: app.globalData.etcpToken,
  195. carNumber: carNum
  196. };
  197. var tjdData = {
  198. carNumber: carNum
  199. };
  200. var postData = app.globalData.parkVendor == 1 ? etcpData : tjdData;
  201. Http.post({
  202. url: config.api.bindCar,
  203. data: postData
  204. })
  205. .then(res => {
  206. console.log(res);
  207. that.setData({
  208. addCar: null
  209. });
  210. that.initUsrCarList();
  211. wx.showModal({
  212. title: "提示",
  213. showCancel: false,
  214. content: "绑车牌成功!",
  215. success: function() {}
  216. });
  217. })
  218. .catch(error => {
  219. console.log(error);
  220. wx.showModal({
  221. title: "提示",
  222. showCancel: false,
  223. content: error.data.message,
  224. success: function() {}
  225. });
  226. });
  227. },
  228. unbindCar: function(carNum) {
  229. var that = this;
  230. var postData =
  231. app.globalData.parkVendor == 1
  232. ? {
  233. etcpToken: app.globalData.etcpToken,
  234. carNumber: carNum
  235. }
  236. : {
  237. carNumber: carNum
  238. };
  239. Http.post({
  240. url: config.api.unbindCar,
  241. data: postData
  242. })
  243. .then(res => {
  244. console.log(res);
  245. that.initUsrCarList();
  246. wx.showModal({
  247. title: "提示",
  248. showCancel: false,
  249. content: "解绑车牌成功!",
  250. success: function() {}
  251. });
  252. })
  253. .catch(error => {
  254. wx.showModal({
  255. title: "提示",
  256. showCancel: false,
  257. content: "解绑车牌失败!",
  258. success: function() {}
  259. });
  260. });
  261. },
  262. unbindCarBtn: function(e) {
  263. console.log(e);
  264. var that = this;
  265. var carNum = e.currentTarget.dataset.car;
  266. that.unbindCar(carNum);
  267. },
  268. getStopFeeItem: function(carItem, i) {
  269. var that = this;
  270. var postData =
  271. app.globalData.parkVendor == 1
  272. ? {
  273. etcpToken: app.globalData.etcpToken,
  274. carNumber: carItem.carNumber
  275. }
  276. : {
  277. carNumber: carItem.carNumber,
  278. outCarId: carItem.outCarId
  279. };
  280. var stopFee = "carList[" + i + "].stopFee";
  281. var extraData = "carList[" + i + "].extraData";
  282. console.log(extraData);
  283. var extraDataStr = { params: { CarNumber: carItem.carNumber } };
  284. that.setData({
  285. extraData: extraDataStr
  286. });
  287. Http.post({
  288. url: config.api.getCarStopFee,
  289. data: postData
  290. })
  291. .then(res => {
  292. /**
  293. * 停车费用
  294. */
  295. that.setData({
  296. [stopFee]: res.data,
  297. [extraData]: extraDataStr,
  298. buttonBox: res.data.parkingFee
  299. }),
  300. console.log("res>>>" + JSON.stringify(that.data.buttonBox));
  301. })
  302. .catch(error => {
  303. console.log(error);
  304. });
  305. },
  306. getStopFee: function() {
  307. var that = this;
  308. // carLogin
  309. for (var i = 0; i < that.data.carList.length; i++) {
  310. that.getStopFeeItem(that.data.carList[i], i);
  311. }
  312. // console.log(JSON.stringify(getStopFeeItem))
  313. },
  314. initPark: function() {
  315. var that = this;
  316. // 车场信息获取
  317. Http.get({
  318. url: config.api.getParkInfo,
  319. data: {}
  320. }).then(res => {
  321. that.setData({
  322. park: res.data
  323. });
  324. });
  325. },
  326. initUsrCarList: function() {
  327. var that = this;
  328. // 绑定车获取
  329. Http.get({
  330. url: config.api.getUserCarList,
  331. data: {}
  332. }).then(res => {
  333. that.setData({
  334. carList: res.data
  335. });
  336. console.log("aaaa" + JSON.stringify(that.data.carList));
  337. });
  338. },
  339. init: function() {
  340. var that = this;
  341. app.parkInitCallback = token => {
  342. that.initPark();
  343. that.initUsrCarList();
  344. if (!app.globalData.carLogin) {
  345. // 共同登录
  346. Http.post({
  347. url: config.api.carInit,
  348. data: {
  349. phone: app.globalData.phone
  350. }
  351. }).then(res => {
  352. app.globalData.carLogin = true;
  353. app.globalData.parkVendor = res.data.vendor;
  354. if (res.data.token != "undefined") {
  355. app.globalData.etcpToken = res.data.token;
  356. console.log("etcpToken", app.globalData.etcpToken);
  357. }
  358. // 获取 停车费
  359. that.getStopFee();
  360. });
  361. }
  362. };
  363. if (app.globalData.token && app.globalData.token != null) {
  364. app.parkInitCallback(app.globalData.token);
  365. }
  366. },
  367. // 用户点击右上角分享
  368. onShareAppMessage: function () {
  369. return {
  370. title: this.data.title,
  371. desc: this.data.desc,
  372. success: function (res) {
  373. wx.showToast({
  374. title: "分享成功",
  375. duration: 1000,
  376. icon: "success"
  377. });
  378. }
  379. }}
  380. });