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.

292 lines
7.9 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. if (e.currentTarget.dataset.id) {
  128. // wx.navigateTo({
  129. // url: `/pages/ConsumeDetail/ConsumeDetail?cardId=${e.currentTarget.dataset.id}`,
  130. // })
  131. wx.navigateTo({
  132. url: `/pages/cardorder/cardUse/cardUse?cardId=${e.currentTarget.dataset.id}`,
  133. })
  134. }
  135. },
  136. gotoConsumeDetailII: function (e) {
  137. console.log(e, 'e');
  138. if (e.currentTarget.dataset.id) {
  139. // wx.navigateTo({
  140. // url: `/pages/ConsumeDetail/ConsumeDetail?cardId=${e.currentTarget.dataset.id}`,
  141. // })
  142. wx.navigateTo({
  143. url: `/pages/ConsumeDetail/ConsumeDetail?cardId=${e.currentTarget.dataset.id}`,
  144. })
  145. }
  146. },
  147. //点击跳转到券详情页面
  148. gotouse: function (e) {
  149. if (this.data.mystatus == '' || this.data.mystatus == 'undefined') {
  150. var mystatus = e.currentTarget.dataset.couponorderstatus;
  151. } else {
  152. var mystatus = this.data.mystatus;
  153. }
  154. if (e.currentTarget.dataset.quancode) {
  155. wx.navigateTo({
  156. url: `/pages/couponorder/detail/index?quancode=${e.currentTarget.dataset.quancode}&couponorderstatus=${mystatus}`
  157. });
  158. }
  159. },
  160. gotoBuy: function () {
  161. wx.navigateTo({
  162. url: '/pages/discountCardList/discountCardList',
  163. })
  164. },
  165. getList(key, pageNum) {
  166. var that = this;
  167. // if (that.data.allow_load) {
  168. that.setData({
  169. loading: true,
  170. content: "小主,我在玩命加载中...",
  171. });
  172. if (key == "4") {
  173. var data = {
  174. pageNum: pageNum,
  175. pageSize: 6,
  176. couponType: "100",
  177. couponOrderStatus: 4
  178. }
  179. } else if (key == '5,6,7') {
  180. var data = {
  181. pageNum: pageNum,
  182. pageSize: 6,
  183. couponType: "100",
  184. statusStr: "5,6,7"
  185. }
  186. }
  187. Http.get({
  188. url: config.api.cardorderList,
  189. data: data
  190. })
  191. .then(res => {
  192. console.log(res)
  193. if (res.code == 200) {
  194. that.setData({
  195. showPage: true
  196. })
  197. }
  198. if (res.data.list && res.data.list.length > 0) {
  199. res.data.list.map(file => {
  200. file.expiredTime = util.formatTime(file.expiredTime, "yyyy.MM.dd")
  201. if (file.couponOrderStatus == 5 || file.couponOrderStatus == 6 || file.couponOrderStatus == 7 || file.couponOrderStatus == 8) {
  202. file.background = 'rgba(179,180,181,1)';
  203. file.showImg = true;
  204. } else if (file.couponOrderStatus == 4) {
  205. if (file.remainingAmount > 0 && 29900 >= file.remainingAmount) {
  206. file.background = '#7184E2'
  207. } else if (file.remainingAmount >= 30000 && 49900 >= file.remainingAmount) {
  208. file.background = '#63AAE6'
  209. } else if (file.remainingAmount >= 50000 && 99900 >= file.remainingAmount) {
  210. file.background = '#E2A471'
  211. } else if (file.remainingAmount >= 100000) {
  212. file.background = '#E67663'
  213. }
  214. }
  215. });
  216. }
  217. setTimeout(function () {
  218. that.setData({
  219. loading: false
  220. });
  221. }, 1400);
  222. if (pageNum >= res.data.pages && pageNum != 1) {
  223. that.setData({
  224. allow_load: false
  225. });
  226. }
  227. if (pageNum == 1) {
  228. that.setData({
  229. list: []
  230. })
  231. }
  232. var tmpArr = that.data.list;
  233. tmpArr.push.apply(tmpArr, res.data.list);
  234. that.setData({
  235. list: tmpArr
  236. })
  237. })
  238. .catch(err => {
  239. wx.showModal({
  240. title: '提示',
  241. content: err.message ? err.message : err.data,
  242. showCancel: false
  243. })
  244. })
  245. // } else {
  246. // that.setData({
  247. // loading: true,
  248. // content: "——— 再拉裤子就掉了啦 ———"
  249. // });
  250. // setTimeout(function() {
  251. // that.setData({
  252. // loading: false
  253. // });
  254. // }, 1400);
  255. // }
  256. },
  257. handleChangeScroll({
  258. detail
  259. }) {
  260. this.setData({
  261. list: [],
  262. allow_load: true,
  263. current_scroll: detail.key,
  264. page: 1,
  265. });
  266. this.getList(detail.key, 1);
  267. },
  268. onShow() {
  269. const that = this;
  270. this.getList(that.data.current_scroll, that.data.page);
  271. },
  272. onReachBottom: function () {
  273. const that = this;
  274. that.data.page++;
  275. that.setData({
  276. page: that.data.page
  277. });
  278. that.getList(that.data.current_scroll, that.data.page);
  279. },
  280. /**
  281. * 页面相关事件处理函数--监听用户下拉动作
  282. */
  283. onPullDownRefresh() {
  284. const that = this;
  285. this.getList(that.data.current_scroll, that.data.page);
  286. },
  287. });