index.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  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": 2,
  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. _Http.basic({
  129. "id": 20221012164402,
  130. content: this.data.content
  131. }).then(res => {
  132. console.log(res)
  133. this.selectComponent('#ListBox').RefreshToComplete();
  134. if (res.msg != '成功') return wx.showToast({
  135. title: res.data,
  136. icon: "none"
  137. })
  138. this.getTags(res.data.map(v => v.sys_enterpriseid));
  139. this.setData({
  140. 'content.pageNumber': res.pageNumber + 1,
  141. 'content.pageTotal': res.pageTotal,
  142. 'content.total': res.total,
  143. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data)
  144. })
  145. })
  146. },
  147. /* 获取列表标签 */
  148. getTags(ownerids = []) {
  149. _Http.basic({
  150. "id": 20221018102001,
  151. "content": {
  152. "ownertable": "sa_customers",
  153. ownerids
  154. }
  155. }).then(res => {
  156. for (let key in res.data) {
  157. let index = this.data.list.findIndex(v => v.sys_enterpriseid == key);
  158. this.data.list[index].tags = res.data[key]
  159. };
  160. this.setData({
  161. list: this.data.list
  162. })
  163. })
  164. },
  165. /* 顶部条件导航回调 */
  166. navClick({
  167. detail
  168. }) {
  169. switch (detail.id) {
  170. case '1':
  171. this.setData({
  172. classShow: true
  173. })
  174. break;
  175. case '2':
  176. this.setData({
  177. 'filter.show': true
  178. })
  179. break;
  180. case '3':
  181. this.setData({
  182. 'content.sort[0].reversed': this.data.content.sort[0].reversed == 0 ? 1 : 0
  183. });
  184. this.getList(true)
  185. break;
  186. default:
  187. break;
  188. }
  189. },
  190. navSearch() {
  191. console.log('搜索')
  192. },
  193. classClose() {
  194. this.setData({
  195. classShow: false
  196. })
  197. },
  198. classSelect({
  199. detail
  200. }) {
  201. if (this.data.content.type == detail.index) return this.classClose();
  202. this.setData({
  203. "content.type": detail.index,
  204. 'navList[0].label': detail.name
  205. })
  206. this.classClose();
  207. this.getList(true)
  208. },
  209. onReady() {
  210. getHeight.getHeight('.total', this).then(res => this.setData({
  211. listHeight: res
  212. }));
  213. },
  214. onShareAppMessage() {}
  215. })