index.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. const _Http = getApp().globalData.http;
  2. let items = [],
  3. countDown = null;
  4. Component({
  5. properties: {
  6. quotedpricenotes: Array,
  7. disabled: Boolean
  8. },
  9. options: {
  10. addGlobalClass: true
  11. },
  12. data: {
  13. sa_quotedpriceid: "",
  14. tabShow: false,
  15. dialog: false,
  16. newExplain: "",
  17. content: {
  18. nocache: true,
  19. pageNumber: 1,
  20. pageTotal: 1,
  21. total: null
  22. },
  23. },
  24. methods: {
  25. getList(id, init) {
  26. let content = this.data.content;
  27. content.sa_quotedpriceid = id;
  28. if (init) content.pageNumber = 1;
  29. _Http.basic({
  30. "id": "20230211155603",
  31. content
  32. }).then(res => {
  33. console.log("其他费用列表", res)
  34. if (res.msg != '成功') return wx.showToast({
  35. title: res.data,
  36. icon: "none"
  37. })
  38. this.setData({
  39. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
  40. "content.pageNumber": res.pageNumber + 1,
  41. "content.pageSize": res.pageSize,
  42. "content.pageTotal": res.pageTotal,
  43. "content.total": res.total,
  44. sa_quotedpriceid: id,
  45. tabShow: true
  46. })
  47. })
  48. },
  49. /* 前往新增其他费用 */
  50. addExpense() {
  51. wx.navigateTo({
  52. url: '/packageA/offers/modules/pettyExpense/update?id=' + this.data.sa_quotedpriceid
  53. });
  54. getApp().globalData.saveFun = this.getList.bind(this);
  55. },
  56. /* 修改费用 */
  57. changeExpense({
  58. detail
  59. }) {
  60. let i = items.findIndex(v => v.index == detail.index);
  61. i == -1 ? items.push(detail) : items[i] = detail;
  62. clearTimeout(countDown);
  63. countDown = setTimeout(this.handleChangeExpense.bind(this), 500);
  64. },
  65. /* 处理修改费用 */
  66. handleChangeExpense() {
  67. countDown = null;
  68. _Http.basic({
  69. "id": 20230211155503,
  70. "version": 1,
  71. "content": {
  72. "sa_quotedpriceid": this.data.sa_quotedpriceid,
  73. "items": items.map(v => v.item)
  74. }
  75. }).then(res => {
  76. console.log("修改费用列表", res);
  77. if (res.msg != '成功') return wx.showToast({
  78. title: res.msg,
  79. icon: "none",
  80. mask: true
  81. });
  82. items.forEach(v => this.data.list[v.index] = v.item);
  83. this.setData({
  84. list: this.data.list
  85. });
  86. items = [];
  87. })
  88. },
  89. /* 添加报价说明 */
  90. addQuotedpricenotes() {
  91. this.setData({
  92. dialog: true
  93. })
  94. },
  95. /* 完成情况说明输入 */
  96. areaInput(e) {
  97. this.setData({
  98. newExplain: e.detail.value
  99. })
  100. },
  101. /* 确认添加 */
  102. onConfirm() {
  103. let newExplain = this.data.newExplain;
  104. if (newExplain == '') return wx.showToast({
  105. title: '提交内容不可为空',
  106. icon: "none",
  107. mask: true
  108. });
  109. let page = getCurrentPages()[getCurrentPages().length - 1],
  110. data = page.data.detail;
  111. data.quotedpricenotes.push(newExplain);
  112. _Http.basic({
  113. "id": 20221020164803,
  114. "version": 1,
  115. "content": data
  116. }).then(res => {
  117. console.log("添加报价说明", res)
  118. wx.showToast({
  119. title: res.msg == '成功' ? '添加成功!' : res.msg,
  120. icon: "none",
  121. mask: true
  122. });
  123. if (res.msg == '成功') {
  124. page.setData({
  125. "detail.quotedpricenotes": res.data.quotedpricenotes
  126. });
  127. this.setData({
  128. newExplain: ""
  129. })
  130. }
  131. })
  132. },
  133. onCancel() {
  134. this.setData({
  135. dialog: false
  136. })
  137. },
  138. /* 移除说明 */
  139. deleteItem(e) {
  140. console.log(e)
  141. wx.showModal({
  142. title: '提示',
  143. content: '是否确定移除该说明',
  144. complete: (res) => {
  145. if (res.confirm) {
  146. let i = e.currentTarget.dataset.index;
  147. let page = getCurrentPages()[getCurrentPages().length - 1],
  148. data = page.data.detail;
  149. data.quotedpricenotes.splice(i, 1);
  150. _Http.basic({
  151. "id": 20221020164803,
  152. "version": 1,
  153. "content": data
  154. }).then(res => {
  155. console.log("删除报价说明", res)
  156. wx.showToast({
  157. title: res.msg == '成功' ? '移除成功!' : res.msg,
  158. icon: "none",
  159. mask: true
  160. });
  161. if (res.msg == '成功') {
  162. page.setData({
  163. "detail.quotedpricenotes": res.data.quotedpricenotes
  164. });
  165. }
  166. })
  167. }
  168. }
  169. })
  170. },
  171. handleDetele({
  172. detail
  173. }) {
  174. _Http.basic({
  175. "id": 20230211155703,
  176. "version": 1,
  177. "content": {
  178. "sa_quotedprice_specialitemsids": [detail]
  179. }
  180. }).then(res => {
  181. console.log("删除其他费用", res)
  182. wx.showToast({
  183. title: res.msg == '成功' ? '删除成功' : res.msg,
  184. icon: "none",
  185. mask: true
  186. })
  187. if (res.msg == '成功') this.setData({
  188. list: this.data.list.filter(v => v.sa_quotedprice_specialitemsid != detail)
  189. })
  190. })
  191. }
  192. }
  193. })