index.ts 5.6 KB

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