index.ts 6.0 KB

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