index.ts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. // pages/channelRanking/index.ts
  2. const chartCatch: antvChart = {
  3. toufangfenxiChart: undefined
  4. }
  5. let { getChannelRank } = require('../../utils/api')
  6. Page({
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. array: [
  12. {
  13. key: "fee",
  14. name: "费用",
  15. unit: "元",
  16. type: 1,
  17. },
  18. {
  19. key: "timeSize",
  20. name: "时长",
  21. unit: "分",
  22. type: 2,
  23. },
  24. {
  25. key: "pinci",
  26. name: "频次",
  27. unit: "次",
  28. type: 3,
  29. }
  30. ],
  31. list: [],
  32. array_act: 0,
  33. showCalendar: false,
  34. start: "",
  35. end: '',
  36. startDate: new Date(2022, 0, 1).getTime(),
  37. endDate: 0,
  38. },
  39. formmater(date: any): string[] {
  40. const d = new Date(date);
  41. let month: string | number = d.getMonth() + 1;
  42. let day: string | number = d.getDate();
  43. month > 9 ? "" : month = '0' + month;
  44. day > 9 ? "" : day = '0' + day;
  45. return [
  46. d.getFullYear().toString(),
  47. month.toString(),
  48. day.toString()
  49. ]
  50. },
  51. confirm(e: any) {
  52. const start: string = this.formmater(e.detail[0]).join('-');
  53. const end: string = this.formmater(e.detail[1]).join('-');
  54. this.setData({
  55. start,
  56. end,
  57. showCalendar: false
  58. }, () => this.getselect())
  59. },
  60. onClose() {
  61. this.setData({
  62. showCalendar: false
  63. })
  64. },
  65. timeSelect() {
  66. this.setData({
  67. showCalendar: true
  68. })
  69. },
  70. bindPickerChange(e: any) {
  71. this.setData({
  72. array_act: e.detail.value
  73. }, () => this.getselect())
  74. },
  75. getselect() {
  76. let s = new Date(this.data.start + ' 00:00:00'), e = new Date(this.data.end + ' 23:59:59');
  77. if (e.getTime() - s.getTime() < 0) return wx.showToast({
  78. title: "时间选择错误",
  79. icon: "none"
  80. })
  81. const p: any = {
  82. start: this.data.start,
  83. end: this.data.end,
  84. dataType: this.data.array[this.data.array_act].type
  85. }
  86. getChannelRank(p).then((res: any) => {
  87. p.list = (res || [])
  88. p.height = (res || []).length < 2 ? 20 : (res || []).length * 5;
  89. this.setData(p)
  90. })
  91. return
  92. },
  93. /**
  94. * 生命周期函数--监听页面加载
  95. */
  96. onLoad() {
  97. const nowDate = new Date();
  98. const nTime = nowDate.getTime();
  99. const date = new Date(nTime - 86400000);
  100. let month: string | number = date.getMonth() + 1;
  101. let day: string | number = date.getDate();
  102. month > 9 ? "" : month = '0' + month;
  103. day > 9 ? "" : day = '0' + day;
  104. let start = [date.getFullYear(), month, day].join("-");
  105. let end = [date.getFullYear(), month, day].join("-");
  106. let dataType = this.data.array[this.data.array_act].type;
  107. getChannelRank({
  108. start,
  109. end,
  110. dataType
  111. }).then((res: any) => {
  112. this.setData({
  113. endDate: nTime,
  114. list: res || [],
  115. start,
  116. end,
  117. dataType
  118. })
  119. })
  120. },
  121. /**
  122. * 生命周期函数--监听页面初次渲染完成
  123. */
  124. onReady() {
  125. },
  126. /**
  127. * 生命周期函数--监听页面显示
  128. */
  129. onShow() {
  130. /**
  131. * 生命周期函数--监听页面隐藏
  132. */
  133. },
  134. onHide() {
  135. },
  136. /**
  137. * 生命周期函数--监听页面卸载
  138. */
  139. onUnload() {
  140. },
  141. /**
  142. * 页面相关事件处理函数--监听用户下拉动作
  143. */
  144. onPullDownRefresh() {
  145. },
  146. /**
  147. * 页面上拉触底事件的处理函数
  148. */
  149. onReachBottom() {
  150. },
  151. /**
  152. * 用户点击右上角分享
  153. */
  154. onShareAppMessage() {
  155. }
  156. })