draw-bill.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. /*******************************************************************************
  2. * Copyright(c) 2024 dongke All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:
  5. * 2.功能描述:oa 开发票
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 王英杰 2024-1-19 1.00 列表查询
  9. *******************************************************************************/
  10. const Constants = require('@/utils/Constants.js');
  11. const util = require('@/utils/util.js')
  12. const mixins = require('@/mixins/index.js')
  13. Page({
  14. mixins: [mixins],
  15. /**
  16. * 页面的初始数据
  17. */
  18. data: {
  19. pageFlag: false,
  20. searchContent: [{
  21. code: 'tradeTime',
  22. title: mixins.$t("pastThirthtyDays"),
  23. defaultValue: 5,
  24. searchType: Constants.searchType.date
  25. },
  26. ],
  27. // 列表区(内容)
  28. contentList: [{
  29. name: 'tradeTime',
  30. title: mixins.$t('orderDate')
  31. },
  32. {
  33. name: 'tradeAmount', // todo 颜色 先不用变
  34. title: mixins.$t('paidInAmount'),
  35. },
  36. {
  37. name: 'tradeAmount', //todo 目前表还没有这个字段
  38. title: mixins.$t('usingCloudCoins')
  39. },
  40. {
  41. name: 'tradeAmount', //todo 目前表还没有这个字段
  42. title: mixins.$t('useDiscountCoupons')
  43. },
  44. ],
  45. buttonSaveList: [{
  46. code: 'drawBill',
  47. title: '开发票',
  48. width: '120rpx',
  49. }, ],
  50. contentSaveList: [{
  51. code: 'flag',
  52. title: mixins.$t("allChoose"),
  53. type: 'checkbox'
  54. },
  55. {
  56. code: 'totalInvoicedAmount',
  57. content: 0,
  58. type: 'number',
  59. title: mixins.$t("totalInvoicedAmount")
  60. },
  61. ],
  62. routeObjName: 'trade',
  63. },
  64. /**
  65. * @desc : 设置查询参数
  66. * @date : 2024年3月8日
  67. * @author : 王英杰
  68. */
  69. setSearchParams(params) {
  70. params.tradeStatus = '交易状态-生效'
  71. params.receiptStatus = '开票状态-未开票'
  72. params.buyEndDate = params.createtimeEnd
  73. return params;
  74. },
  75. /**
  76. * @desc : 查询 入库单
  77. * @date : 2024年3月8日
  78. * @author : 王英杰
  79. */
  80. getData(params) {
  81. return this.excute(this.data.service, this.data.service.selectByCond, params);
  82. },
  83. /**
  84. * @desc : 处理接口返回数据
  85. * @date : 2024年3月8日
  86. * @author : 王英杰
  87. */
  88. handleSearchData(tableData) {
  89. let temp = tableData
  90. temp.forEach(it => {
  91. it.tradeTime = this.formatDateOnly(it.tradeTime)
  92. })
  93. this.setData({
  94. tableData: temp,
  95. })
  96. },
  97. /**
  98. * @desc : 选择事件
  99. * @date : 2024/2/1 15:49
  100. * @author : 王英杰
  101. */
  102. listChoose(e) {
  103. let temp = this.data.tableData
  104. temp[e.detail.index].checked = e.detail.checked
  105. let contentSaveList = this.data.contentSaveList
  106. let totalInvoicedAmount_index = contentSaveList.findIndex(it=>it.code=="totalInvoicedAmount")
  107. let amountNmber = Number(0)
  108. temp.forEach(it => {
  109. it.tradeTime = this.formatDateOnly(it.tradeTime)
  110. if(it.checked){
  111. amountNmber= amountNmber + Number(it.tradeAmount)
  112. }
  113. })
  114. contentSaveList[totalInvoicedAmount_index].content = amountNmber
  115. this.setData({
  116. tableData: temp,
  117. contentSaveList:contentSaveList
  118. })
  119. },
  120. /**
  121. * @desc : 底部按钮事件
  122. * @date : 2024/2/1 15:49
  123. * @author : 王英杰
  124. */
  125. saveButton(e) {
  126. wx.navigateTo({
  127. url: '/package-basic-data/pages/draw-bill/add/add',
  128. events: {
  129. // 回调后,在这里给页面赋值
  130. refresh: function (e) {}
  131. },
  132. success: function (res) {
  133. // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
  134. res.eventChannel.emit('params', {})
  135. }
  136. })
  137. },
  138. /**
  139. * @desc : 底部 新建按钮旁 启用回调事件
  140. * @date : 2024/2/1 15:49
  141. * @author : 王英杰
  142. */
  143. cke_change(e) {
  144. let btnFormData = JSON.parse(this.data.btnFormData)
  145. let temp = this.data.tableData
  146. let contentSaveList = this.data.contentSaveList
  147. let totalInvoicedAmount_index = contentSaveList.findIndex(it=>it.code=="totalInvoicedAmount")
  148. let amountNmber = Number(0)
  149. temp.forEach(element => {
  150. element.checked = btnFormData.flag
  151. if(element.checked){
  152. amountNmber= amountNmber + Number(element.tradeAmount)
  153. }
  154. });
  155. contentSaveList[totalInvoicedAmount_index].content = amountNmber
  156. this.setData({
  157. tableData: temp,
  158. contentSaveList:contentSaveList
  159. })
  160. },
  161. })