index.js 7.0 KB

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