index.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. const _Http = getApp().globalData.http;
  2. Page({
  3. data: {
  4. navList: [{
  5. label: "全部",
  6. icon: "icon-webxialaxuanxiangjiantou",
  7. color: "",
  8. width: "",
  9. id: "1"
  10. }, {
  11. label: "排序",
  12. icon: "icon-jiangxu1",
  13. color: "",
  14. width: "",
  15. id: "sort"
  16. }, {
  17. label: "筛选",
  18. icon: "icon-shaixuan",
  19. color: "",
  20. width: "",
  21. id: "2"
  22. }],
  23. content: {
  24. "nocache": true,
  25. "pageNumber": 1,
  26. "pageTotal": 1,
  27. "pageSize": 20,
  28. isExport: false,
  29. "where": {
  30. "startdate": "",
  31. "enddate": "",
  32. sa_customerpoolid: ""
  33. },
  34. "sort": []
  35. },
  36. filter: {
  37. show: false,
  38. startdate: "",
  39. enddate: ""
  40. }
  41. },
  42. onLoad(options) {
  43. this.setData({
  44. insert: wx.getStorageSync('auth').wPublicCustomer.options.some(v => v == 'insert'), //查询新增权限
  45. })
  46. this.getList();
  47. this.getType();
  48. },
  49. /* 获取列表 */
  50. getList(init = false, data) {
  51. if (init.detail != undefined) init = init.detail;
  52. let content = this.data.content;
  53. if (init) content.pageNumber = 1;
  54. if (content.pageNumber > content.pageTotal) return;
  55. if (data) {
  56. content.where.startdate = data.startdate;
  57. content.where.enddate = data.enddate;
  58. }
  59. _Http.basic({
  60. "id": 20221011133602,
  61. content
  62. }).then(res => {
  63. console.log("公海客户列表", res)
  64. this.selectComponent('#ListBox').RefreshToComplete();
  65. if (res.msg != '成功') return wx.showToast({
  66. title: res.data,
  67. icon: "none"
  68. })
  69. this.setData({
  70. 'content.pageNumber': res.pageNumber + 1,
  71. 'content.pageTotal': res.pageTotal,
  72. 'content.total': res.total,
  73. 'content.sort': res.sort,
  74. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data)
  75. });
  76. this.setListHeight();
  77. this.getTags();
  78. })
  79. },
  80. /* 处理搜索 */
  81. onSearch({
  82. detail
  83. }) {
  84. this.setData({
  85. "content.where.condition": detail
  86. });
  87. this.getList(true);
  88. },
  89. /* 获取列表标签 */
  90. getTags() {
  91. let list = this.data.list,
  92. ownerids = list.map(v => v.sa_customerpoolid);
  93. _Http.basic({
  94. "id": 20221018102001,
  95. "content": {
  96. nocache: true,
  97. "ownertable": "sa_customerpool",
  98. ownerids
  99. }
  100. }).then(res => {
  101. console.log("标签", res)
  102. for (let key in res.data) {
  103. let index = list.findIndex(v => v.sa_customerpoolid == key);
  104. list[index].tags = res.data[key]
  105. };
  106. this.setData({
  107. list
  108. })
  109. })
  110. },
  111. onReady() {
  112. this.setListHeight();
  113. },
  114. setListHeight() {
  115. this.selectComponent("#ListBox").setHeight(".total", this);
  116. },
  117. /* 获取公海池列表 */
  118. getType() {
  119. _Http.basic({
  120. "classname": "sysmanage.develop.optiontype.optiontype",
  121. "method": "optiontypeselect",
  122. "content": {
  123. "pageNumber": 1,
  124. "pageSize": 1000,
  125. "typename": "customerpoolname",
  126. "parameter": {}
  127. },
  128. }, false).then(res => {
  129. console.log("公海池列表", res)
  130. let classList = res.data.map(v => {
  131. return {
  132. name: v.poolname,
  133. sa_customerpoolid: v.sa_customerpoolid
  134. }
  135. });
  136. classList.unshift({
  137. name: '全部',
  138. sa_customerpoolid: ""
  139. })
  140. this.setData({
  141. classList
  142. })
  143. })
  144. },
  145. classCancel() {
  146. this.setData({
  147. classShow: false
  148. })
  149. },
  150. classSelect({
  151. detail
  152. }) {
  153. this.setData({
  154. classShow: false,
  155. "content.where.sa_customerpoolid": detail.sa_customerpoolid,
  156. "navList[0].label": detail.name
  157. });
  158. this.getList(true)
  159. },
  160. /* 顶部条件导航回调 */
  161. navClick({
  162. detail
  163. }) {
  164. switch (detail.id) {
  165. case '1':
  166. this.setData({
  167. classShow: true
  168. })
  169. break;
  170. case '2':
  171. this.setData({
  172. 'filter.show': true
  173. })
  174. break;
  175. }
  176. },
  177. /* 处理筛选 */
  178. handleFilter({
  179. detail
  180. }) {
  181. const data = this.data.filter;
  182. if (data.typeActive) data.typeActive = data.typeActive == '普通报价' ? 0 : 1;
  183. switch (detail) {
  184. case 'confirm':
  185. this.setData({
  186. 'filter.show': false
  187. });
  188. this.getList(true, data);
  189. break;
  190. case 'reset':
  191. this.setData({
  192. 'filter.statusActive': "",
  193. 'filter.typeActive': "",
  194. 'filter.startdate': "",
  195. 'filter.enddate': "",
  196. });
  197. this.getList(true, this.data.filter)
  198. break;
  199. case 'close':
  200. this.setData({
  201. 'filter.show': false
  202. });
  203. break;
  204. };
  205. },
  206. addPublicCustomer() {
  207. wx.navigateTo({
  208. url: './addAndEditor'
  209. })
  210. },
  211. onShareAppMessage() {
  212. }
  213. })