clue.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  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: "1",
  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. init(type, dataid) {
  75. if (this.data.content.dataid != dataid) {
  76. this.setData({
  77. 'content.dataid': dataid,
  78. 'content.type': type
  79. });
  80. this.getList(true);
  81. }
  82. },
  83. interrupt({
  84. detail
  85. }) {
  86. if (detail.data.label == "时间筛选") {
  87. switch (detail.item.name) {
  88. case '上月':
  89. this.selectComponent("#Yl_Filtrate1").getLastMonthRange()
  90. break;
  91. case '本日':
  92. this.selectComponent("#Yl_Filtrate1").queryDays(1)
  93. break;
  94. case '本周':
  95. this.selectComponent("#Yl_Filtrate1").getWeekRange()
  96. break;
  97. case '本月':
  98. this.selectComponent("#Yl_Filtrate1").getMonthRange()
  99. break;
  100. case '本年':
  101. this.selectComponent("#Yl_Filtrate1").getYearRange()
  102. break;
  103. }
  104. }
  105. },
  106. getList(init = false) {
  107. if (init.detail != undefined) init = init.detail;
  108. let content = JSON.parse(JSON.stringify(this.data.content));
  109. if (init) {
  110. content.pageNumber = 1;
  111. content.pageTotal = 1;
  112. }
  113. if (content.pageNumber > content.pageTotal) return;
  114. content.sort = [{
  115. sortid: content.dataType == 3 ? 208 : 207,
  116. sorted: 1,
  117. reversed: 0
  118. }]
  119. _Http.basic({
  120. "id": 20230617143104,
  121. content
  122. }).then(res => {
  123. console.log(content.dataType + "线索", res)
  124. if (this.data.content.dataType != content.dataType) return;
  125. this.selectComponent("#ListBox").setHeight(".head", this);
  126. this.selectComponent('#ListBox').RefreshToComplete();
  127. if (res.code != '1') return wx.showToast({
  128. title: res.msg,
  129. icon: "none"
  130. });
  131. content.pageNumber = res.pageNumber + 1;
  132. content.pageTotal = res.pageTotal;
  133. this.setData({
  134. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
  135. content
  136. })
  137. })
  138. },
  139. changeDataType(e) {
  140. const id = e.target.id;
  141. if (!id || this.data.content.dataType == id) return;
  142. this.setData({
  143. "content.dataType": e.target.id
  144. });
  145. this.getList(true)
  146. },
  147. openFiltrete() {
  148. this.setData({
  149. showFiltrete: true
  150. })
  151. },
  152. callphonenumber(e) {
  153. const {
  154. phonenumber
  155. } = e.currentTarget.dataset;
  156. if (!phonenumber) return;
  157. wx.makePhoneCall({
  158. phoneNumber: phonenumber
  159. })
  160. }
  161. }
  162. })