writeReturnLogistics.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. // pages/writeReturnLogistics/writeReturnLogistics.js
  2. var http = require('../../utils/http.js');
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. // 物流公司选择
  9. deliveryList:[],
  10. expressId: 0, //物流公司id
  11. loading:false,
  12. expressName: '', //物流公司名称
  13. expressNo: '', //物流单号
  14. imgs: [], //图片凭证
  15. mobile: '', //手机号码
  16. refundSn: '', //退款编号名称
  17. shopId: '', //店铺id
  18. senderRemarks: '', //备注信息
  19. type:'',//编辑模式
  20. editData:null
  21. },
  22. /**
  23. * 选择物流公司
  24. */
  25. chooseLogisticsCompany: function (e) {
  26. console.log('快递公司',e.detail.value)
  27. this.setData({
  28. expressId: e.detail.value
  29. })
  30. },
  31. onExpressNoInput:function(e){
  32. this.setData({
  33. expressNo:e.detail.value
  34. });
  35. },
  36. onSenderRemarksInput: function (e) {
  37. this.setData({
  38. senderRemarks: e.detail.value
  39. });
  40. },
  41. /**
  42. * 填写&提交物流信息
  43. */
  44. writeLogisticsMsg: function (e) {
  45. wx.showLoading();
  46. let that = this
  47. if(this.loading) return
  48. if (this.data.expressNo.length == 0) {
  49. return wx.showToast({
  50. icon: 'none',
  51. title: '请填写物流单号',
  52. })
  53. } else {
  54. var pics = '';
  55. this.data.imgs.forEach(function (item) {
  56. // pics += item.path + ',';
  57. pics += item.url + ',';
  58. });
  59. if (pics != '') {
  60. pics = pics.substring(0, pics.length - 1)
  61. }
  62. this.loading = true
  63. var parmas = {
  64. url:this.data.type == 'edit'?"/refund/delivery/update": "/refund/delivery/save",
  65. method: this.data.type == 'edit'?"PUT":"POST",
  66. data: {
  67. shopId:this.data.shopId,
  68. deyId: this.data.deliveryList[this.data.expressId].dvyId, //物流公司id
  69. deyName: this.data.deliveryList[this.data.expressId].dvyName, //物流公司名称
  70. deyNu: this.data.expressNo, //物流单号
  71. imgs: pics, //图片凭证
  72. senderMobile: this.data.mobile, //手机号码
  73. refundSn: this.data.refundSn, //退款编号名称
  74. senderRemarks: this.data.senderRemarks, //备注信息
  75. userId:wx.getStorageSync("loginResult").userId
  76. },
  77. callBack: (res) => {
  78. that.loading = fasle
  79. wx.hideLoading();
  80. // 物流填写跳转页面
  81. wx.navigateTo({
  82. url: '/pages/DetailsOfRefund/DetailsOfRefund?refundSn=' + this.data.refundSn,
  83. })
  84. }
  85. };
  86. http.request(parmas);
  87. }
  88. },
  89. /**
  90. * 上传图片
  91. */
  92. getUploadImg: function (e) {
  93. const idx = e.target.dataset.idx
  94. console.log(idx);
  95. var ths = this;
  96. wx.chooseImage({
  97. count: 1, // 默认9
  98. sizeType: ['compressed'],
  99. sourceType: ['album', 'camera'],
  100. success: function (res) {
  101. // 图片的本地临时文件路径列表
  102. var tempFilePaths = res.tempFilePaths;
  103. wx.showLoading({
  104. mask: true
  105. })
  106. var params = {
  107. url: "/p/file/upload",
  108. filePath: tempFilePaths[0],
  109. name: 'file',
  110. callBack: function (res2) {
  111. wx.hideLoading();
  112. var img = {};
  113. img.path = JSON.parse(res2).filePath;
  114. img.url = JSON.parse(res2).resourcesUrl + JSON.parse(res2).filePath;
  115. var imgs = ths.data.imgs;
  116. imgs.push(img);
  117. ths.setData({
  118. imgs: imgs
  119. })
  120. }
  121. };
  122. http.upload(params);
  123. }
  124. })
  125. },
  126. /**
  127. * 删除图片
  128. */
  129. removeImage: function (e) {
  130. // const index = e.target.dataset.index
  131. // const idx = e.target.dataset.idx;
  132. var idx = e.currentTarget.dataset.idx;
  133. var imgs = this.data.imgs;
  134. imgs.splice(idx, 1)
  135. this.setData({
  136. imgs: imgs
  137. });
  138. console.log('删除图片')
  139. },
  140. /**
  141. * 生命周期函数--监听页面加载
  142. */
  143. onLoad: function (options) {
  144. this.setData({
  145. refundSn: options.refundSn,
  146. shopId: options.shopId,
  147. type:options.type,
  148. });
  149. this.loadDeliveryData();
  150. },
  151. //获取物流公司列表
  152. loadDeliveryData(){
  153. wx.showLoading();
  154. http.request({
  155. url:"/p/delivery/list",
  156. method: "get",
  157. data: {},
  158. callBack: (res) => {
  159. wx.hideLoading();
  160. this.setData({
  161. deliveryList:res
  162. });
  163. console.log(res)
  164. if(this.data.type == 'edit'){
  165. this.getByRefundSn()
  166. }
  167. }
  168. });
  169. console.log(this.data.deliveryList)
  170. },
  171. /**
  172. *
  173. * 获取退货物流信息
  174. */
  175. getByRefundSn(){
  176. var parmas = {
  177. url: `/refund/delivery/getByRefundSn/${this.data.refundSn}`,
  178. method: "GET",
  179. data: {},
  180. callBack: (r) => {
  181. let res = r.data
  182. let imgs = []
  183. if(res.imgs){
  184. imgs = res.imgs.split(',').map(i=>{
  185. return {url:i,path:i}
  186. })
  187. }
  188. let expressId = 0
  189. this.data.deliveryList.forEach((i,d)=>{
  190. if(i.dvyId == res.deyId){
  191. expressId = d
  192. }
  193. })
  194. this.setData({
  195. expressId,
  196. expressNo:res.deyNu,
  197. imgs,
  198. senderRemarks:res.senderRemarks,
  199. })
  200. }
  201. };
  202. http.request(parmas);
  203. },
  204. /**
  205. * 生命周期函数--监听页面初次渲染完成
  206. */
  207. onReady: function () {
  208. },
  209. /**
  210. * 生命周期函数--监听页面显示
  211. */
  212. onShow: function () {
  213. },
  214. /**
  215. * 生命周期函数--监听页面隐藏
  216. */
  217. onHide: function () {
  218. },
  219. /**
  220. * 生命周期函数--监听页面卸载
  221. */
  222. onUnload: function () {
  223. },
  224. /**
  225. * 页面相关事件处理函数--监听用户下拉动作
  226. */
  227. onPullDownRefresh: function () {
  228. },
  229. /**
  230. * 页面上拉触底事件的处理函数
  231. */
  232. onReachBottom: function () {
  233. },
  234. /**
  235. * 用户点击右上角分享
  236. */
  237. onShareAppMessage: function () {
  238. }
  239. })