链街Dcat后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

136 lines
5.9 KiB

5 years ago
  1. <?php
  2. namespace App\Admin\Extensions;
  3. use App\Admin\Common\LinkUrl;
  4. use App\Models\ImsCjdcOrder;
  5. use App\Models\ImsCjdcOrderMain;
  6. use App\Models\LanzuOrderGoods;
  7. use App\Models\LanzuServiceHorseman;
  8. use Dcat\Admin\Admin;
  9. use Dcat\Admin\Support\LazyRenderable;
  10. use Endroid\QrCode\Exceptions\DataDoesntExistsException;
  11. class OrderReportPage extends LazyRenderable
  12. {
  13. protected static $js = [LinkUrl::VUE_JS, LinkUrl::ELEMENT_UI_JS];
  14. protected static $css = [LinkUrl::DETAIL_CSS, LinkUrl::ELEMENT_UI_CSS];
  15. public function render()
  16. {
  17. //>>1.主订单数据
  18. $order = ImsCjdcOrderMain::getOrderData($this->order_id);
  19. if ($order) {
  20. // $search = array(" "," ","\n","\r","\t");
  21. // $replace = array("","","","","");
  22. // $order['address'] = str_replace($search, $replace, $order['address']);
  23. //>>2.获取子订单
  24. $result = ImsCjdcOrder::getOrdersData($order['global_order_id'],$order['id']);
  25. $orders = json_encode($result['orders']);
  26. $showRefund = json_encode($result['show_refund']);
  27. $path = "order?page=".$this->page;
  28. Admin::script(
  29. <<<JS
  30. var orders = JSON.stringify($orders)
  31. var show_refund = JSON.stringify($showRefund)
  32. var app = new Vue({
  33. el:"#detail",
  34. data:{
  35. dialogFormVisible: false,
  36. order_num: "{$order['order_num']}",
  37. name: "{$order['name']}",
  38. state: "{$order['state']}",
  39. created_at: "{$order['created_at']}",
  40. updated_at: "{$order['updated_at']}",
  41. pay_type: "{$order['pay_type']}",
  42. shipping_type: "{$order['shipping_type']}",
  43. tel: "{$order['tel']}",
  44. delivery_time_note: "{$order['delivery_time_note']}",
  45. refuse_refund_note: "{$order['refuse_refund_note']}",
  46. total_refund_note: "{$order['total_refund_note']}",
  47. address: "{$order['address']}",
  48. note: "{$order['note']}",
  49. money: "{$order['money']}",
  50. total_money: "{$order['total_money']}",
  51. services_money: "{$order['services_money']}",
  52. coupon_money: "{$order['coupon_money']}",
  53. delivery_money: "{$order['delivery_money']}",
  54. horseman_name: "{$order['horseman_name']}",
  55. distance: "{$order['delivery_distance']}",
  56. orders: JSON.parse(orders),
  57. show_refund: JSON.parse(show_refund),
  58. refund_2:"退款",
  59. refund_3:"已同意退款",
  60. refund_goods_name:"",
  61. global_order_id:"{$order['global_order_id']}",
  62. user_id:"{$order['user_id']}",
  63. order_goods_id:null,
  64. order_child_id:null,
  65. show_refund_2:true,
  66. show_refund_3:false,
  67. path:"{$path}"
  68. },
  69. methods: {
  70. refundNote(name,order_goods_id,order_child_id) {
  71. this.dialogFormVisible = true;
  72. this.order_goods_id=order_goods_id;
  73. this.order_child_id=order_child_id;
  74. this.refund_goods_name ="退款备注商品 ["+name+"]" ;
  75. },
  76. refundConfirm() {
  77. if (this.total_refund_note==''){
  78. this.\$message({message: '请备注退款原因!',type: 'warning'})
  79. return false;
  80. }
  81. this.\$confirm('是否同意该商品退款?', '提示', {
  82. confirmButtonText: '同意',
  83. cancelButtonText: '取消',
  84. type: 'warning'
  85. }).then(() => {
  86. that = this;
  87. $.ajax({
  88. url: "order_goods_refund",
  89. type: "get",
  90. contentType: "text/html; charset=utf-8",
  91. dataType: "json",
  92. data: {
  93. user_id:that.user_id,
  94. note:that.total_refund_note,
  95. global_order_id:that.global_order_id,
  96. order_child_id:that.order_child_id,
  97. order_goods_id:that.order_goods_id
  98. },
  99. success: function (res) {
  100. if (res.code==0){
  101. that.\$message({
  102. message: '退款成功',
  103. type: 'success'
  104. })
  105. that.show_refund[that.order_goods_id].show_refund_2=false
  106. that.show_refund[that.order_goods_id].show_refund_3=true
  107. }else {
  108. that.\$message.error('提现失败');
  109. }
  110. that.dialogFormVisible = false;
  111. },
  112. error: function (xhr, err) {
  113. console.log("错误", err)
  114. }
  115. });
  116. }).catch(() => {
  117. });
  118. }
  119. }
  120. });
  121. JS
  122. );
  123. }
  124. return view('orderdetail');
  125. }
  126. }