detail.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. const _Http = getApp().globalData.http;
  2. Page({
  3. data: {
  4. loading: true,
  5. sa_logisticsid: null,
  6. tabsActive: 0,
  7. tabsList: [{
  8. label: "详细信息",
  9. icon: "icon-tabchanpin"
  10. }, {
  11. label: "物流查询",
  12. icon: "icon-tabfujian1",
  13. model: "#Query"
  14. }, {
  15. label: "装箱明细",
  16. icon: "icon-tabcaozuojilu1",
  17. model: "#Binding"
  18. }]
  19. },
  20. onLoad(options) {
  21. this.setData({
  22. sa_logisticsid: options.id
  23. });
  24. this.getDetail(true);
  25. },
  26. /* 获取详情 */
  27. getDetail(init = false, show = true) {
  28. _Http.basic({
  29. "id": 20221204201804,
  30. "content": {
  31. nocache: true,
  32. "sa_logisticsid": this.data.sa_logisticsid
  33. }
  34. }, show).then(res => {
  35. console.log("出货详情", res)
  36. if (res.msg != '成功') return wx.showToast({
  37. title: res.msg,
  38. icon: "none"
  39. });
  40. this.setPreview(res.data[0]);
  41. this.setData({
  42. detail: res.data[0],
  43. loading: false
  44. });
  45. if (init) this.partialRenewal(true)
  46. })
  47. },
  48. /* 设置详情信息 */
  49. setPreview(data) {
  50. let list1 = [{
  51. label: "物流单号",
  52. value: data.logisticno
  53. }, {
  54. label: "状态",
  55. value: data.status == '审核' ? '待收货' : '已收货'
  56. }, {
  57. label: "收货人",
  58. value: data.name
  59. }, {
  60. label: "收货地址",
  61. value: data.address
  62. }, {
  63. label: "快递公司",
  64. value: data.logiscomp_enterprisename
  65. }, {
  66. label: "快递单号",
  67. value: data.logisticno
  68. }, {
  69. label: "运费状态",
  70. value: data.paytype
  71. }, {
  72. label: "运费",
  73. value: data.freightamount
  74. }, {
  75. label: "备注",
  76. value: data.remarks
  77. }, ],
  78. list2 = [{
  79. label: "创建人",
  80. value: data.createby
  81. }, {
  82. label: "创建时间",
  83. value: data.createdate
  84. }, {
  85. label: "审核人",
  86. value: data.checkby
  87. }, {
  88. label: "审核时间",
  89. value: data.checkdate
  90. }, {
  91. label: "收货人",
  92. value: data.receiveby
  93. }, {
  94. label: "收货时间",
  95. value: data.receivedate
  96. }];
  97. this.setData({
  98. list1,
  99. list2
  100. })
  101. },
  102. //tabs 切换
  103. tabsChange({
  104. detail
  105. }) {
  106. this.setData({
  107. tabsActive: detail
  108. });
  109. this.partialRenewal();
  110. },
  111. //局部数据更新 tabs
  112. partialRenewal(init = false) {
  113. let model = this.data.tabsList[this.data.tabsActive].model;
  114. if (model) {
  115. let Component = this.selectComponent(model),
  116. {
  117. total,
  118. pageNumber,
  119. pageTotal
  120. } = Component.data.content,
  121. id = this.data.detail.sa_logisticsid;
  122. // if (model == "#Binding") id = this.data.detail.sa_logistics_boxid;
  123. if (total == null || init) {
  124. Component.getList(id, init);
  125. } else if (pageNumber < pageTotal) {
  126. Component.getList(id, false);
  127. }
  128. }
  129. },
  130. /* 确认收货 */
  131. receiving() {
  132. let that = this;
  133. wx.showModal({
  134. title: '提示',
  135. content: '是否确认收货?确认后不可更改',
  136. complete: (res) => {
  137. if (res.confirm) _Http.basic({
  138. "id": "20221122133204",
  139. "content": {
  140. "sa_logisticsid": that.data.sa_logisticsid
  141. }
  142. }).then(s => {
  143. console.log("确认收货", s)
  144. wx.showToast({
  145. title: s.msg == '成功' ? "确认收货成功" : s.msg,
  146. icon: "none",
  147. mask: true
  148. });
  149. if (s.msg == '成功') that.getDetail(true, false);
  150. })
  151. }
  152. })
  153. },
  154. onReachBottom() {
  155. this.partialRenewal();
  156. },
  157. onUnload() {
  158. console.log("更新列表数据")
  159. let page = getCurrentPages().find(v => v.__route__ == 'packageA/shipment/index');
  160. let content = JSON.parse(JSON.stringify(page.data.content));
  161. content.pageNumber = 1;
  162. content.pageSize = page.data.list.length;
  163. _Http.basic({
  164. "id": 20230111141104,
  165. content
  166. }).then(res => {
  167. console.log("更新订单列表", res)
  168. if (res.msg == '成功') page.setData({
  169. list: res.data
  170. })
  171. })
  172. },
  173. })