index.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. const _Http = getApp().globalData.http,
  2. getHeight = require("../../utils/getRheRemainingHeight");
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. insert: getApp().globalData.auth.wcompetitor.options.some(v => v == 'insert'), //查询新增权限
  9. navList: [{
  10. label: "排序",
  11. icon: "icon-shengxu",
  12. color: "",
  13. width: "",
  14. id: "sort"
  15. }, {
  16. label: "筛选",
  17. icon: "icon-shaixuan",
  18. color: "",
  19. width: "",
  20. id: "2"
  21. }],
  22. content: {
  23. "nocache": true,
  24. "pageNumber": 1,
  25. "pageTotal": 1,
  26. "pageSize": 20,
  27. "isExport": 0,
  28. "where": {
  29. "startdate": "",
  30. "enddate": "",
  31. },
  32. "sort": []
  33. },
  34. filter: {
  35. show: false,
  36. startdate: "",
  37. enddate: ""
  38. }
  39. },
  40. onLoad(options) {
  41. this.getList();
  42. },
  43. /* 获取列表 */
  44. getList(init = false, data) {
  45. if (init.detail != undefined) init = init.detail;
  46. let content = this.data.content;
  47. if (init) content.pageNumber = 1;
  48. if (content.pageNumber > content.pageTotal) return;
  49. if (data) {
  50. content.where.startdate = data.startdate;
  51. content.where.enddate = data.enddate;
  52. }
  53. _Http.basic({
  54. "id": 20221018164302,
  55. content
  56. }).then(res => {
  57. console.log("竞争对手列表", res)
  58. this.selectComponent('#ListBox').RefreshToComplete();
  59. if (res.msg != '成功') return wx.showToast({
  60. title: res.data,
  61. icon: "none"
  62. })
  63. this.setData({
  64. 'content.pageNumber': res.pageNumber + 1,
  65. 'content.pageTotal': res.pageTotal,
  66. 'content.total': res.total,
  67. 'content.sort': res.sort,
  68. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data)
  69. });
  70. this.setListHeight();
  71. this.getTags();
  72. })
  73. },
  74. /* 处理搜索 */
  75. onSearch({
  76. detail
  77. }) {
  78. this.setData({
  79. "content.where.condition": detail
  80. });
  81. this.getList(true);
  82. },
  83. /* 获取列表标签 */
  84. getTags() {
  85. let list = this.data.list,
  86. ownerids = list.map(v => v.sa_competitorid);
  87. _Http.basic({
  88. "id": 20221018102001,
  89. "content": {
  90. nocache: true,
  91. "ownertable": "sa_competitor",
  92. ownerids
  93. }
  94. }).then(res => {
  95. console.log("标签", res)
  96. for (let key in res.data) {
  97. let index = list.findIndex(v => v.sa_competitorid == key);
  98. list[index].tags = res.data[key]
  99. };
  100. this.setData({
  101. list
  102. })
  103. })
  104. },
  105. onReady() {
  106. this.setListHeight();
  107. },
  108. /* 筛选日期范围 */
  109. changeDate(e) {
  110. const name = e.currentTarget.dataset.name,
  111. value = e.detail.value;
  112. this.setData({
  113. [`filter.${name}`]: value
  114. })
  115. },
  116. setListHeight() {
  117. getHeight.getHeight('.total', this).then(res => {
  118. if (this.data.listHeight != res)
  119. this.setData({
  120. listHeight: res
  121. })
  122. });
  123. },
  124. /* 顶部条件导航回调 */
  125. navClick({
  126. detail
  127. }) {
  128. switch (detail.id) {
  129. case '1':
  130. this.setData({
  131. classShow: true
  132. })
  133. break;
  134. case '2':
  135. this.setData({
  136. 'filter.show': true
  137. })
  138. break;
  139. }
  140. },
  141. /* 筛选状态选择 */
  142. selectStatus(e) {
  143. const {
  144. item
  145. } = e.currentTarget.dataset;
  146. this.setData({
  147. "filter.statusActive": this.data.filter.statusActive == item ? "" : item
  148. })
  149. },
  150. /* 筛选状态选择 */
  151. typeStatus(e) {
  152. const {
  153. item
  154. } = e.currentTarget.dataset;
  155. this.setData({
  156. "filter.typeActive": this.data.filter.typeActive == item ? "" : item
  157. })
  158. },
  159. /* 处理筛选 */
  160. handleFilter({
  161. detail
  162. }) {
  163. const data = this.data.filter;
  164. if (data.typeActive) data.typeActive = data.typeActive == '普通报价' ? 0 : 1;
  165. switch (detail) {
  166. case 'confirm':
  167. this.setData({
  168. 'filter.show': false
  169. });
  170. this.getList(true, data);
  171. break;
  172. case 'reset':
  173. this.setData({
  174. 'filter.statusActive': "",
  175. 'filter.typeActive': "",
  176. 'filter.startdate': "",
  177. 'filter.enddate': "",
  178. });
  179. this.getList(true, this.data.filter)
  180. break;
  181. case 'close':
  182. this.setData({
  183. 'filter.show': false
  184. });
  185. break;
  186. }
  187. },
  188. addOpponent() {
  189. wx.navigateTo({
  190. url: './add'
  191. })
  192. },
  193. onShareAppMessage() {
  194. }
  195. })