index.js 6.0 KB

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