order_details.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. var isPay = true; // 是否在请求支付,false表示正在请求,true可以请求
  2. var isEfficacious = true; //商品是否有效,有效则可以支付,无效则不能支付
  3. mui.ready(function() {
  4. var orderId = getParam("orderId");
  5. $('#check-luck-draw').attr("value", orderId);
  6. var table = document.body.querySelector('.shopping-cart-list');
  7. mui.ajax('/iamberry/wechat/cart/getShopOrderByOrderId', {
  8. data: {
  9. orderId: orderId
  10. },
  11. dataType: 'json',
  12. type: 'post',
  13. timeout: 15000,
  14. success: function(dt) {
  15. //服务器返回响应
  16. if(dt.status) {
  17. var bannerdata = dt.data;
  18. $('#logistics').hide();
  19. $('#exchangeOrder').hide();
  20. $('#salesReturn').hide();
  21. $('#refund').hide();
  22. $('#cancelOrder').hide();
  23. $('#orderPay').hide();
  24. $('#oldStatus').val(bannerdata.salesStatus);
  25. if(bannerdata.salesStatus == 1) {
  26. $('#salesStatus').html('待支付');
  27. $('#cancelOrder').show();
  28. $('#orderPay').show();
  29. } else if(bannerdata.salesStatus == 2) {
  30. $('#salesStatus').html('已支付,待发货');
  31. $('#refund').show();
  32. $("#choujiang").show();
  33. } else if(bannerdata.salesStatus == 3) {
  34. $('#salesStatus').html('退款申请中');
  35. } else if(bannerdata.salesStatus == 4) {
  36. $('#salesStatus').html('已退款');
  37. } else if(bannerdata.salesStatus == 5) {
  38. $('#salesStatus').html('已发货');
  39. $('#exchangeOrder').show();
  40. $('#salesReturn').show();
  41. $('#logistics').show();
  42. } else if(bannerdata.salesStatus == 6) {
  43. $('#salesStatus').html('申请退货中');
  44. } else if(bannerdata.salesStatus == 7) {
  45. $('#salesStatus').html('退货中');
  46. } else if(bannerdata.salesStatus == 8) {
  47. $('#salesStatus').html('订单退货,订单关闭');
  48. } else if(bannerdata.salesStatus == 9) {
  49. $('#salesStatus').html('换货中');
  50. $('#logistics').show();
  51. } else if(bannerdata.salesStatus == 10) {
  52. $('#salesStatus').html('换货完成');
  53. $('#logistics').show();
  54. } else if(bannerdata.salesStatus == 11) {
  55. $('#salesStatus').html('申请换货中');
  56. $('#logistics').show();
  57. } else if(bannerdata.salesStatus == 12) {
  58. $('#salesStatus').html('订单完成');
  59. $('#logistics').show();
  60. $('#exchangeOrder').show();
  61. } else if(bannerdata.salesStatus == 0) {
  62. $('#salesStatus').html('取消订单');
  63. }
  64. $('#salesOrderid').html(bannerdata.salesOrderid);
  65. $('#salesCreateDate').html(bannerdata.salesCreateDate);
  66. $('#salesAmount').html('¥' + accDiv(bannerdata.salesAmount, 100));
  67. $('#salesYetAmount').html('¥' + accDiv(bannerdata.salesYetAmount, 100));
  68. $('#salesAddressInfo').html(bannerdata.salesAddressInfo);
  69. $('#salesAddressName').html(bannerdata.salesAddressName);
  70. $('#salesAddressTel').html(bannerdata.salesAddressTel);
  71. $('#salesUserRemark').html(bannerdata.salesUserRemark);
  72. $('#salesLockType').val(bannerdata.salesLockType);
  73. if(bannerdata.salesStatus != 0 && bannerdata.salesStatus != 1 && bannerdata.couponReduce != null && bannerdata.couponReduce != '') {
  74. $('#couponReduce').html('¥' + accDiv(bannerdata.couponReduce, 100));
  75. $('#couponMoney').show();
  76. } else {
  77. $('#couponMoney').hide();
  78. }
  79. if(null != bannerdata.salesPostFirm && bannerdata.salesPostFirm != '' &&
  80. bannerdata.salesPostNum != null && bannerdata.salesPostNum != '') {
  81. if(bannerdata.salesPostFirm == 'shentong') {
  82. $('#salesPostFirm').html('申通快递');
  83. }
  84. if(bannerdata.salesPostFirm == 'yuantong') {
  85. $('#salesPostFirm').html('圆通快递');
  86. }
  87. if(bannerdata.salesPostFirm == 'shunfeng') {
  88. $('#salesPostFirm').html('顺丰快递');
  89. }
  90. if(bannerdata.salesPostFirm == 'longbanwuliu') {
  91. $('#salesPostFirm').html('龙邦快递');
  92. }
  93. $('#salesPostNum').html(bannerdata.salesPostNum);
  94. $('#logistics').show();
  95. } else {
  96. $('#salesPostFirm').html('暂无');
  97. $('#logistics').hide();
  98. }
  99. $('#logistics').attr("postfirm", bannerdata.salesPostFirm);
  100. $('#logistics').attr("postnum", bannerdata.salesPostNum);
  101. $('#logistics').attr("gourl", '/iamberry/pay/goOrderInfo?orderId=' + bannerdata.salesOrderid);
  102. var item = bannerdata.orderItemList;
  103. if(item != null) {
  104. $(item).each(function(index) {
  105. var pro_color = switchcolor(this.productColor)
  106. var li = document.createElement('li');
  107. li.className = 'mui-table-view-cell mui-media bg-f';
  108. li.innerHTML = '<a proid="' + this.itemProductId + '" class="go_chanpin_details"><table class="my-table-order"><tr>' +
  109. '<td rowspan="3"><div class="wh-80"><img src="' + this.itemProductPic + '"></div></td><td>' + this.itemProductName + '</td><td><span><h5 class="mui-text-center">x' + this.itemNum + '</h5></span></td>' +
  110. '</tr>' +
  111. '<tr><td><span><h5>颜色:' + pro_color + '</h5></span></td></tr>' +
  112. '<tr><td><span>单价:<span>¥' + accDiv(this.itemProductDiscount, 100) + '</span></span></td><td><span>合计:<span class="cl-red">¥' + accDiv(this.itemTotal, 100) + '</span></span></td></tr><table></a>';
  113. if(bannerdata.salesStatus == 1 && this.productStatus != 1) {
  114. li.innerHTML = '<a proid="' + this.itemProductId + '" class="go_chanpin_details"><table class="my-table-order" width="100%"><tr>' +
  115. '<td rowspan="3"><div class="wh-80"><img src="' + this.itemProductPic + '"></div></td>' +
  116. '<td rowspan="3"><span>' + this.itemProductName + '</span></td>' +
  117. '</tr>' +
  118. '<tr><td><p class="mui-ellipsis delete-cart-style cl-red">产品下架</p></td></tr><table></a>';
  119. //待支付订单中如果有下架的产品,则不能支付
  120. isEfficacious = false;
  121. }
  122. table.appendChild(li);
  123. });
  124. }
  125. document.querySelector('.loading-bg').style.display = 'none';
  126. }
  127. },
  128. error: function(xhr, type, errorThrown) {
  129. errorfn(xhr);
  130. }
  131. });
  132. });
  133. function goOrderPay() {
  134. if(!isEfficacious) {
  135. mui.alert("您的订单有商品下架,请重新生成订单购买!");
  136. return false;
  137. }
  138. var salesOrderid = $('#salesOrderid').html();
  139. var dataArgs = {
  140. "orderId": salesOrderid
  141. };
  142. if(isPay) {
  143. layer.open({
  144. type: 2,
  145. shadeClose: false,
  146. content: "正在请求加载订单信息..."
  147. }); // 调用加载弹出层
  148. isPay = false; //锁定请求
  149. mui.ajax('/iamberry/wechat/cart/orderPay', { // 提交订单,准备支付
  150. data: dataArgs,
  151. dataType: 'json',
  152. type: 'POST',
  153. timeout: 15000,
  154. success: function(dt) {
  155. layer.closeAll();
  156. if(dt.status) {
  157. var str = dt.data.info;
  158. var obj = JSON.parse("{" + str + "}");
  159. WeixinJSBridge.invoke('getBrandWCPayRequest', obj, function(res) {
  160. if(res.err_msg == 'get_brand_wcpay_request:ok') {
  161. var orderIds = {
  162. "orderId": dt.data.orderId
  163. };
  164. layer.open({
  165. type: 2,
  166. shadeClose: false,
  167. content: "正在请求加载订单信息..."
  168. }); // 调用加载弹出层
  169. mui.ajax('/iamberry/wechat/order/checkOrderPaySuccess', { // 校验订单状态
  170. data: orderIds,
  171. dataType: 'json',
  172. type: 'post',
  173. timeout: 15000,
  174. success: function(dt) {
  175. if(dt.status) { // 支付成功
  176. window.location.href = "/iamberry/wechat/order/paySuccess?orderId=" + orderIds.orderId + "&dates=" + new Date().getTime();
  177. } else {
  178. isPay = false;
  179. setTimeout(checkOrderStatus(orderIds), 1000);
  180. }
  181. },
  182. error: function(xhr, type, errorThrown) {
  183. isPay = true;
  184. layer.closeAll();
  185. mui.alert("您的网络异常,请刷新重试!");
  186. return;
  187. }
  188. });
  189. } else {
  190. isPay = true;
  191. mui.alert("对不起,支付失败!请稍后重试!" + dt.data.orderId + "支付失败!");
  192. window.location.href = "/iamberry/pay/goOrderInfo?orderId=" + dt.data.orderId + "&dates=" + new Date().getTime();; // 前往订单详情
  193. }
  194. });
  195. } else {
  196. isPay = true;
  197. mui.alert(dt.message);
  198. }
  199. },
  200. error: function(xhr, type, errorThrown) {
  201. isPay = true;
  202. layer.closeAll();
  203. mui.alert("您的网络异常,请刷新重试!");
  204. return;
  205. }
  206. });
  207. } else {
  208. mui.alert("正在请求支付中~~请稍后!");
  209. return;
  210. }
  211. }
  212. //根据用户操作选择对应的操作方法
  213. function operation(num) { //num: 1:换货 2:退货
  214. var url = '';
  215. var data = new Array;
  216. var status = $('#oldStatus').val();
  217. var orderId = $('#salesOrderid').html();
  218. var salesLockType = $('#salesLockType').val();
  219. var changeOrderId = $("#changeOrderId").val();
  220. var returnOrderId = $("#returnOrderId").val();
  221. var info = "";
  222. var message = "";
  223. if(status == 1) {
  224. if(salesLockType == 2) {
  225. mui.alert("该订单不能取消!");
  226. return false;
  227. }
  228. //取消订单
  229. info = "您确定要取消订单吗?";
  230. url = '/iamberry/wechat/cart/cancelOrder';
  231. data = {
  232. orderId: orderId,
  233. changeOrderId: changeOrderId,
  234. status: status
  235. }
  236. } else if(status == 2) {
  237. if(salesLockType == 2) {
  238. mui.alert("您申请了微代理,此单已被锁定,无法进行退款操作!");
  239. return false;
  240. }
  241. //申请退款
  242. info = "您确定要申请退款?";
  243. message = "此订单不能退款!";
  244. url = '/iamberry/wechat/cart/returnOrder';
  245. var returnReason = $('#return-money-id').val();
  246. if(returnReason == null || returnReason == '') {
  247. mui.alert("备注必填!请输入1-99个字!");
  248. return false;
  249. } else {
  250. if(!checkAddress(returnReason)) {
  251. mui.alert("您输入的格式有误,请重新输入!");
  252. return false;
  253. }
  254. }
  255. data = {
  256. orderId: orderId,
  257. remark: returnReason,
  258. status: status
  259. }
  260. } else if(status == 5 || status == 12) {
  261. if(num == 1) {
  262. //换货
  263. info = "您确定要申请换货吗?";
  264. message = "超出换货期限,不能换货!";
  265. url = '/iamberry/wechat/cart/exchangeOrder';
  266. data = {
  267. orderId: orderId,
  268. changeOrderId: changeOrderId,
  269. status: status
  270. }
  271. } else {
  272. if(salesLockType == 2) {
  273. mui.alert("您申请了微代理,此单已被锁定,无法进行退货操作!");
  274. return false;
  275. }
  276. //退货
  277. info = "您确定要申请退货吗?";
  278. message = "超出退货期限,不能退货!";
  279. url = '/iamberry/wechat/cart/returnOrder';
  280. var returnReason = $('#return-pay-id').val();
  281. if(returnReason == null || returnReason == '') {
  282. mui.alert("备注必填!请输入1-99个字!");
  283. return false;
  284. } else {
  285. if(!checkAddress(returnReason)) {
  286. mui.alert("您输入的格式有误,请重新输入!");
  287. return false;
  288. }
  289. }
  290. data = {
  291. orderId: orderId,
  292. remark: returnReason,
  293. returnOrderId: returnOrderId,
  294. status: status
  295. }
  296. }
  297. }
  298. var btnArray = ['否', '是'];
  299. mui.confirm(info, '爱贝源-提示', btnArray, function(e) {
  300. if(e.index == 1) {
  301. $.ajax({
  302. data: data,
  303. url: url,
  304. dataType: 'json', //服务器返回json格式数据
  305. type: 'post', //HTTP请求类型
  306. timeout: 15000, //超时时间设置为15秒;
  307. success: function(dt) {
  308. //服务器返回响应
  309. if(dt.status) {
  310. var bannerdata = dt.data;
  311. location.reload();
  312. } else {
  313. mui.alert(message);
  314. }
  315. }
  316. });
  317. }
  318. });
  319. }