index.ts 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. import { FunCode } from "../../../../constants/enum/funcode"
  2. import { sendMsgToMQ } from "../../../../services/api/common/index"
  3. import { queryGZCJJCOrder } from "../../../../services/api/trade/index"
  4. import { userid, getExecutestatus, isEncrypted, protoHeader, loginid, clientType, timetample, loginCode, getErrorMsg } from "../../../../services/utils"
  5. import { hideLoading, showLoading } from "../../../../utils/message/index"
  6. import { isnullstr } from "../../../../utils/util"
  7. import { encryptBody } from "../../../../utils/websocket/crypto"
  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 { orderidstr } = this.data.orders[index]
  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, orderidstr)
  53. break;
  54. case 'confirmsend': /// 确认发货
  55. this.doCJJCOperator(2, orderidstr)
  56. break;
  57. case 'confirmresult': /// 确认检测结果
  58. this.doCJJCOperator(3, orderidstr)
  59. break;
  60. case 'confirmprepayment': /// 确认预付款
  61. wx.navigateTo({
  62. url: "/mHome/pages/inspection/prepayment/index?item="+JSON.stringify(this.data.orders[index])
  63. })
  64. break;
  65. case 'confirmpayment': /// 确认付款
  66. wx.navigateTo({
  67. url: "/mHome/pages/inspection/payment/index?item="+JSON.stringify(this.data.orders[index])
  68. })
  69. break;
  70. default:
  71. break;
  72. }
  73. },
  74. /**
  75. * 返回上层视图
  76. */
  77. backToParent() {
  78. /// 返回上层视图
  79. wx.navigateBack()
  80. },
  81. /**
  82. * 查询出境检测单据
  83. */
  84. queryGZCJJCOrder() {
  85. /// loding.....
  86. showLoading(()=>{
  87. /// 发送查询
  88. queryGZCJJCOrder({
  89. data: {
  90. /// 模糊搜索
  91. userid: userid(),
  92. executestatus: this.data.active+1
  93. },
  94. /// 加载成功
  95. success: (res) => {
  96. if (res.code != 200) {
  97. /// 加载失败
  98. hideLoading(()=>{}, '加载失败,原因:'+res.msg, 'error')
  99. return
  100. }
  101. hideLoading(()=>{
  102. /// 数据赋值
  103. this.setData({
  104. orders: res.data,
  105. /// 显示的值
  106. values: res.data.map(obj => {
  107. return {up: [obj.gzcjcategorytypedisplay,
  108. obj.gzcjaccount,
  109. isnullstr(obj.orderno)],
  110. dwn: [obj.totalnumber.toString()+'(粒)'+' | '+
  111. obj.totalgrossweight.toString()+'(ct)'+' | '+
  112. obj.totalweightgm.toString()+'(USD)',
  113. getExecutestatus(obj.executestatus)]}
  114. }),
  115. isEmpty: res.data.length === 0
  116. })
  117. })
  118. },
  119. fail: (emsg) => {
  120. /// 加载失败
  121. hideLoading(()=>{}, emsg, 'error')
  122. },
  123. complete: () => {
  124. /// 停止下拉刷新
  125. wx.stopPullDownRefresh()
  126. }
  127. })
  128. })
  129. },
  130. /**
  131. * 出境检测操作请求
  132. */
  133. doCJJCOperator(operator: number, orderid: string) {
  134. /// loding.....
  135. showLoading(()=>{
  136. /// 参数信息
  137. const info = JSON.stringify({
  138. UserID: userid(),
  139. OperateID: loginid(),
  140. ClientType: clientType,
  141. ClientSerialNo: timetample().toString(),
  142. OperateAccount: loginCode().toString(),
  143. OrderID: orderid.toString(),
  144. OperateType: operator,
  145. Header: protoHeader(FunCode.CJJCMemberOperateReq, 66201)
  146. })
  147. /// 发送请求
  148. sendMsgToMQ({
  149. data: {
  150. data: encryptBody(info),
  151. funCodeReq: FunCode.CJJCMemberOperateReq,
  152. funCodeRsp: FunCode.CJJCMemberOperateRsp,
  153. isEncrypted: isEncrypted()
  154. },
  155. success: (res) => {
  156. /// 解析对象
  157. const data = JSON.parse(res.data.data)
  158. if (data.RetCode != 0) {
  159. hideLoading(() => {}, getErrorMsg(data.RetCode), 'error')
  160. return
  161. }
  162. /// 操作成功
  163. hideLoading(()=>{
  164. /// 重新获取数据
  165. this.queryGZCJJCOrder()
  166. }, '操作成功', 'success')
  167. },
  168. fail: (emsg) => {
  169. /// 操作失败
  170. hideLoading(()=>{}, emsg, 'error')
  171. }
  172. })
  173. }, '操作请求中.....')
  174. },
  175. /**
  176. * 生命周期函数--监听页面加载
  177. */
  178. onLoad() {
  179. /// 查询出境检测单据
  180. this.queryGZCJJCOrder()
  181. },
  182. /**
  183. * 生命周期函数--监听页面初次渲染完成
  184. */
  185. onReady() {
  186. },
  187. /**
  188. * 生命周期函数--监听页面显示
  189. */
  190. onShow() {
  191. },
  192. /**
  193. * 生命周期函数--监听页面隐藏
  194. */
  195. onHide() {
  196. },
  197. /**
  198. * 生命周期函数--监听页面卸载
  199. */
  200. onUnload() {
  201. },
  202. /**
  203. * 页面相关事件处理函数--监听用户下拉动作
  204. */
  205. onPullDownRefresh() {
  206. },
  207. /**
  208. * 页面上拉触底事件的处理函数
  209. */
  210. onReachBottom() {
  211. },
  212. /**
  213. * 用户点击右上角分享
  214. */
  215. onShareAppMessage() {
  216. }
  217. })