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

83 lines
3.1 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
  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. $orders = json_encode($orders);
  36. }
  37. //配送距离
  38. //配送费
  39. //拒绝退款理由
  40. //退款总备注原因,单个商品或者单个子订单
  41. Admin::script(
  42. <<<JS
  43. var orders = JSON.stringify($orders)
  44. var app = new Vue({
  45. el:"#detail",
  46. data:{
  47. order_num: "{$order['order_num']}",
  48. name: "{$order['name']}",
  49. created_at: "{$order['created_at']}",
  50. updated_at: "{$order['updated_at']}",
  51. pay_type: "{$order['pay_type']}",
  52. shipping_type: "{$order['shipping_type']}",
  53. tel: "{$order['tel']}",
  54. delivery_time_note: "{$order['delivery_time_note']}",
  55. refuse_refund_note: "{$order['refuse_refund_note']}",
  56. address: "{$order['address']}",
  57. note: "{$order['note']}",
  58. money: "{$order['money']}",
  59. total_money: "{$order['total_money']}",
  60. services_money: "{$order['services_money']}",
  61. coupon_money: "{$order['coupon_money']}",
  62. delivery_money: "{$order['delivery_money']}",
  63. horseman_name: "{$order['horseman_name']}",
  64. orders: JSON.parse(orders)
  65. }
  66. });
  67. JS
  68. );
  69. return view('orderdetail');
  70. }
  71. }