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.
79 lines
2.6 KiB
79 lines
2.6 KiB
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use App\Admin\Lazys\AlipayLazys;
|
|
use App\Admin\Lazys\BankLazys;
|
|
use App\Admin\Repositories\Withdrawal;
|
|
use App\Traits\DemandTraits;
|
|
use App\Traits\WithdrawalTraits;
|
|
use Dcat\Admin\Admin;
|
|
use Dcat\Admin\Grid;
|
|
use Dcat\Admin\Http\Controllers\AdminController;
|
|
|
|
class WithdrawalController extends AdminController
|
|
{
|
|
/**
|
|
* Make a grid builder.
|
|
*
|
|
* @return Grid
|
|
*/
|
|
protected function grid()
|
|
{
|
|
return Grid::make(new Withdrawal(['user','pay']), function (Grid $grid) {
|
|
$grid->disableActions();
|
|
$grid->model()->orderBy('id', 'desc');
|
|
$grid->column('id')->sortable();
|
|
$grid->column('user_type')->using(DemandTraits::$polymorphic);
|
|
$grid->column('user.company_name','商家名称');
|
|
$grid->column('price','提现金额');
|
|
$grid->column('pay_type','提现方式')->using(WithdrawalTraits::$userTypeText);
|
|
$grid->column('detail','提现信息')
|
|
->display('查看')
|
|
->if(fn() => $this->pay_type == WithdrawalTraits::$userType[0])
|
|
->then(function ($column) {
|
|
$column->modal('',function () {
|
|
return AlipayLazys::make();
|
|
});
|
|
})
|
|
->if(fn() => $this->pay_type == WithdrawalTraits::$userType[1])
|
|
->then(function ($column) {
|
|
$column->modal('',function () {
|
|
return BankLazys::make();
|
|
});
|
|
});
|
|
$grid->column('status','状态')
|
|
->if(fn() => $this->status == WithdrawalTraits::$state[0])
|
|
->display('')
|
|
->then(function ($column) {
|
|
$column->append((new \App\Admin\Extensions\Grid\Withdrawal(null, 1))->setKey($this->id))->append(' ');
|
|
$column->append((new \App\Admin\Extensions\Grid\Withdrawal(null, 2))->setKey($this->id));
|
|
})
|
|
->if(fn() => $this->status == WithdrawalTraits::$state[2])
|
|
->display('')
|
|
->then(function ($column) {
|
|
$column->append((new \App\Admin\Extensions\Grid\Withdrawal(null, 3))->setKey($this->id))->append(' ');
|
|
})
|
|
->if(fn() => $this->status == WithdrawalTraits::$state[1] || $this->status == WithdrawalTraits::$state[3])
|
|
->then(function ($column) {
|
|
$column->using(WithdrawalTraits::$stateText)->dot([
|
|
|
|
1 => Admin::color()->yellow(),
|
|
2 => 'danger',
|
|
3 => Admin::color()->info(),
|
|
4 => 'success',
|
|
|
|
]);
|
|
});
|
|
$grid->column('created_at');
|
|
$grid->column('updated_at')->sortable();
|
|
$grid->disableCreateButton();
|
|
$grid->disableRowSelector();
|
|
$grid->filter(function (Grid\Filter $filter) {
|
|
$filter->equal('id')->width(3);
|
|
$filter->equal('status','状态')->select(WithdrawalTraits::$stateTextSelect)->width(2);
|
|
});
|
|
});
|
|
}
|
|
|
|
}
|