添加批零订单支付方式筛选
parent
abcebe0c15
commit
7d6b80f805
|
|
@ -8,8 +8,10 @@ use App\Admin\Actions\Grid\DealerOrderPaid;
|
|||
use App\Admin\Actions\Grid\DealerOrderRefuse;
|
||||
use App\Admin\Actions\Grid\DealerOrderShipping;
|
||||
use App\Admin\Actions\Show\DealerOrderRemark;
|
||||
use App\Admin\Renderable\Grid\Filter\DealerOrderPayWayIn;
|
||||
use App\Admin\Repositories\DealerOrder;
|
||||
use App\Enums\DealerOrderStatus;
|
||||
use App\Enums\PayWay;
|
||||
use App\Models\DealerChannelSubsidyLog;
|
||||
use App\Models\DealerOrderProduct;
|
||||
use Dcat\Admin\Admin;
|
||||
|
|
@ -54,7 +56,7 @@ class DealerOrderController extends AdminController
|
|||
return '<i class="fa fa-circle" style="font-size: 13px;color: '.$v->color().'"></i> '.$v->getDealerOrderText();
|
||||
}
|
||||
return '';
|
||||
});
|
||||
})->filter(DealerOrderPayWayIn::make(PayWay::dealerOrderTexts()));
|
||||
|
||||
$grid->column('order_status')->display(function ($v) {
|
||||
return $this->order_status;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,77 @@
|
|||
<?php
|
||||
|
||||
namespace App\Admin\Renderable\Grid\Filter;
|
||||
|
||||
use App\Enums\PayWay;
|
||||
use Dcat\Admin\Grid\Column\Filter;
|
||||
use Dcat\Admin\Grid\Column\Filter\Checkbox;
|
||||
use Dcat\Admin\Grid\Model;
|
||||
|
||||
class DealerOrderPayWayIn extends Filter
|
||||
{
|
||||
use Checkbox;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $options = [];
|
||||
|
||||
/**
|
||||
* CheckFilter constructor.
|
||||
*
|
||||
* @param array $options
|
||||
*/
|
||||
public function __construct(array $options)
|
||||
{
|
||||
$this->options = $options;
|
||||
|
||||
$this->class = [
|
||||
'all' => uniqid('column-filter-all-'),
|
||||
'item' => uniqid('column-filter-item-'),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a binding to the query.
|
||||
*
|
||||
* @param array $value
|
||||
* @param Model $model
|
||||
*/
|
||||
public function addBinding($value, Model $model)
|
||||
{
|
||||
if (empty($value)) {
|
||||
return;
|
||||
}
|
||||
$all = [
|
||||
PayWay::Offline->value => '线下打款',
|
||||
PayWay::Wallet->value => '余额支付',
|
||||
PayWay::WxpayH5->value => '微信支付',
|
||||
''=>'Unknown',
|
||||
];
|
||||
|
||||
if (array_diff($all, $value)) {//无差别则直接跳过
|
||||
//判断查询的状态有哪些;
|
||||
$model->where(function ($query) use ($value) {
|
||||
foreach ($value as $payWay) {
|
||||
switch ($payWay) {
|
||||
case '':
|
||||
$query->orWhereNull('pay_way');
|
||||
break;
|
||||
default:
|
||||
$query->orWhere('pay_way', $payWay);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Render this filter.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
return $this->renderCheckbox();
|
||||
}
|
||||
}
|
||||
|
|
@ -58,4 +58,17 @@ enum PayWay: string {
|
|||
default => 'Unknown',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public static function dealerOrderTexts(): array
|
||||
{
|
||||
return [
|
||||
static::Offline->value => '线下打款',
|
||||
static::Wallet->value => '余额支付',
|
||||
static::WxpayH5->value => '微信支付',
|
||||
''=>'Unknown',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue