detail.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. const _Http = getApp().globalData.http;
  2. Page({
  3. data: {
  4. loading: true,
  5. sa_logisticsid: null,
  6. tabsActive: 2,
  7. tabsList: [{
  8. label: "详细信息",
  9. icon: "icon-tabchanpin"
  10. }, {
  11. label: "物流跟踪",
  12. icon: "icon-tabfujian1",
  13. model: "#Query"
  14. }, {
  15. label: "送货明细", //label: "装箱明细",
  16. icon: "icon-tabcaozuojilu1",
  17. model: "#Delivery" //"#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": 20230720142002,
  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);
  41. this.setData({
  42. detail: res.data,
  43. loading: false
  44. });
  45. if (init) this.partialRenewal(true)
  46. })
  47. },
  48. /* 设置详情信息 */
  49. setPreview(data) {
  50. let list1 = [{
  51. label: "物流公司",
  52. value: data.logiscomp_name
  53. }, {
  54. label: "物流单号",
  55. value: data.logisticno
  56. }, {
  57. label: "单据日期",
  58. value: data.billdate
  59. }, {
  60. label: "收货人",
  61. value: data.name
  62. }, {
  63. label: "联系方式",
  64. value: data.phonenumber
  65. }, {
  66. label: "详细地址",
  67. value: data.province + data.city + data.county + data.address
  68. }, {
  69. label: "件数",
  70. value: data.packageqty
  71. }, {
  72. label: "重量",
  73. value: data.weight
  74. }, {
  75. label: "体积",
  76. value: data.volume
  77. }, {
  78. label: "物流费",
  79. value: data.logisticsamount
  80. }, {
  81. label: "物流状态",
  82. value: data.logisticsstatus
  83. },
  84. ],
  85. list2 = [{
  86. label: "创建人",
  87. value: data.createby
  88. }, {
  89. label: "创建时间",
  90. value: data.createdate
  91. }, {
  92. label: "审核人",
  93. value: data.checkby
  94. }, {
  95. label: "审核时间",
  96. value: data.checkdate
  97. }, {
  98. label: "收货人",
  99. value: data.receiveby
  100. }, {
  101. label: "收货时间",
  102. value: data.receivedate
  103. }];
  104. this.setData({
  105. list1,
  106. list2
  107. })
  108. },
  109. //tabs 切换
  110. tabsChange({
  111. detail
  112. }) {
  113. this.setData({
  114. tabsActive: detail
  115. });
  116. this.partialRenewal();
  117. },
  118. //局部数据更新 tabs
  119. partialRenewal(init = false) {
  120. let model = this.data.tabsList[this.data.tabsActive].model;
  121. if (model) {
  122. let Component = this.selectComponent(model),
  123. {
  124. total,
  125. pageNumber,
  126. pageTotal
  127. } = Component.data.content,
  128. id = this.data.detail.sa_logisticsid;
  129. // if (model == "#Binding") id = this.data.detail.sa_logistics_boxid;
  130. if (model == "#Query") id = this.data.detail.billno;
  131. if (total == null || init) {
  132. Component.getList(id, init);
  133. } else if (pageNumber <= pageTotal) {
  134. Component.getList(id, false);
  135. }
  136. }
  137. },
  138. /* 确认收货 */
  139. receiving() {
  140. let that = this;
  141. wx.showModal({
  142. title: '提示',
  143. content: '是否确认收货?确认后不可更改',
  144. complete: (res) => {
  145. if (res.confirm) _Http.basic({
  146. "id": "20230721104302",
  147. "content": {
  148. "sa_logisticsid": that.data.sa_logisticsid
  149. }
  150. }).then(s => {
  151. console.log("确认收货", s)
  152. if (s.msg != '成功') return wx.showToast({
  153. title: s.msg,
  154. icon: "none",
  155. mask: true
  156. });
  157. that.getDetail(true, false);
  158. setTimeout(() => {
  159. wx.showToast({
  160. title: '确认收货成功',
  161. icon: "none",
  162. mask: true
  163. });
  164. }, 500);
  165. })
  166. }
  167. })
  168. },
  169. onReachBottom() {
  170. this.partialRenewal();
  171. },
  172. onUnload() {
  173. let page = getCurrentPages().find(v => v.__route__ == 'packageA/shipment/index');
  174. let content = JSON.parse(JSON.stringify(page.data.content));
  175. content.pageNumber = 1;
  176. content.pageSize = (page.data.content.pageNumber - 1) * page.data.content.pageSize;
  177. _Http.basic({
  178. "id": 20230720142102,
  179. content
  180. }).then(res => {
  181. console.log("更新订单列表", res)
  182. if (res.msg == '成功') page.setData({
  183. list: res.data
  184. })
  185. })
  186. },
  187. })