order.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. {extend name="public/container"}
  2. {block name="title"}订单详情{/block}
  3. {block name="head_top"}
  4. <style>
  5. body {
  6. padding-bottom: 1.12rem;
  7. background-color: #f5f5f5;
  8. }
  9. </style>
  10. {/block}
  11. {block name="content"}
  12. <div v-cloak id="app">
  13. <div class="order-detail">
  14. <!-- 退款 -->
  15. {if condition="$order.refund_reason neq '' && $order.refund_status eq 0"}
  16. <div class="section return">
  17. <div>卖家拒绝退款</div>
  18. <div class="time">拒绝退款原因:{$order.refund_reason}</div>
  19. <div class="time">处理时间:{$order.refund_reason_time}</div>
  20. </div>
  21. {/if}
  22. <!-- 退货 -->
  23. {if condition="$order.refund_status eq 1"}
  24. <div class="section return">
  25. <div>退款中</div>
  26. <div class="time">申请时间:{$order.refund_application_time}</div>
  27. </div>
  28. {elseif condition="$order.refund_status eq 2"}
  29. <div class="section return">
  30. <div>已退款</div>
  31. <div class="time">{$order._status._msg}</div>
  32. </div>
  33. {/if}
  34. {if condition="$order.refund_status eq 0 && $order.refund_reason eq ''"}
  35. <div class="section status">
  36. <div class="image">
  37. <img src="{$order.status_pic}">
  38. </div>
  39. <div class="text">
  40. <div>{$order._status._title}</div>
  41. <div class="time">{$order._status._msg}</div>
  42. </div>
  43. </div>
  44. {/if}
  45. <div class="section contact">
  46. <div>
  47. <span>{$order.real_name}</span>
  48. <span>{$order.user_phone}</span>
  49. </div>
  50. <div class="address">{$order.user_address}</div>
  51. </div>
  52. <div class="section goods">
  53. {volist name="order.cartInfo" id="cart"}
  54. <div class="goods-bd">
  55. <div class="image">
  56. <img src="{$cart.productInfo.image}">
  57. </div>
  58. <div class="text">
  59. <div class="name">{$cart.productInfo.store_name}</div>
  60. <div class="money">
  61. <div class="price">¥
  62. <span>{$cart.truePrice}</span>
  63. </div>
  64. </div>
  65. </div>
  66. <div class="num">x{$cart.cart_num}</div>
  67. </div>
  68. {/volist}
  69. <div class="goods-ft">共{$order.total_num}件商品,总金额 <span>¥{$order.total_price}</span></div>
  70. </div>
  71. <!-- 待收货 -->
  72. {if condition="$order.status EGT 1"}
  73. <div class="section express">
  74. <div class="image">
  75. <img src="/wap/first/zsff/images/express.png">
  76. </div>
  77. <div class="text">
  78. <div>物流公司:<span>{$order.delivery_name}</span></div>
  79. <div>快递单号:<span id="account">{$order.delivery_id}</span></div>
  80. </div>
  81. <button type="button" data-clipboard-action="copy" data-clipboard-target="#account" @click="copyNo" id="copy">复制单号</button>
  82. </div>
  83. {/if}
  84. <ul class="section list">
  85. <li>
  86. <div>订单编号:</div>
  87. <div>{$order.order_id}</div>
  88. </li>
  89. <li>
  90. <div>下单时间:</div>
  91. <div>{$order.add_time|date="Y-m-d H:i",###}</div>
  92. </li>
  93. <li>
  94. <div>商品金额:</div>
  95. <div>¥{$order.total_price}</div>
  96. </li>
  97. <li>
  98. <div>支付方式:</div>
  99. <div>{$order._status._payType}</div>
  100. </li>
  101. {gt name="order.total_postage" value="0"}
  102. <li>
  103. <div>运费:</div>
  104. <div>+¥{$order.total_postage}</div>
  105. </li>
  106. {/gt}
  107. <li>
  108. <div>实付款:</div>
  109. <div>¥{$order.pay_price}</div>
  110. </li>
  111. <li>
  112. <div>买家留言:</div>
  113. <div class="msg">{$order.mark}</div>
  114. </li>
  115. </ul>
  116. <div class="footer">
  117. {if condition="$order._status._type eq 0"}
  118. <a href="javascript:void(0);" class="blue" @click="submit">立即付款</a>
  119. <a href="javascript:void(0);" @click="removeOrder">删除订单</a>
  120. {/if}
  121. {if condition="$order._status._type eq 1 && $order.refund_reason eq '' && $order.refund_status eq 0"}
  122. <a href="javascript:void(0);" @click="applyRefundOrder">申请退款</a>
  123. {/if}
  124. {if condition="$order._status._type eq 2"}
  125. <a href="javascript:void(0);" class="blue" @click="userTake">确认收货</a>
  126. {/if}
  127. {if condition="$order._status._type eq 3 && $order.refund_reason eq '' && $order.refund_status eq 0"}
  128. <a href="javascript:void(0);" @click="applyRefundOrder">申请退款</a>
  129. <a href="javascript:void(0);" @click="removeOrder">删除订单</a>
  130. {/if}
  131. {if condition="$order.refund_reason neq '' && $order.refund_status eq 0 && $order._status._type neq 2"}
  132. <a href="javascript:void(0);" class="blue" @click="applyRefundOrder()">再次申请</a>
  133. {/if}
  134. {if condition="$order.refund_status eq 2"}
  135. <a href="javascript:void(0);" @click="removeOrder">删除订单</a>
  136. {/if}
  137. <a href="javascript:void(0);" @click="services">联系客服</a>
  138. </div>
  139. </div>
  140. <payment @change="changeVal" :payment="payment" :money="money" :isyue="is_yue" :now_money="now_money" :special_id="id" :isAlipay="is_alipay" :iswechat="isWechat" :pay_type_num="pay_type_num" ></payment>
  141. <enter :appear="appear" @change="changeVal" :url="url" :site_name="site_name"></enter>
  142. <shortcut></shortcut>
  143. </div>
  144. <script>
  145. var site_name = '{$Auth_site_name}';
  146. var id="{$order.id}";
  147. var orderId="{$order.order_id}";
  148. var money="{$order.pay_price}";
  149. var isWechat={$isWechat ? 'true' : 'false'},is_yue={$is_yue ? 'true' : 'false'},now_money={$now_money},is_alipay={$is_alipay ? 'true' : 'false'};
  150. require(['vue', 'store', 'helper','layer','clipboard','{__WAP_PATH}zsff/js/payment.js', '{__WAP_PATH}zsff/js/enter.js', '{__WAP_PATH}zsff/js/shortcut.js'], function (Vue, api, $h,layer,Clipboard) {
  151. var app = new Vue({
  152. el: '#app',
  153. data: {
  154. appear: true,
  155. isWechat:isWechat,
  156. url:isWechat ? $h.U({c:'index',a:'login'}):$h.U({c:'login',a:'phone_check'}),
  157. id:id,
  158. orderId:orderId,
  159. payment:true,
  160. money:money,
  161. pay_type_num:50,
  162. is_alipay: is_alipay, //支付宝是否开启
  163. now_money: now_money, //余额
  164. is_yue:is_yue //余额是否开启
  165. },
  166. mounted: function () {
  167. api.baseGet($h.U({c:'index',a:'user_login'}),function (res) {
  168. this.appear=true;
  169. }.bind(this),function (res) {
  170. this.appear=false;
  171. return false;
  172. }.bind(this));
  173. },
  174. methods: {
  175. submit: function () {
  176. this.payment=false;
  177. },
  178. copyNo:function(delivery_id){
  179. var clipboard = new Clipboard('#copy');
  180. clipboard.on('success', function (e) {
  181. return $h.pushMsgOnce('复制成功');
  182. });
  183. clipboard.on('error', function (e) {
  184. return $h.pushMsgOnce('复制失败');
  185. });
  186. },
  187. userTake:function(){
  188. var that = this;
  189. layer.confirm('确定立即收货?',{icon:3},function(index){
  190. layer.close(index);
  191. $h.loadFFF();
  192. api.userTakeOrder(that.orderId,function(){
  193. $h.loadClear();
  194. $h.pushMsg('收货成功',function(){
  195. location.reload(true);
  196. });
  197. },function(e){ $h.loadClear(); return true; });
  198. })
  199. },
  200. removeOrder: function () {
  201. var that = this;
  202. layer.confirm('是否删除该订单?', { icon: 3, title: false, btn: ['删除', '取消'] }, function (index) {
  203. layer.close(index);
  204. $h.loadFFF();
  205. api.removeUserOrder(that.orderId, function () {
  206. $h.loadClear();
  207. $h.pushMsg('删除成功', function () {
  208. location.replace($h.U({
  209. c: 'special',
  210. a: 'order_store_list'
  211. }));
  212. });
  213. }, function (e) { $h.loadClear(); return true; });
  214. })
  215. },
  216. services:function(){
  217. location.replace($h.U({
  218. c:'service',
  219. a:'service_list'
  220. }));
  221. },
  222. applyRefundOrder:function(){
  223. location.replace($h.U({
  224. c:'my',
  225. a:'refund_apply',
  226. p:{order_id:this.orderId}
  227. }));
  228. },
  229. pay_order:function(data){
  230. this.orderId=data.result.orderId || '';
  231. switch (data.status){
  232. case "PAY_ERROR":case 'ORDER_EXIST':case 'ORDER_ERROR':
  233. this.extendOrder(data.msg);
  234. break;
  235. case 'WECHAT_PAY':
  236. this.wechatPay(data.result.jsConfig);
  237. break;
  238. case 'SUCCESS':
  239. this.successOrder(data.msg);
  240. break;
  241. case 'ZHIFUBAO_PAY':
  242. window.location.href=$h.U({c:'Alipay',a:'index',q:{info:data.result,params:'goods'}});
  243. break;
  244. }
  245. },
  246. wechatPay:function(config){
  247. var that = this;
  248. mapleWx($jssdk(),function(){
  249. this.chooseWXPay(config,function(){
  250. that.successOrder();
  251. },{
  252. fail:that.extendOrder,
  253. cancel:that.extendOrder
  254. });
  255. });
  256. },
  257. successOrder:function(msg){
  258. $h.showMsg({
  259. title:msg ? msg :'支付成功',
  260. icon:'success',
  261. success:function (){
  262. location.reload();
  263. }
  264. });
  265. },
  266. extendOrder:function(msg){
  267. $h.showMsg({
  268. title: typeof msg == 'object' ? '支付失败' : msg,
  269. icon:'error',
  270. success:function (){
  271. location.reload();
  272. }
  273. });
  274. },
  275. enter: function () {
  276. this.appear = false;
  277. },
  278. //关闭支付
  279. payClose:function(value){
  280. this.payment=value;
  281. },
  282. //所有插件回调处理事件
  283. changeVal: function (opt) {
  284. if (typeof opt != 'object') opt = {};
  285. var action = opt.action || '';
  286. var value = opt.value || '';
  287. this[action] && this[action](value);
  288. },
  289. }
  290. });
  291. });
  292. </script>
  293. {/block}