clue.js 6.3 KB

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