6
0
Fork 0

调整添加后台用户余额明细

release
vine_liutk 2022-01-25 16:42:10 +08:00
parent d594300b38
commit 2a8e00d4f1
5 changed files with 53 additions and 2 deletions

View File

@ -6,6 +6,7 @@ use App\Admin\Actions\Grid\DealerBonds;
use App\Admin\Actions\Grid\DealerEditLvl; use App\Admin\Actions\Grid\DealerEditLvl;
use App\Admin\Renderable\DealerEarningSimpleTable; use App\Admin\Renderable\DealerEarningSimpleTable;
use App\Admin\Renderable\DealerUserProductLogSimpleTable; use App\Admin\Renderable\DealerUserProductLogSimpleTable;
use App\Admin\Renderable\DealerWalletLogSimpleTable;
use App\Admin\Repositories\Dealer; use App\Admin\Repositories\Dealer;
use App\Enums\DealerLvl; use App\Enums\DealerLvl;
use App\Models\Dealer as DealerModel; use App\Models\Dealer as DealerModel;
@ -29,7 +30,7 @@ class DealerController extends AdminController
*/ */
protected function grid() protected function grid()
{ {
$builder = Dealer::with(['user', 'userInfo', 'userInfo.inviterInfo.user', 'userInfo.realInviterInfo.user']); $builder = Dealer::with(['user', 'userInfo', 'userInfo.inviterInfo.user', 'userInfo.realInviterInfo.user', 'wallet']);
return Grid::make($builder, function (Grid $grid) { return Grid::make($builder, function (Grid $grid) {
// $grid->column('id')->sortable(); // $grid->column('id')->sortable();
$grid->column('user.phone')->copyable(); $grid->column('user.phone')->copyable();
@ -40,6 +41,9 @@ class DealerController extends AdminController
$grid->column('lvl')->display(function () { $grid->column('lvl')->display(function () {
return $this->lvl_text; return $this->lvl_text;
}); });
$grid->column('wallet.balance')->display(function ($value) {
return $value??0;
})->prepend('¥');
$grid->column('is_sale') $grid->column('is_sale')
->if(function () { ->if(function () {
return Admin::user()->can('dcat.admin.dealers.update'); return Admin::user()->can('dcat.admin.dealers.update');
@ -63,7 +67,7 @@ class DealerController extends AdminController
$grid->column('bonds')->prepend('¥')->filter( $grid->column('bonds')->prepend('¥')->filter(
Grid\Column\Filter\Between::make() Grid\Column\Filter\Between::make()
); );
$grid->column('created_at')->sortable(); // $grid->column('created_at')->sortable();
$grid->actions(function (Grid\Displayers\Actions $actions) { $grid->actions(function (Grid\Displayers\Actions $actions) {
if (Admin::user()->can('dcat.admin.dealers.show')) { if (Admin::user()->can('dcat.admin.dealers.show')) {
@ -187,7 +191,11 @@ class DealerController extends AdminController
$grid->disableActions(); $grid->disableActions();
$grid->disablePagination(); $grid->disablePagination();
}); });
$tab->add('剩余库存', $productGrid); $tab->add('剩余库存', $productGrid);
$tab->add('余额记录', new DealerWalletLogSimpleTable(['id'=>$dealer->user_id]));
// $tab->add('升级记录', '');
// 上级列表 // 上级列表
// $tab->add('上级列表', ''); // $tab->add('上级列表', '');
$column->row(Box::make('用户记录', $tab)); $column->row(Box::make('用户记录', $tab));

View File

@ -0,0 +1,33 @@
<?php
namespace App\Admin\Renderable;
use App\Models\DealerWalletLog;
use Dcat\Admin\Grid;
use Dcat\Admin\Grid\LazyRenderable;
class DealerWalletLogSimpleTable extends LazyRenderable
{
public function grid(): Grid
{
$userId = $this->payload['id']??0;
$builder = DealerWalletLog::query();
$builder->where('user_id', $userId);
return Grid::make($builder, function (Grid $grid) {
$grid->column('remarks', '备注');
$grid->column('change_balance', '变动金额(元)')->display(function ($value) {
$value = bcdiv($value, 100, 2);
return $value;
});
$grid->column('before_balance', '变动前(元)')->display(function ($value) {
$value = bcdiv($value, 100, 2);
return $value;
});
$grid->column('created_at', '变动时间');
// $grid->withBorder();
$grid->model()->orderBy('created_at', 'desc');
$grid->disableRefreshButton();
$grid->disableActions();
});
}
}

View File

@ -52,6 +52,11 @@ class Dealer extends Model
return $this->hasOne(UserInfo::class, 'user_id', 'user_id'); return $this->hasOne(UserInfo::class, 'user_id', 'user_id');
} }
public function wallet()
{
return $this->hasOne(DealerWallet::class, 'user_id', 'user_id');
}
/** /**
* 属于此经销商的管理者津贴 * 属于此经销商的管理者津贴
*/ */

View File

@ -3,10 +3,12 @@
namespace App\Models; namespace App\Models;
use App\Enums\DealerWalletAction; use App\Enums\DealerWalletAction;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
class DealerWalletLog extends Model class DealerWalletLog extends Model
{ {
use HasDateTimeFormatter;
/** /**
* @var array * @var array
*/ */

View File

@ -28,6 +28,9 @@ return [
], ],
], ],
], ],
'wallet' => [
'balance' => '余额',
],
'lvl' => '经销商等级', 'lvl' => '经销商等级',
'is_sale' => '是否可销售', 'is_sale' => '是否可销售',
'is_manager' => '是否是管理者', 'is_manager' => '是否是管理者',