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
106 lines
3.9 KiB
<?php
|
|
|
|
|
|
namespace App\Admin\Extensions;
|
|
|
|
use App\Admin\Common\LinkUrl;
|
|
use App\Models\ImsCjdcOrder;
|
|
use App\Models\ImsCjdcOrderMain;
|
|
use App\Models\LanzuOrderGoods;
|
|
use App\Models\LanzuServiceHorseman;
|
|
use Dcat\Admin\Admin;
|
|
use Dcat\Admin\Support\LazyRenderable;
|
|
use Endroid\QrCode\Exceptions\DataDoesntExistsException;
|
|
|
|
class MyDetailPage extends LazyRenderable
|
|
{
|
|
|
|
protected static $js = [LinkUrl::VUE_JS, LinkUrl::ELEMENT_UI_JS];
|
|
protected static $css = [LinkUrl::DETAIL_CSS, LinkUrl::ELEMENT_UI_CSS];
|
|
|
|
|
|
public function render()
|
|
{
|
|
//>>1.主订单数据
|
|
$order = ImsCjdcOrderMain::where('id', $this->order_id)->first()->toArray();
|
|
if ($order) {
|
|
$order['created_at'] = date('Y-m-d H:i:s', $order['created_at']);
|
|
$order['updated_at'] = $order['updated_at'] ? date('Y-m-d H:i:s', $order['updated_at']) : null;
|
|
$order['pay_type'] = config('order.pay_type')[$order['pay_type']];
|
|
$order['shipping_type'] = config('order.shipping_type')[$order['shipping_type']];
|
|
$order['horseman_name'] = LanzuServiceHorseman::getName($order['horseman_id']);
|
|
//>>2.获取子订单
|
|
$orders = ImsCjdcOrder::with('user')->with('store')
|
|
->where('order_main_id', $order['id'])->get()->toArray();
|
|
if (count($orders)) {
|
|
foreach ($orders as &$or) {
|
|
if (substr($or['store']['logo'], 0, 4) != 'http') {
|
|
$or['store']['logo'] = env('IMG_HOST') . '/' . $or['store']['logo'];
|
|
}
|
|
$or['goods'] = LanzuOrderGoods::where('order_id', $or['id'])->get()->toArray();
|
|
}
|
|
}
|
|
//dd($orders);
|
|
$orders = json_encode($orders);
|
|
}
|
|
|
|
//配送距离
|
|
//配送费
|
|
//拒绝退款理由
|
|
//退款总备注原因,单个商品或者单个子订单
|
|
Admin::script(
|
|
<<<JS
|
|
var orders = JSON.stringify($orders)
|
|
var app = new Vue({
|
|
el:"#detail",
|
|
data:{
|
|
order_num: "{$order['order_num']}",
|
|
name: "{$order['name']}",
|
|
created_at: "{$order['created_at']}",
|
|
updated_at: "{$order['updated_at']}",
|
|
pay_type: "{$order['pay_type']}",
|
|
shipping_type: "{$order['shipping_type']}",
|
|
tel: "{$order['tel']}",
|
|
delivery_time_note: "{$order['delivery_time_note']}",
|
|
refuse_refund_note: "{$order['refuse_refund_note']}",
|
|
total_refund_note: "{$order['total_refund_note']}",
|
|
address: "{$order['address']}",
|
|
note: "{$order['note']}",
|
|
money: "{$order['money']}",
|
|
total_money: "{$order['total_money']}",
|
|
services_money: "{$order['services_money']}",
|
|
coupon_money: "{$order['coupon_money']}",
|
|
delivery_money: "{$order['delivery_money']}",
|
|
horseman_name: "{$order['horseman_name']}",
|
|
orders: JSON.parse(orders)
|
|
|
|
},
|
|
methods: {
|
|
refund() {
|
|
this.\$confirm('是否同意该商品退款?', '提示', {
|
|
confirmButtonText: '同意',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
|
|
|
|
|
|
|
|
|
|
this.\$message({
|
|
type: 'success',
|
|
message: '操作成功!'
|
|
});
|
|
}).catch(() => {
|
|
});
|
|
}
|
|
}
|
|
});
|
|
JS
|
|
);
|
|
|
|
return view('orderdetail');
|
|
}
|
|
|
|
|
|
}
|