ticketRed.js 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. // pages/ticketRed/ticketRed.js
  2. const utils = require('../../utils/util.js')
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. list: [],
  9. pageNum: 1,
  10. pageSize: 10,
  11. pages: '',
  12. finish: false,
  13. invoiceNumber: '', //购方名称
  14. hongchongFlag: 2, //是否可红冲
  15. allSelected: false, //是否全选
  16. tabIndex: 0,
  17. },
  18. /**
  19. * 生命周期函数--监听页面加载
  20. */
  21. onLoad: function (options) {
  22. this.getList()
  23. },
  24. //列表
  25. getList(type) {
  26. let params = {
  27. mobile: utils.getInfo().mobile,
  28. reqChannel: 5,
  29. pageNum: this.data.pageNum,
  30. pageSize: this.data.pageSize
  31. }
  32. let invoiceNumber = utils.trimAll(this.data.invoiceNumber)
  33. if (invoiceNumber !== '') {
  34. params.invoiceNumber = invoiceNumber
  35. }
  36. let url = ''
  37. if (this.data.tabIndex === 0) {
  38. url = '/sys/invoice/findPage'
  39. params.hongchongFlag = this.data.hongchongFlag
  40. }
  41. if (this.data.tabIndex === 1) {
  42. url = '/sys/hongchongInfo/findPage'
  43. }
  44. utils.axios({
  45. method: 'get',
  46. url: url,
  47. data: params,
  48. sendBefore() {
  49. wx.showLoading({
  50. title: '加载中...'
  51. })
  52. },
  53. complete() {
  54. wx.hideLoading()
  55. wx.stopPullDownRefresh()
  56. },
  57. success: res => {
  58. console.log('红冲信息');
  59. console.log(res);
  60. let result = res.data
  61. if (this.data.tabIndex === 0) {
  62. for (let i = 0; i < result.records.length; i++) {
  63. result.records[i].selected = false
  64. }
  65. }
  66. if (type === 'toFresh') {
  67. this.setData({
  68. list: result.records,
  69. pages: result.pages
  70. })
  71. } else {
  72. let list = this.data.list
  73. list = list.concat(result.records)
  74. this.setData({
  75. list,
  76. pages: result.pages
  77. })
  78. }
  79. if (result.total <= this.data.pageSize) {
  80. this.setData({
  81. finish: true
  82. })
  83. }
  84. if (this.data.tabIndex === 0) {
  85. this.isAllselected()
  86. }
  87. }
  88. })
  89. },
  90. toFresh() {
  91. this.setData({
  92. pageNum: 1,
  93. pages: '',
  94. finish: false
  95. })
  96. wx.pageScrollTo({
  97. scrollTop: 0,
  98. duration: 300
  99. })
  100. this.getList('toFresh')
  101. },
  102. //新增红冲
  103. toAddred(e) {
  104. let index = e.currentTarget.dataset.index
  105. let item = this.data.list[index]
  106. wx.setStorageSync('ticketRedData', item)
  107. wx.navigateTo({
  108. url: '/pages/ticketRed/detail'
  109. })
  110. },
  111. //开票详情
  112. toDetail(e) {
  113. let index = e.currentTarget.dataset.index
  114. let list = this.data.list
  115. let item = list[index]
  116. wx.setStorageSync('ticketDetail', item)
  117. wx.navigateTo({
  118. url: '/pages/ticketRed/redDetail'
  119. })
  120. },
  121. //刷新
  122. refresh(e) {
  123. let index = e.currentTarget.dataset.index
  124. let invoiceReqFlowNo = e.currentTarget.dataset.invoiceno
  125. let params = {
  126. invoiceReqFlowNo,
  127. mobile: utils.getInfo().mobile,
  128. reqChannel: 5
  129. }
  130. utils.axios({
  131. method: 'post',
  132. url: '/sys/hongchongInfo/refreshResult',
  133. data: params,
  134. sendBefore() {
  135. wx.showLoading({
  136. title: '刷新中...',
  137. mask: true
  138. })
  139. },
  140. complete() {
  141. wx.hideLoading()
  142. },
  143. success: res => {
  144. utils.toast('已刷新')
  145. let result = res.data
  146. let str = `list[${index}].status`
  147. this.setData({
  148. [str]: result.status
  149. })
  150. }
  151. })
  152. },
  153. //点击重开
  154. showRetry(e) {
  155. wx.showModal({
  156. content: '确定重开该发票吗?',
  157. confirmColor: '#007dff',
  158. success: res => {
  159. if (res.confirm) {
  160. this.retry(e)
  161. }
  162. }
  163. })
  164. },
  165. retry(e) {
  166. let index = e.currentTarget.dataset.index
  167. let invoiceReqFlowNo = e.currentTarget.dataset.invoiceno
  168. let params = {
  169. invoiceReqFlowNo,
  170. mobile: utils.getInfo().mobile,
  171. reqChannel: 5
  172. }
  173. utils.axios({
  174. method: 'post',
  175. url: '/sys/hongchongInfo/retry',
  176. data: params,
  177. sendBefore() {
  178. wx.showLoading({
  179. title: '推送中...',
  180. mask: true
  181. })
  182. },
  183. complete() {
  184. wx.hideLoading()
  185. },
  186. success: res => {
  187. utils.toast('已推送')
  188. let result = res.data
  189. let str = `list[${index}].status`
  190. this.setData({
  191. [str]: result.status
  192. })
  193. }
  194. })
  195. },
  196. //点击选中
  197. select(e) {
  198. let selected = e.currentTarget.dataset.selected
  199. let index = e.currentTarget.dataset.index
  200. let str = `list[${index}].selected`
  201. this.setData({
  202. [str]: !selected
  203. })
  204. this.isAllselected()
  205. },
  206. //点击全选
  207. selectedAll() {
  208. let allSelected = !this.data.allSelected
  209. let list = this.data.list
  210. this.setData({
  211. allSelected
  212. })
  213. if (allSelected) {
  214. for (let i = 0; i < list.length; i++) {
  215. list[i].selected = true
  216. }
  217. } else {
  218. for (let i = 0; i < list.length; i++) {
  219. list[i].selected = false
  220. }
  221. }
  222. this.setData({
  223. list
  224. })
  225. },
  226. //搜素
  227. search(e) {
  228. let invoiceNumber = e.detail.value
  229. this.setData({
  230. invoiceNumber
  231. })
  232. this.toFresh()
  233. },
  234. //切换
  235. switchTab(e) {
  236. let index = e.currentTarget.dataset.index
  237. this.setData({
  238. tabIndex: index
  239. })
  240. this.toFresh()
  241. },
  242. //判断是否全选
  243. isAllselected() {
  244. let list = this.data.list
  245. let sList = 0
  246. for (let i = 0; i < list.length; i++) {
  247. if (list[i].selected) {
  248. sList++
  249. }
  250. }
  251. if (list.length === sList) {
  252. this.setData({
  253. allSelected: true
  254. })
  255. } else {
  256. this.setData({
  257. allSelected: false
  258. })
  259. }
  260. },
  261. /**
  262. * 生命周期函数--监听页面初次渲染完成
  263. */
  264. onReady: function () {
  265. },
  266. /**
  267. * 生命周期函数--监听页面显示
  268. */
  269. onShow: function () {
  270. },
  271. /**
  272. * 生命周期函数--监听页面隐藏
  273. */
  274. onHide: function () {
  275. },
  276. /**
  277. * 生命周期函数--监听页面卸载
  278. */
  279. onUnload: function () {
  280. },
  281. /**
  282. * 页面相关事件处理函数--监听用户下拉动作
  283. */
  284. onPullDownRefresh: function () {
  285. this.toFresh()
  286. },
  287. /**
  288. * 页面上拉触底事件的处理函数
  289. */
  290. onReachBottom: function () {
  291. let pageNum = this.data.pageNum
  292. let pages = this.data.pages
  293. pageNum++
  294. if (pageNum <= pages) {
  295. this.setData({
  296. pageNum
  297. })
  298. this.getList()
  299. } else {
  300. this.setData({
  301. finish: true
  302. })
  303. return
  304. }
  305. },
  306. /**
  307. * 用户点击右上角分享
  308. */
  309. onShareAppMessage: function () {
  310. return {
  311. title: '诺信云',
  312. path: '/pages/index/index'
  313. }
  314. }
  315. })