index.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. const content = {
  2. pageNumber: 1,
  3. pageTotal: 1,
  4. where: {
  5. condition: "",
  6. itemclassid: "",
  7. tradefield: ""
  8. }
  9. },
  10. _Http = getApp().globalData.http;
  11. let sa_brandid = null,
  12. downCount = null;
  13. Component({
  14. options: {
  15. addGlobalClass: true
  16. },
  17. data: {
  18. CustomBar: getApp().globalData.CustomBar,
  19. typeList: [],
  20. filtratelist: [{
  21. label: "领域",
  22. index: 0,
  23. showName: "tradefield", //显示字段
  24. valueKey: "tradefield", //返回Key
  25. selectKey: "tradefield", //传参 代表选着字段 不传参返回整个选择对象
  26. value: "", //选中值
  27. list: [{
  28. rowindex: 0,
  29. subvalues: [],
  30. sys_enterprise_tradefieldid: 0,
  31. tradefield: "全部"
  32. }]
  33. }, {
  34. label: "营销分类",
  35. index: 0,
  36. type: "multilevelClass",
  37. showName: "itemclassname", //显示字段
  38. valueKey: "itemclassid", //返回Key
  39. selectKey: "itemclassid", //传参 代表选着字段 不传参返回整个选择对象
  40. value: "", //选中值
  41. list: []
  42. }]
  43. },
  44. methods: {
  45. init() {
  46. this.getBrand();
  47. this.getTradefie();
  48. getApp().globalData.setTemporaryId = this.handleFiltrate.bind(this)
  49. },
  50. showModal(e) {
  51. this.setData({
  52. modalName: e.currentTarget.dataset.target
  53. })
  54. },
  55. hideModal(e) {
  56. this.setData({
  57. modalName: null
  58. })
  59. },
  60. /* 获取品牌 */
  61. getBrand() {
  62. _Http.basic({
  63. "id": 20220924163702,
  64. content: {
  65. nocache: true,
  66. pageSize: 999,
  67. }
  68. }).then(res => {
  69. console.log("查询品牌", res)
  70. if (res.msg != '成功') return wx.showToast({
  71. title: res.msg,
  72. icon: "none"
  73. });
  74. if (res.data.length != 0) {
  75. sa_brandid = res.data[0].sa_brandid;
  76. this.getTypeList();
  77. } else {
  78. wx.showToast({
  79. title: '未查询到授权品牌',
  80. icon: "none"
  81. })
  82. }
  83. })
  84. },
  85. /* 获取分类 */
  86. getTypeList() {
  87. _Http.basic({
  88. "id": "20220922110403",
  89. pageSize: 1000,
  90. content: {
  91. nocache: true,
  92. sa_brandid: sa_brandid,
  93. where: {
  94. istool: 0,
  95. }
  96. }
  97. }).then(res => {
  98. console.log("营销类别", res)
  99. if (res.data[0].ttemclass) {
  100. res.data[0].ttemclass.unshift({
  101. itemclassid: "",
  102. itemclassfullname: "全部",
  103. itemclassname: "全部",
  104. subdep: []
  105. })
  106. this.setData({
  107. ['filtratelist[1].list']: res.data[0].ttemclass
  108. });
  109. }
  110. this.getList(true);
  111. })
  112. },
  113. /* 获取产品 */
  114. getList(init = false) {
  115. if (init.detail != undefined) init = init.detail;
  116. if (init) content.pageNumber = 1;
  117. if (content.pageNumber > content.pageTotal) return;
  118. content.brandids = [sa_brandid];
  119. _Http.basic({
  120. "id": 20220926142203,
  121. content
  122. }).then(res => {
  123. console.log("商品列表", res)
  124. this.selectComponent('#ListBox').RefreshToComplete();
  125. content.pageNumber = res.pageNumber + 1;
  126. content.pageTotal = res.pageTotal;
  127. this.setData({
  128. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data)
  129. })
  130. this.setListHeight()
  131. })
  132. },
  133. /* 开始搜索 */
  134. onSearch({
  135. detail
  136. }) {
  137. content.where.condition = detail;
  138. this.getList(true)
  139. },
  140. /* 获取领域 */
  141. getTradefie() {
  142. _Http.basic({
  143. "id": 20221223141802,
  144. content: {
  145. nocache: true,
  146. pageNumber: 1,
  147. pageSize: 9999,
  148. where: {
  149. condition: ""
  150. }
  151. }
  152. }, false).then(res => {
  153. console.log("获取领域", res)
  154. if (res.msg == '成功') {
  155. res.data.unshift({
  156. rowindex: 0,
  157. subvalues: [],
  158. sys_enterprise_tradefieldid: 0,
  159. tradefield: "全部"
  160. })
  161. this.setData({
  162. 'filtratelist[0].list': res.data
  163. });
  164. }
  165. })
  166. },
  167. /* 设置页面高度 */
  168. setListHeight() {
  169. this.selectComponent("#ListBox").setHeight(".division", this);
  170. },
  171. handleFiltrate({
  172. detail
  173. }) {
  174. clearTimeout(downCount);
  175. if (detail.tradefield) content.where.tradefield = detail.tradefield == '全部' ? "" : detail.tradefield;
  176. content.where.itemclassid = detail.temporaryId || detail.temporaryId == '' ? detail.temporaryId : content.where.itemclassid;
  177. downCount = setTimeout(() => {
  178. this.getList(true);
  179. }, 300);
  180. }
  181. }
  182. })