index.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  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. console.log(res)
  163. for (let key in res.data) {
  164. let index = this.data.list.findIndex(v => v.sys_enterpriseid == key);
  165. this.data.list[index].tags = res.data[key]
  166. };
  167. this.setData({
  168. list: this.data.list
  169. })
  170. })
  171. },
  172. /* 顶部条件导航回调 */
  173. navClick({
  174. detail
  175. }) {
  176. switch (detail.id) {
  177. case '1':
  178. this.setData({
  179. classShow: true
  180. })
  181. break;
  182. case '2':
  183. this.setData({
  184. 'filter.show': true
  185. })
  186. break;
  187. case '3':
  188. this.setData({
  189. 'content.sort[0].reversed': this.data.content.sort[0].reversed == 0 ? 1 : 0
  190. });
  191. this.getList(true)
  192. break;
  193. default:
  194. break;
  195. }
  196. },
  197. navSearch() {
  198. wx.navigateTo({
  199. url: '/packageA/setclient/search'
  200. })
  201. },
  202. classClose() {
  203. this.setData({
  204. classShow: false
  205. })
  206. },
  207. classSelect({
  208. detail
  209. }) {
  210. if (this.data.content.type == detail.index) return this.classClose();
  211. this.setData({
  212. "content.type": detail.index,
  213. 'navList[0].label': detail.name
  214. })
  215. this.classClose();
  216. this.getList(true)
  217. },
  218. onReady() {
  219. getHeight.getHeight('.total', this).then(res => this.setData({
  220. listHeight: res
  221. }));
  222. },
  223. onShareAppMessage() {}
  224. })