bills.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  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: "10",
  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. if (this.data.content.dataid != dataid) {
  99. this.setData({
  100. 'content.dataid': dataid,
  101. 'content.type': type,
  102. list: []
  103. });
  104. this.getList(true);
  105. }
  106. },
  107. getList(init = false) {
  108. if (init.detail != undefined) init = init.detail;
  109. let content = JSON.parse(JSON.stringify(this.data.content));
  110. if (init) {
  111. content.pageNumber = 1;
  112. content.pageTotal = 1;
  113. }
  114. if (content.pageNumber > content.pageTotal) return;
  115. content.sort = [{
  116. sortid: 208,
  117. sorted: 1,
  118. reversed: 0
  119. }]
  120. _Http.basic({
  121. "id": 20230617143104,
  122. content
  123. }).then(res => {
  124. console.log(content.dataType + "项目", res)
  125. if (this.data.content.dataType != content.dataType) return;
  126. this.selectComponent("#ListBox").setHeight(".head", this);
  127. this.selectComponent('#ListBox').RefreshToComplete();
  128. if (res.code != '1') return wx.showToast({
  129. title: res.msg,
  130. icon: "none"
  131. });
  132. content.pageNumber = res.pageNumber + 1;
  133. content.pageTotal = res.pageTotal;
  134. this.setData({
  135. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
  136. content
  137. })
  138. })
  139. },
  140. changeDataType(e) {
  141. const id = e.target.id;
  142. if (!id || this.data.content.dataType == id) return;
  143. this.setData({
  144. "content.dataType": e.target.id,
  145. list: []
  146. });
  147. this.getList(true)
  148. },
  149. openFiltrete() {
  150. this.setData({
  151. showFiltrete: true
  152. })
  153. },
  154. callphonenumber(e) {
  155. const {
  156. phonenumber
  157. } = e.currentTarget.dataset;
  158. if (!phonenumber) return;
  159. wx.makePhoneCall({
  160. phoneNumber: phonenumber
  161. })
  162. }
  163. }
  164. })