index.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. const _Http = getApp().globalData.http,
  2. file = require("../../../../utils/FormatTheAttachment");
  3. let queue = [],
  4. downCounter = null;
  5. Component({
  6. properties: {
  7. disabled: Boolean, //禁用
  8. },
  9. data: {
  10. sa_aftersalesmagid: 0,
  11. "content": {
  12. nocache: true,
  13. "pageNumber": 1,
  14. pageTotal: 1,
  15. total: null
  16. }
  17. },
  18. lifetimes: {
  19. detached: function () {
  20. if (downCounter) {
  21. clearTimeout(downCounter);
  22. this.changeItem(queue)
  23. }
  24. },
  25. },
  26. methods: {
  27. /* 获取产品列表 */
  28. getList(id, init) {
  29. let content = this.data.content;
  30. content.sa_aftersalesmagid = id;
  31. if (init) content.pageNumber = 1;
  32. _Http.basic({
  33. "id": "20230105111103",
  34. content
  35. }).then(res => {
  36. console.log("订货清单列表", res)
  37. if (res.msg != '成功') return wx.showToast({
  38. title: res.msg,
  39. icon: "none"
  40. })
  41. res.data = res.data.map(value => {
  42. if (value.attinfos.length != 0) {
  43. value.attinfos = file.fileList(value.attinfos)
  44. let image = value.attinfos.find(v => v.fileType == "image");
  45. value.cover = image ? image.cover : "";
  46. }
  47. return value;
  48. })
  49. this.setData({
  50. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
  51. "content.pageNumber": res.pageNumber + 1,
  52. "content.pageSize": res.pageSize,
  53. "content.pageTotal": res.pageTotal,
  54. "content.total": res.total,
  55. sa_aftersalesmagid: id,
  56. })
  57. })
  58. },
  59. /* 修改 */
  60. changeProduct({
  61. detail
  62. }) {
  63. let obj = detail,
  64. index = this.data.list.findIndex(v => v.itemid == detail.itemid),
  65. data = this.data.list[index],
  66. page = getCurrentPages()[getCurrentPages().length - 1]
  67. if (data.qty == obj.qty && data.reason == obj.reason && data.price == obj.price) return;
  68. _Http.basic({
  69. "id": 20230105111003,
  70. "content": {
  71. "sa_aftersalesmagid":page.data.sa_aftersalesmagid,
  72. "iteminfos": [detail]
  73. }
  74. }).then(res => {
  75. console.log("产品修改", res)
  76. if (res.msg != '成功') {
  77. wx.showToast({
  78. title: res.msg,
  79. icon: "none"
  80. });
  81. obj = data;
  82. };
  83. data = {
  84. ...data,
  85. ...obj
  86. };
  87. data.amount = res.data[0].amount
  88. console.log(data);
  89. this.setData({
  90. [`list[${index}]`]: data
  91. })
  92. })
  93. },
  94. /* 删除 */
  95. deleteItem({
  96. detail
  97. }) {
  98. let that = this;
  99. wx.showModal({
  100. title: '提示',
  101. content: `是否确认删除“${detail.itemname}”?`,
  102. complete: (res) => {
  103. if (res.confirm) _Http.basic({
  104. "id": 20230105111203,
  105. "content": {
  106. sa_aftersalesmag_itemsids: [detail.sa_aftersalesmag_itemsid],
  107. }
  108. }).then(s => {
  109. if (s.msg != '成功') return wx.showToast({
  110. title: res.msg,
  111. icon: "none"
  112. });
  113. that.setData({
  114. list: that.data.list.filter(v => v.sa_orderitemsid != detail.sa_orderitemsid)
  115. });
  116. })
  117. }
  118. })
  119. },
  120. /* 去添加产品 */
  121. addProduct() {
  122. let detail = getCurrentPages().find(v => v.__route__ == 'packageA/toolBill/detail').data.detail;
  123. let id = ''
  124. wx.navigateTo({
  125. url: `/packageA/toolBill/modules/selectProduct/index?params=${JSON.stringify({
  126. "id":20230105110903,
  127. "content": {
  128. nocache:true,
  129. "sa_orderid": detail.sa_orderid, //订单ID
  130. "sa_aftersalesmagid": detail.sa_aftersalesmagid, //订单ID
  131. "pageNumber": 1,
  132. "pageTotal": 1,
  133. "total": 0,
  134. "pageSize": 20,
  135. "where": {
  136. "condition": ""
  137. }
  138. }
  139. })}`
  140. });
  141. getApp().globalData.handleSelect = this.handleSelect.bind(this);
  142. },
  143. /* 处理新增产品 */
  144. handleSelect(detail) {
  145. let that = this;
  146. console.log(detail);
  147. wx.showModal({
  148. title: '提示',
  149. content: `是否确认添加${detail.result.length}件商品?`,
  150. complete: (res) => {
  151. if (res.confirm) _Http.basic({
  152. "id": 20230105111003,
  153. "content": {
  154. sa_aftersalesmagid:that.data.sa_aftersalesmagid,
  155. "iteminfos": detail.list.map(v => {
  156. return {
  157. "sa_aftersalesmag_itemsid":0,
  158. "sa_orderitemsid":v.sa_orderitemsid,
  159. "itemid": v.itemid,
  160. "reason":'',
  161. "qty":v.qty,
  162. "price":v.price
  163. }
  164. })
  165. }
  166. }).then(s => {
  167. console.log('新增产品', s)
  168. wx.showToast({
  169. title: s.msg == '成功' ? '添加成功' : s.msg,
  170. icon: "none"
  171. });
  172. if (s.msg == '成功') setTimeout(() => {
  173. that.getList(that.data.sa_aftersalesmagid, true);
  174. wx.navigateBack();
  175. }, 300)
  176. })
  177. }
  178. });
  179. },
  180. }
  181. })