6
0
Fork 0

添加批零订单支付方式筛选

release
vine_liutk 2022-02-25 17:13:49 +08:00
parent abcebe0c15
commit 7d6b80f805
3 changed files with 93 additions and 1 deletions

View File

@ -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>&nbsp;&nbsp;'.$v->getDealerOrderText();
}
return '';
});
})->filter(DealerOrderPayWayIn::make(PayWay::dealerOrderTexts()));
$grid->column('order_status')->display(function ($v) {
return $this->order_status;

View File

@ -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();
}
}

View File

@ -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',
];
}
}