diff --git a/app/Admin/Controllers/OrderController.php b/app/Admin/Controllers/OrderController.php index 961a87e7..77837946 100644 --- a/app/Admin/Controllers/OrderController.php +++ b/app/Admin/Controllers/OrderController.php @@ -34,6 +34,7 @@ use Dcat\Admin\Show; use Dcat\Admin\Widgets\Box; use Illuminate\Auth\Access\AuthorizationException; use Illuminate\Http\Request; +use App\Constants\OrderStatus; class OrderController extends AdminController { @@ -142,6 +143,12 @@ class OrderController extends AdminController $grid->column('total_amount')->display(function ($value) { return bcdiv($value, 100, 2); })->prepend('¥'); + $grid->column('market_price')->display(function ($value) { + return bcdiv($value, 100, 2); + })->prepend('¥'); + $grid->column('cost_price')->display(function ($value) { + return bcdiv($value, 100, 2); + })->prepend('¥'); $grid->column('order_status')->display(function ($value) { return $this->order_status; })->using([ @@ -183,7 +190,40 @@ class OrderController extends AdminController $q->whereIn('tags.id', $this->input); }); }, '标签')->multipleSelect(Tag::orderTag()->pluck('name', 'id'))->width(3); - $filter->between('created_at')->dateTime()->width(7); + $filter->equal('pay_way')->select([ + PayWay::WxpayMiniProgram->value => PayWay::WxpayMiniProgram->text(), + PayWay::Offline->value => PayWay::Offline->text(), + ])->width(3); + $filter->where('order_status', function ($q) { + switch ($this->input) { + case OrderStatus::PENDING: + $q->where('status', Order::STATUS_PENDING); + break; + case OrderStatus::WAIT_SHIPPING: + $q->where('status', Order::STATUS_PAID)->where('shipping_state', Order::SHIPPING_STATE_PENDING); + break; + case OrderStatus::SHIPPING: + $q->where('status', Order::STATUS_PAID)->where('shipping_state', Order::SHIPPING_STATE_PROCESSING); + break; + case OrderStatus::SHIPPED: + $q->where('status', Order::STATUS_PAID)->where('shipping_state', Order::SHIPPING_STATE_PROCESSED); + break; + case OrderStatus::COMPLETED: + $q->where('status', Order::STATUS_COMPLETED); + break; + case OrderStatus::CANCELLED: + $q->where('status', Order::STATUS_CANCELLED); + break; + } + })->select([ + OrderStatus::PENDING => '待付款', + OrderStatus::WAIT_SHIPPING => '待发货', + OrderStatus::SHIPPING => '发货中', + OrderStatus::SHIPPED => '已发货', + OrderStatus::COMPLETED => '已完成', + OrderStatus::CANCELLED => '已取消' + ])->width(3); + $filter->between('created_at')->dateTime()->width(6); }); $grid->tools(function (Grid\Tools $tools) { diff --git a/resources/lang/zh_CN/order.php b/resources/lang/zh_CN/order.php index 44a7d2ac..6570e1fc 100644 --- a/resources/lang/zh_CN/order.php +++ b/resources/lang/zh_CN/order.php @@ -55,6 +55,8 @@ return [ 'tags'=>'标签', 'profit' => '累计返利', 'sales_value' => '成长值', + 'market_price' => '市场价', + 'cost_price' => '成本价', ], 'options' => [ ],