detail.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  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. if (s.msg != '成功') return wx.showToast({
  145. title: s.msg,
  146. icon: "none",
  147. mask: true
  148. });
  149. that.getDetail(true, false);
  150. setTimeout(() => {
  151. wx.showToast({
  152. title: '确认收货成功',
  153. icon: "none",
  154. mask: true
  155. });
  156. }, 500);
  157. })
  158. }
  159. })
  160. },
  161. onReachBottom() {
  162. this.partialRenewal();
  163. },
  164. onUnload() {
  165. let page = getCurrentPages().find(v => v.__route__ == 'packageA/shipment/index');
  166. let content = JSON.parse(JSON.stringify(page.data.content));
  167. content.pageNumber = 1;
  168. content.pageSize = (page.data.content.pageNumber - 1) * page.data.content.pageSize;
  169. _Http.basic({
  170. "id": wx.getStorageSync('userrole') == '业务员' ? 20221122132804 : 20230111141104,
  171. content
  172. }).then(res => {
  173. console.log("更新订单列表", res)
  174. if (res.msg == '成功') page.setData({
  175. list: res.data
  176. })
  177. })
  178. },
  179. })