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

106 lines
3.9 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\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 MyDetailPage 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::where('id', $this->order_id)->first()->toArray();
  19. if ($order) {
  20. $order['created_at'] = date('Y-m-d H:i:s', $order['created_at']);
  21. $order['updated_at'] = $order['updated_at'] ? date('Y-m-d H:i:s', $order['updated_at']) : null;
  22. $order['pay_type'] = config('order.pay_type')[$order['pay_type']];
  23. $order['shipping_type'] = config('order.shipping_type')[$order['shipping_type']];
  24. $order['horseman_name'] = LanzuServiceHorseman::getName($order['horseman_id']);
  25. //>>2.获取子订单
  26. $orders = ImsCjdcOrder::with('user')->with('store')
  27. ->where('order_main_id', $order['id'])->get()->toArray();
  28. if (count($orders)) {
  29. foreach ($orders as &$or) {
  30. if (substr($or['store']['logo'], 0, 4) != 'http') {
  31. $or['store']['logo'] = env('IMG_HOST') . '/' . $or['store']['logo'];
  32. }
  33. $or['goods'] = LanzuOrderGoods::where('order_id', $or['id'])->get()->toArray();
  34. }
  35. }
  36. //dd($orders);
  37. $orders = json_encode($orders);
  38. }
  39. //配送距离
  40. //配送费
  41. //拒绝退款理由
  42. //退款总备注原因,单个商品或者单个子订单
  43. Admin::script(
  44. <<<JS
  45. var orders = JSON.stringify($orders)
  46. var app = new Vue({
  47. el:"#detail",
  48. data:{
  49. order_num: "{$order['order_num']}",
  50. name: "{$order['name']}",
  51. created_at: "{$order['created_at']}",
  52. updated_at: "{$order['updated_at']}",
  53. pay_type: "{$order['pay_type']}",
  54. shipping_type: "{$order['shipping_type']}",
  55. tel: "{$order['tel']}",
  56. delivery_time_note: "{$order['delivery_time_note']}",
  57. refuse_refund_note: "{$order['refuse_refund_note']}",
  58. total_refund_note: "{$order['total_refund_note']}",
  59. address: "{$order['address']}",
  60. note: "{$order['note']}",
  61. money: "{$order['money']}",
  62. total_money: "{$order['total_money']}",
  63. services_money: "{$order['services_money']}",
  64. coupon_money: "{$order['coupon_money']}",
  65. delivery_money: "{$order['delivery_money']}",
  66. horseman_name: "{$order['horseman_name']}",
  67. orders: JSON.parse(orders)
  68. },
  69. methods: {
  70. refund() {
  71. this.\$confirm('是否同意该商品退款?', '提示', {
  72. confirmButtonText: '同意',
  73. cancelButtonText: '取消',
  74. type: 'warning'
  75. }).then(() => {
  76. this.\$message({
  77. type: 'success',
  78. message: '操作成功!'
  79. });
  80. }).catch(() => {
  81. });
  82. }
  83. }
  84. });
  85. JS
  86. );
  87. return view('orderdetail');
  88. }
  89. }