clue.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. const _Http = getApp().globalData.http;
  2. Component({
  3. options: {
  4. addGlobalClass: true
  5. },
  6. properties: {
  7. disabled: Boolean,
  8. detail: Object
  9. },
  10. data: {
  11. "content": {
  12. nocache: true,
  13. "pageNumber": 1,
  14. pageTotal: 1,
  15. total: null,
  16. where: {
  17. cluetype: '业务员'
  18. }
  19. },
  20. filter: {
  21. show: false,
  22. type: ['业务员', '经销商'], //状态项
  23. typeActive: "业务员",
  24. }
  25. },
  26. methods: {
  27. /* 筛选状态选择 */
  28. typeStatus(e) {
  29. const {
  30. item
  31. } = e.currentTarget.dataset;
  32. this.setData({
  33. "filter.typeActive": this.data.filter.typeActive == item ? "" : item
  34. })
  35. console.log(this.data.filter.typeActive);
  36. },
  37. /* 处理筛选 */
  38. handleFilter({
  39. detail
  40. }) {
  41. const data = this.data.filter;
  42. switch (detail) {
  43. case 'confirm':
  44. this.setData({
  45. 'filter.show': false
  46. });
  47. this.getList(this.data.sat_campaignid, true, data);
  48. break;
  49. case 'reset':
  50. this.setData({
  51. 'filter.typeActive': "",
  52. });
  53. this.getList(this.data.sat_campaignid, true, this.data.filter)
  54. break;
  55. case 'close':
  56. this.setData({
  57. 'filter.show': false
  58. });
  59. break;
  60. }
  61. },
  62. selectBtn() {
  63. this.setData({
  64. 'filter.show': true
  65. })
  66. },
  67. /* 获取产品列表 */
  68. getList(id, init = false, data) {
  69. let content = this.data.content;
  70. content.sat_campaignid = id;
  71. if (init) content.pageNumber = 1
  72. if (data) {
  73. content.where.cluetype = data.typeActive
  74. }
  75. _Http.basic({
  76. "id": "20221102102602",
  77. content
  78. }).then(res => {
  79. console.log("活动线索", res)
  80. if (res.msg != '成功') return wx.showToast({
  81. title: res.data,
  82. icon: "none"
  83. })
  84. this.setData({
  85. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
  86. "content.pageNumber": res.pageNumber + 1,
  87. "content.pageTotal": res.pageTotal,
  88. "content.total": res.total,
  89. sat_campaignid: id
  90. })
  91. })
  92. },
  93. //详情按钮回调
  94. tabbarOnClick({
  95. detail
  96. }) {
  97. let data = this.data.detail;
  98. switch (detail.label) {
  99. case "跟进":
  100. wx.navigateTo({
  101. url: `/packageA/setclient/modules/trace/add/index?ownertable=sat_campaign&ownerid=${data.sat_campaignid}`,
  102. })
  103. break;
  104. case "作废":
  105. wx.showModal({
  106. title: '提示',
  107. content: '是否确认作废该报价单?',
  108. complete: ({
  109. confirm
  110. }) => {
  111. if (confirm) _Http.basic({
  112. "id": 20221020165503,
  113. "version": 1,
  114. "content": {
  115. "sat_campaignids": [this.data.detail.sat_campaignid]
  116. }
  117. }).then(res => {
  118. wx.showToast({
  119. title: res.msg == '成功' ? '已作废报价单' : res.msg,
  120. icon: "none"
  121. });
  122. if (res.msg == '成功') {
  123. setTimeout(() => {
  124. getCurrentPages().forEach(v => {
  125. if (v.__route__ == 'packageA/offers/index') {
  126. v.setData({
  127. list: v.data.list.filter(value => value.sat_campaignid != this.data.detail.sat_campaignid),
  128. 'content.total': v.data.content.total - 1
  129. })
  130. }
  131. })
  132. wx.navigateBack();
  133. }, 300)
  134. }
  135. })
  136. }
  137. })
  138. break;
  139. case "更换负责人":
  140. wx.navigateTo({
  141. url: `/pages/group/select?data=${JSON.stringify({
  142. ownertable:"sat_campaign",
  143. ownerid:data.sat_campaignid,
  144. })}&radio=true&principal=true`,
  145. })
  146. break;
  147. }
  148. },
  149. /* 删除产品 */
  150. handleDelete({
  151. detail
  152. }) {
  153. _Http.basic({
  154. "id": 20221021145602,
  155. "content": {
  156. "deletereason": "",
  157. "sa_project_itemsids": detail
  158. }
  159. }).then(res => {
  160. console.log("批量删除产品", res);
  161. wx.showToast({
  162. title: res.msg == '成功' ? '删除成功!' : res.msg,
  163. icon: "none"
  164. })
  165. if (res.msg == '成功') this.setData({
  166. list: this.data.list.filter(v => detail.indexOf(v.sa_project_itemsid) == -1)
  167. })
  168. })
  169. },
  170. }
  171. })