index.js 5.1 KB

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