index.js 5.9 KB

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