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.

282 lines
7.6 KiB

  1. const navigationBarHeight = (getApp().statusBarHeight + 44) + 'px';
  2. const util = require("../../../utils/util.js");
  3. const config = require("../../../config/config.js");
  4. const Http = require("../../../utils/HttpBasics");
  5. let app = getApp();
  6. const imgurl = require("../../../utils/imgurl");
  7. Page({
  8. data: {
  9. navigationBarHeight,
  10. noCoupon: imgurl.noCoupon.url,
  11. couponUrl: imgurl.coupon.url,
  12. linessUrl: imgurl.liness.url,
  13. wmhome: imgurl.wmhome.url,
  14. wmdiscount: imgurl.wmdiscount.url,
  15. loadingUrl: imgurl.loading.url,
  16. canTransferred: imgurl.canTransferred.url,
  17. weixinTitle: imgurl.weixinTitle.url,
  18. shixiao: imgurl.shixiao.url,
  19. tabs: [{
  20. key: 4,
  21. name: "使用中"
  22. },
  23. {
  24. key: "5,6,7",
  25. name: "已失效"
  26. }
  27. ],
  28. list: [],
  29. current: "4",
  30. current_scroll: "4",
  31. page: 1,
  32. allow_load: true,
  33. loading: true, //"上拉加载"的变量,默认false,隐藏
  34. content: "",
  35. mystatus: '',
  36. showPage: false,
  37. goHomeUrl: "",
  38. },
  39. goback: function () {
  40. let this_ = this
  41. wx.switchTab({
  42. url: this_.data.goHomeUrl,
  43. })
  44. },
  45. onLoad: function () {
  46. this.setData({
  47. goHomeUrl: app.globalData.goHomeUrl
  48. })
  49. let that = this;
  50. if (that.data.current_scroll == "4") {
  51. that.getList(4, 1);
  52. } else {
  53. that.getList('5,6,7', 1);
  54. }
  55. wx.setStorage({
  56. key: 'couponNum2',
  57. data: "couponNum3",
  58. })
  59. // wx.hideTabBarRedDot({
  60. // index: 3
  61. // })
  62. },
  63. userule: function () {
  64. wx.navigateTo({
  65. url: '/pages/cardorder/userule/userule',
  66. })
  67. },
  68. // 扫一扫去支付
  69. gotoPay: function (e) {
  70. app.globalData.previewFlag = true
  71. /* wx.navigateTo({
  72. url: `/pages/scanPay/scanPay`,
  73. })
  74. return */
  75. let that = this;
  76. wx.scanCode({
  77. success: (res) => {
  78. if (util.isJSON(res.result)) {
  79. let value = JSON.parse(res.result);
  80. if (value.END == 'B' && value.TYPE == 'merchant' && value.ID) {
  81. Http.get({
  82. url: config.api.findByCode,
  83. data: {
  84. merchantCode: value.ID,
  85. }
  86. })
  87. .then(res => {
  88. if (res.code == 200) {
  89. let merChantDetail = JSON.stringify(res.data);
  90. if (merChantDetail && e.currentTarget.dataset.cardid && e.currentTarget.dataset.remainingamount) {
  91. merChantDetail = encodeURIComponent(merChantDetail)
  92. wx.navigateTo({
  93. url: `/pages/scanPay/scanPay?merChant=${merChantDetail}&cardid=${e.currentTarget.dataset.cardid}&remainingAmount=${e.currentTarget.dataset.remainingamount}`,
  94. })
  95. }
  96. }
  97. })
  98. .catch(err => {
  99. console.log(err)
  100. })
  101. } else {
  102. wx.showToast({
  103. title: "未识别到商户二维码",
  104. icon: "none",
  105. mask: false
  106. })
  107. }
  108. } else {
  109. wx.showToast({
  110. title: "未识别到商户二维码",
  111. icon: "none",
  112. mask: false
  113. })
  114. }
  115. },
  116. fail: (res) => {
  117. wx.showToast({
  118. title: "未识别到商户二维码",
  119. icon: "none",
  120. mask: false
  121. })
  122. }
  123. })
  124. },
  125. // 跳转到详情
  126. gotoConsumeDetail: function (e) {
  127. console.log(e, 'e');
  128. if (e.currentTarget.dataset.id) {
  129. // wx.navigateTo({
  130. // url: `/pages/ConsumeDetail/ConsumeDetail?cardId=${e.currentTarget.dataset.id}`,
  131. // })
  132. wx.navigateTo({
  133. url: `/pages/cardorder/cardUse/cardUse?cardId=${e.currentTarget.dataset.id}&showImg=${e.currentTarget.dataset.showimg}`,
  134. })
  135. }
  136. },
  137. //点击跳转到券详情页面
  138. gotouse: function (e) {
  139. if (this.data.mystatus == '' || this.data.mystatus == 'undefined') {
  140. var mystatus = e.currentTarget.dataset.couponorderstatus;
  141. } else {
  142. var mystatus = this.data.mystatus;
  143. }
  144. if (e.currentTarget.dataset.quancode) {
  145. wx.navigateTo({
  146. url: `/pages/couponorder/detail/index?quancode=${e.currentTarget.dataset.quancode}&couponorderstatus=${mystatus}`
  147. });
  148. }
  149. },
  150. gotoBuy: function () {
  151. wx.navigateTo({
  152. url: '/pages/discountCardList/discountCardList',
  153. })
  154. },
  155. getList(key, pageNum) {
  156. var that = this;
  157. // if (that.data.allow_load) {
  158. that.setData({
  159. loading: true,
  160. content: "小主,我在玩命加载中...",
  161. });
  162. if (key == "4") {
  163. var data = {
  164. pageNum: pageNum,
  165. pageSize: 6,
  166. couponType: "100",
  167. couponOrderStatus: 4
  168. }
  169. } else if (key == '5,6,7') {
  170. var data = {
  171. pageNum: pageNum,
  172. pageSize: 6,
  173. couponType: "100",
  174. statusStr: "5,6,7"
  175. }
  176. }
  177. Http.get({
  178. url: config.api.cardorderList,
  179. data: data
  180. })
  181. .then(res => {
  182. console.log(res)
  183. if (res.code == 200) {
  184. that.setData({
  185. showPage: true
  186. })
  187. }
  188. if (res.data.list && res.data.list.length > 0) {
  189. res.data.list.map(file => {
  190. file.expiredTime = util.formatTime(file.expiredTime, "yyyy.MM.dd")
  191. if (file.couponOrderStatus == 5 || file.couponOrderStatus == 6 || file.couponOrderStatus == 7 || file.couponOrderStatus == 8) {
  192. file.background = 'rgba(179,180,181,1)';
  193. file.showImg = true;
  194. } else if (file.couponOrderStatus == 4) {
  195. if (file.remainingAmount > 0 && 29900 >= file.remainingAmount) {
  196. file.background = '#7184E2'
  197. } else if (file.remainingAmount >= 30000 && 49900 >= file.remainingAmount) {
  198. file.background = '#63AAE6'
  199. } else if (file.remainingAmount >= 50000 && 99900 >= file.remainingAmount) {
  200. file.background = '#E2A471'
  201. } else if (file.remainingAmount >= 100000) {
  202. file.background = '#E67663'
  203. }
  204. }
  205. });
  206. }
  207. setTimeout(function () {
  208. that.setData({
  209. loading: false
  210. });
  211. }, 1400);
  212. if (pageNum >= res.data.pages && pageNum != 1) {
  213. that.setData({
  214. allow_load: false
  215. });
  216. }
  217. if (pageNum == 1) {
  218. that.setData({
  219. list: []
  220. })
  221. }
  222. var tmpArr = that.data.list;
  223. tmpArr.push.apply(tmpArr, res.data.list);
  224. that.setData({
  225. list: tmpArr
  226. })
  227. })
  228. .catch(err => {
  229. wx.showModal({
  230. title: '提示',
  231. content: err.message ? err.message : err.data,
  232. showCancel: false
  233. })
  234. })
  235. // } else {
  236. // that.setData({
  237. // loading: true,
  238. // content: "——— 再拉裤子就掉了啦 ———"
  239. // });
  240. // setTimeout(function() {
  241. // that.setData({
  242. // loading: false
  243. // });
  244. // }, 1400);
  245. // }
  246. },
  247. handleChangeScroll({
  248. detail
  249. }) {
  250. this.setData({
  251. list: [],
  252. allow_load: true,
  253. current_scroll: detail.key,
  254. page: 1,
  255. });
  256. this.getList(detail.key, 1);
  257. },
  258. onShow() {
  259. const that = this;
  260. this.getList(that.data.current_scroll, that.data.page);
  261. },
  262. onReachBottom: function () {
  263. const that = this;
  264. that.data.page++;
  265. that.setData({
  266. page: that.data.page
  267. });
  268. that.getList(that.data.current_scroll, that.data.page);
  269. },
  270. /**
  271. * 页面相关事件处理函数--监听用户下拉动作
  272. */
  273. onPullDownRefresh() {
  274. const that = this;
  275. this.getList(that.data.current_scroll, that.data.page);
  276. },
  277. });