链街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.

86 lines
3.2 KiB

6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
  1. <?php
  2. namespace App\Admin\Extensions;
  3. use App\Models\ImsCjdcOrder;
  4. use App\Models\ImsCjdcOrderMain;
  5. use App\Models\LanzuOrderGoods;
  6. use App\Models\LanzuServiceHorseman;
  7. use Dcat\Admin\Admin;
  8. use Dcat\Admin\Support\LazyRenderable;
  9. use Endroid\QrCode\Exceptions\DataDoesntExistsException;
  10. class MyDetailPage extends LazyRenderable
  11. {
  12. protected static $js = ['https://cdn.jsdelivr.net/npm/vue'];
  13. protected static $css = ['css/deatail.css'];
  14. public function render()
  15. {
  16. //>>1.主订单数据
  17. $order = ImsCjdcOrderMain::where('id',$this->order_id)->first()->toArray();
  18. if ($order){
  19. $order['created_at'] = date('Y-m-d H:i:s',$order['created_at']);
  20. $order['updated_at'] =$order['updated_at'] ? date('Y-m-d H:i:s',$order['updated_at']):null;
  21. $order['pay_type'] = config('order.pay_type')[$order['pay_type']];
  22. $order['shipping_type'] = config('order.shipping_type')[$order['shipping_type']];
  23. $order['horseman_name'] = LanzuServiceHorseman::getName($order['horseman_id']);
  24. //>>2.获取子订单
  25. $orders = ImsCjdcOrder::with('user')->with('store')
  26. ->where('order_main_id',$order['id'])->get()->toArray();
  27. if (count($orders)){
  28. foreach ($orders as &$or){
  29. if (substr($or['store']['logo'],0,4)!='http'){
  30. $or['store']['logo'] = env('IMG_HOST').'/'.$or['store']['logo'];
  31. }
  32. $or['goods'] = LanzuOrderGoods::where('order_id',$or['id'])->get()->toArray();
  33. }
  34. }
  35. //dd($orders);
  36. $orders = json_encode($orders);
  37. }
  38. //配送距离
  39. //配送费
  40. //拒绝退款理由
  41. //退款总备注原因,单个商品或者单个子订单
  42. Admin::script(
  43. <<<JS
  44. var orders = JSON.stringify($orders)
  45. var app = new Vue({
  46. el:"#detail",
  47. data:{
  48. order_num: "{$order['order_num']}",
  49. name: "{$order['name']}",
  50. created_at: "{$order['created_at']}",
  51. updated_at: "{$order['updated_at']}",
  52. pay_type: "{$order['pay_type']}",
  53. shipping_type: "{$order['shipping_type']}",
  54. tel: "{$order['tel']}",
  55. delivery_time_note: "{$order['delivery_time_note']}",
  56. refuse_refund_note: "{$order['refuse_refund_note']}",
  57. total_refund_note: "{$order['total_refund_note']}",
  58. address: "{$order['address']}",
  59. note: "{$order['note']}",
  60. money: "{$order['money']}",
  61. total_money: "{$order['total_money']}",
  62. services_money: "{$order['services_money']}",
  63. coupon_money: "{$order['coupon_money']}",
  64. delivery_money: "{$order['delivery_money']}",
  65. horseman_name: "{$order['horseman_name']}",
  66. orders: JSON.parse(orders)
  67. }
  68. });
  69. JS
  70. );
  71. return view('orderdetail');
  72. }
  73. }