index.js 6.3 KB

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