index.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. const _Http = getApp().globalData.http,
  2. getHeight = require("../../utils/getRheRemainingHeight");
  3. Page({
  4. data: {
  5. navList: [{
  6. label: "全部",
  7. icon: "icon-webxialaxuanxiangjiantou",
  8. color: "",
  9. width: "",
  10. id: "1"
  11. }, {
  12. label: "创建时间",
  13. icon: "icon-quxiao",
  14. color: "",
  15. width: "",
  16. id: "3"
  17. }, {
  18. label: "筛选",
  19. icon: "icon-daoruxialajiantou",
  20. color: "",
  21. width: "",
  22. id: "2"
  23. }],
  24. content: {
  25. nocache: true,
  26. "type": 0,
  27. "pageNumber": 1,
  28. "pageSize": 20,
  29. "isExport": 0,
  30. "where": {
  31. "condition": "",
  32. "status": "", //状态
  33. "startdate": "",
  34. "enddate": ""
  35. },
  36. "sort": [{
  37. sortname: "默认",
  38. sorted: 1,
  39. sortid: 67,
  40. reversed: 0
  41. }]
  42. },
  43. list: [],
  44. classShow: false, //type类型
  45. classActions: [{
  46. name: '全部',
  47. index: 0
  48. }, {
  49. name: '我负责的',
  50. index: 1
  51. },
  52. {
  53. name: '我参与的',
  54. index: 2
  55. },
  56. {
  57. name: "我下属负责的",
  58. index: 3
  59. }, {
  60. name: "我下属参与的",
  61. index: 4
  62. }
  63. ],
  64. filter: {
  65. show: false,
  66. status: ['潜在', '合作中', '已终止'],
  67. statusActive: "",
  68. startdate: "",
  69. enddate: ""
  70. }
  71. },
  72. /* 去添加 */
  73. toAdd() {
  74. wx.navigateTo({
  75. url: './addAndEditor'
  76. })
  77. },
  78. onLoad(options) {
  79. this.getList()
  80. },
  81. /* 筛选状态选择 */
  82. selectStatus(e) {
  83. const {
  84. item
  85. } = e.currentTarget.dataset;
  86. this.setData({
  87. "filter.statusActive": this.data.filter.statusActive == item ? "" : item
  88. })
  89. },
  90. /* 筛选日期范围 */
  91. changeDate(e) {
  92. const name = e.currentTarget.dataset.name,
  93. value = e.detail.value;
  94. this.setData({
  95. [`filter.${name}`]: value
  96. })
  97. },
  98. /* 处理筛选 */
  99. handleFilter({
  100. detail
  101. }) {
  102. const data = this.data.filter;
  103. switch (detail) {
  104. case 'confirm':
  105. this.setData({
  106. 'content.where.status': data.statusActive,
  107. 'content.where.startdate': data.startdate,
  108. 'content.where.enddate': data.enddate,
  109. 'filter.show': false
  110. });
  111. this.getList(true);
  112. break;
  113. case 'reset':
  114. this.setData({
  115. 'filter.statusActive': "",
  116. 'filter.startdate': "",
  117. 'filter.enddate': "",
  118. });
  119. break;
  120. case 'close':
  121. this.setData({
  122. 'filter.show': false
  123. });
  124. break;
  125. }
  126. },
  127. getList(init = false) {
  128. //init 用于初始化分页
  129. if (init.detail != undefined) init = init.detail;
  130. if (init) this.setData({
  131. ['content.pageNumber']: 1
  132. })
  133. if (this.data.content.pageNumber > this.data.content.pageTotal) return;
  134. console.log(this.data.content)
  135. _Http.basic({
  136. "id": 20221012164402,
  137. content: this.data.content
  138. }).then(res => {
  139. console.log("客户列表", res)
  140. this.selectComponent('#ListBox').RefreshToComplete();
  141. if (res.msg != '成功') return wx.showToast({
  142. title: res.data,
  143. icon: "none"
  144. })
  145. this.getTags(res.data.map(v => v.sa_customersid));
  146. this.setData({
  147. 'content.pageNumber': res.pageNumber + 1,
  148. 'content.pageTotal': res.pageTotal,
  149. 'content.total': res.total,
  150. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data)
  151. })
  152. })
  153. },
  154. /* 获取列表标签 */
  155. getTags(ownerids = []) {
  156. _Http.basic({
  157. "id": 20221018102001,
  158. "content": {
  159. "ownertable": "sa_customers",
  160. ownerids
  161. }
  162. }).then(res => {
  163. console.log("标签", res)
  164. let list = this.data.list;
  165. for (let key in res.data) {
  166. let index = list.findIndex(v => v.sa_customersid == key);
  167. list[index].tags = res.data[key]
  168. };
  169. this.setData({
  170. list
  171. })
  172. })
  173. },
  174. /* 顶部条件导航回调 */
  175. navClick({
  176. detail
  177. }) {
  178. switch (detail.id) {
  179. case '1':
  180. this.setData({
  181. classShow: true
  182. })
  183. break;
  184. case '2':
  185. this.setData({
  186. 'filter.show': true
  187. })
  188. break;
  189. case '3':
  190. this.setData({
  191. 'content.sort[0].reversed': this.data.content.sort[0].reversed == 0 ? 1 : 0
  192. });
  193. this.getList(true)
  194. break;
  195. default:
  196. break;
  197. }
  198. },
  199. navSearch() {
  200. wx.navigateTo({
  201. url: '/packageA/setclient/search'
  202. })
  203. },
  204. classClose() {
  205. this.setData({
  206. classShow: false
  207. })
  208. },
  209. classSelect({
  210. detail
  211. }) {
  212. if (this.data.content.type == detail.index) return this.classClose();
  213. this.setData({
  214. "content.type": detail.index,
  215. 'navList[0].label': detail.name
  216. })
  217. this.classClose();
  218. this.getList(true)
  219. },
  220. onReady() {
  221. getHeight.getHeight('.total', this).then(res => this.setData({
  222. listHeight: res
  223. }));
  224. },
  225. onShareAppMessage() {}
  226. })