project.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. const _Http = getApp().globalData.http;
  2. Component({
  3. options: {
  4. addGlobalClass: true
  5. },
  6. data: {
  7. content: {
  8. nocache: true,
  9. type: 0,
  10. dataid: 0,
  11. pageNumber: 1,
  12. pageSize: 20,
  13. dataType: "7",
  14. dateType: '月',
  15. where: {
  16. dateType: '月',
  17. begindate: "",
  18. enddate: ""
  19. }
  20. },
  21. showFiltrete: false,
  22. filtratelist: [{
  23. label: "时间筛选",
  24. index: 2,
  25. default: 2,
  26. showName: "name", //显示字段
  27. valueKey: "dateType", //返回Key
  28. value: "value", //选中值
  29. selectKey: "value",
  30. interrupt: true,
  31. relevance: "dateRange",
  32. list: [{
  33. name: "上月",
  34. value: "上月"
  35. }, {
  36. name: "本日",
  37. value: "日",
  38. }, {
  39. name: "本周",
  40. value: "周",
  41. }, {
  42. name: "本月",
  43. value: "月",
  44. }, {
  45. name: "本年",
  46. value: "年",
  47. }]
  48. }]
  49. },
  50. lifetimes: {
  51. attached: function () {
  52. getApp().globalData.Language.getLanguagePackage(this)
  53. this.selectComponent("#Yl_Filtrate1").getMonthRange()
  54. }
  55. },
  56. methods: {
  57. handleFilter({
  58. detail
  59. }) {
  60. if (detail.name == "reset") {
  61. this.selectComponent("#Yl_Filtrate1").getMonthRange()
  62. this.setData({
  63. 'filtratelist[0].index': 2
  64. })
  65. }
  66. this.setData({
  67. "content.dateType": detail.dateType,
  68. "content.where.dateType": detail.dateType,
  69. "content.where.begindate": detail.startdate,
  70. "content.where.enddate": detail.enddate,
  71. });
  72. this.getList(true);
  73. },
  74. interrupt({
  75. detail
  76. }) {
  77. if (detail.data.label == "时间筛选") {
  78. switch (detail.item.name) {
  79. case '上月':
  80. this.selectComponent("#Yl_Filtrate1").getLastMonthRange()
  81. break;
  82. case '本日':
  83. this.selectComponent("#Yl_Filtrate1").queryDays(1)
  84. break;
  85. case '本周':
  86. this.selectComponent("#Yl_Filtrate1").getWeekRange()
  87. break;
  88. case '本月':
  89. this.selectComponent("#Yl_Filtrate1").getMonthRange()
  90. break;
  91. case '本年':
  92. this.selectComponent("#Yl_Filtrate1").getYearRange()
  93. break;
  94. }
  95. }
  96. },
  97. init(type, dataid) {
  98. console.log(this.data.filtratelist)
  99. if (this.data.content.dataid != dataid) {
  100. this.setData({
  101. 'content.dataid': dataid,
  102. 'content.type': type,
  103. list: []
  104. });
  105. this.getList(true);
  106. }
  107. },
  108. getList(init = false) {
  109. if (init.detail != undefined) init = init.detail;
  110. let content = JSON.parse(JSON.stringify(this.data.content));
  111. if (init) {
  112. content.pageNumber = 1;
  113. content.pageTotal = 1;
  114. }
  115. if (content.pageNumber > content.pageTotal) return;
  116. content.sort = [{
  117. sortid: content.dataType == 9 ? 208 : 207,
  118. sorted: 1,
  119. reversed: 0
  120. }]
  121. content.date = Date.now()
  122. _Http.basic({
  123. "id": 20230617143104,
  124. content
  125. }).then(res => {
  126. console.log(content.dataType + "项目", res)
  127. if (this.data.content.dataType != content.dataType) return;
  128. this.selectComponent("#ListBox").setHeight(".head", this);
  129. this.selectComponent('#ListBox').RefreshToComplete();
  130. if (res.code != '1') return wx.showToast({
  131. title: res.msg,
  132. icon: "none"
  133. });
  134. content.pageNumber = res.pageNumber + 1;
  135. content.pageTotal = res.pageTotal;
  136. this.setData({
  137. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
  138. content
  139. })
  140. })
  141. },
  142. changeDataType(e) {
  143. const id = e.target.id;
  144. if (!id || this.data.content.dataType == id) return;
  145. this.setData({
  146. "content.dataType": e.target.id,
  147. list: []
  148. });
  149. this.getList(true)
  150. },
  151. openFiltrete() {
  152. this.setData({
  153. showFiltrete: true
  154. })
  155. }
  156. }
  157. })