index.ts 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. import { FunCode } from "../../../../constants/enum/funcode"
  2. import Toast from "../../../../miniprogram_npm/@vant/weapp/toast/toast"
  3. import { sendMsgToMQ } from "../../../../services/api/common/index"
  4. import { queryGZBSFWOrder } from "../../../../services/api/trade/index"
  5. import { clientType, getExecutestatus, isEncrypted, loginCode, loginid, protoHeader, timetample, userid } from "../../../../services/utils"
  6. import { isnullstr } from "../../../../utils/util"
  7. Page({
  8. /**
  9. * 页面的初始数据
  10. */
  11. data: {
  12. /// tabs
  13. tabs: [{id: 0, name: '待处理'}, {id: 1, name: '进行中'}, {id: 2, name: '已结束'}],
  14. /// tab索引
  15. active: 0,
  16. /// 列头
  17. titles: [['总净重(ct)| 总净重(g)| 总毛重(g)', '单据编号'],
  18. ['总值(USD)| 单价(USD/ct)', '状态'], ['内容 | 备注']],
  19. /// 是否空数据
  20. isEmpty: true,
  21. /// 数据信息
  22. bonds: <GuangZuan.GZBSFWOrder[]>[],
  23. /// 左滑宽度
  24. width: 100,
  25. /// 显示的值
  26. values: [{ up: [''], mid: [''], dwn: [''] }]
  27. },
  28. /**
  29. * 返回上层视图
  30. */
  31. backToParent() {
  32. /// 返回上层视图
  33. wx.navigateBack()
  34. },
  35. onButtonPressed(e: any) {
  36. /// 获取对应的id
  37. const ids = (<string> e.target.id).split(' ')
  38. let id = (<string> e.target.id).split(' ')[0]
  39. const index = <number> <unknown>ids[1]
  40. /// 单号
  41. const orderid = this.data.bonds[index].orderid
  42. switch (id) {
  43. case 'detail': /// 详情
  44. wx.navigateTo({
  45. url: "/mHome/pages/bond/detail/index?item="+JSON.stringify(this.data.bonds[index])
  46. })
  47. break;
  48. case 'confirmprepayment': /// 确认预付款
  49. this.doBSFWOperator(3, orderid)
  50. break;
  51. case 'confirmpayment': /// 确认付款
  52. this.doBSFWOperator(4, orderid)
  53. break;
  54. default:
  55. break;
  56. }
  57. },
  58. /**
  59. * tab触发事件
  60. */
  61. onTabChange(e: any) {
  62. /// 设置激活项
  63. this.setData({ active: e.detail.index })
  64. /// 查询保税服务单据
  65. this.queryGZBSFWOrder()
  66. },
  67. /**
  68. * 查询保税服务单据
  69. */
  70. queryGZBSFWOrder() {
  71. /// loding.....
  72. Toast.loading({message: '加载中...'})
  73. /// 发送查询
  74. queryGZBSFWOrder({
  75. data: {
  76. /// 模糊搜索
  77. userid: userid(),
  78. executestatus: this.data.active+1
  79. },
  80. /// 加载成功
  81. success: (res) => {
  82. if (res.code != 200) {
  83. /// 加载失败
  84. Toast.success({ message: '加载失败...'});
  85. return
  86. }
  87. /// 数据赋值
  88. this.setData({
  89. bonds: res.data,
  90. /// 显示的值
  91. values: res.data.map(obj => {
  92. return {up: [obj.totalnetweigthct.toString()+' | '+
  93. obj.totalnetweightgm.toString()+' | '+
  94. obj.totalgrossweightgm.toString(),
  95. isnullstr(obj.orderno)],
  96. mid:[obj.totalamount.toString(),
  97. obj.priceper.toString(),
  98. getExecutestatus(obj.executestatus)],
  99. dwn: [obj.contentrange.toString()+' | '+ '--',
  100. '']}
  101. })
  102. })
  103. },
  104. fail: (emsg) => {
  105. /// 加载失败
  106. Toast.fail({ message: '加载失败...'+emsg});
  107. },
  108. complete: () => {
  109. /// 数据赋值
  110. this.setData({ isEmpty: this.data.values.length == 0 })
  111. /// 停止下拉刷新
  112. wx.stopPullDownRefresh()
  113. }
  114. })
  115. },
  116. /**
  117. * 保税服务操作
  118. */
  119. doBSFWOperator(operator: number, orderid: number) {
  120. /// loding.....
  121. Toast.loading({ message: '操作请求中.....'})
  122. /// 参数信息
  123. const params = {
  124. UserID: userid(),
  125. OperateID: loginid(),
  126. ClientType: clientType,
  127. ClientSerialNo: timetample().toString,
  128. OperateAccount: loginCode(),
  129. OrderID: orderid,
  130. OperateType: operator,
  131. Header: protoHeader(FunCode.BSFWMemberOperateReq)
  132. }
  133. /// 发送请求
  134. sendMsgToMQ({
  135. data: {
  136. data: JSON.stringify(params),
  137. funCodeReq: FunCode.BSFWMemberOperateReq,
  138. funCodeRsp: FunCode.BSFWMemberOperateRsp,
  139. isEncrypted: isEncrypted()
  140. },
  141. success: (res) => {
  142. if (res.code != 0) {
  143. Toast.fail({message: '操作申请失败, 原因:'+res.msg})
  144. return
  145. }
  146. /// 操作成功
  147. Toast.success('操作成功')
  148. /// 重新获取数据
  149. this.queryGZBSFWOrder()
  150. },
  151. fail: (emsg) => {
  152. /// 操作失败
  153. Toast.fail('操作失败,原因:'+emsg)
  154. }, complete: () => {
  155. /// hideLoading
  156. Toast.clear()
  157. }
  158. })
  159. },
  160. /**
  161. * 生命周期函数--监听页面加载
  162. */
  163. onLoad() {
  164. /// 查询保税服务单据
  165. this.queryGZBSFWOrder()
  166. },
  167. /**
  168. * 生命周期函数--监听页面初次渲染完成
  169. */
  170. onReady() {
  171. },
  172. /**
  173. * 生命周期函数--监听页面显示
  174. */
  175. onShow() {
  176. },
  177. /**
  178. * 生命周期函数--监听页面隐藏
  179. */
  180. onHide() {
  181. },
  182. /**
  183. * 生命周期函数--监听页面卸载
  184. */
  185. onUnload() {
  186. },
  187. /**
  188. * 页面相关事件处理函数--监听用户下拉动作
  189. */
  190. onPullDownRefresh() {
  191. /// 查询保税服务单据
  192. this.queryGZBSFWOrder()
  193. },
  194. /**
  195. * 页面上拉触底事件的处理函数
  196. */
  197. onReachBottom() {
  198. },
  199. /**
  200. * 用户点击右上角分享
  201. */
  202. onShareAppMessage() {
  203. }
  204. })