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\Renderable\DealerEarningSimpleTable;
use App\Admin\Renderable\DealerUserProductLogSimpleTable;
use App\Admin\Renderable\DealerWalletLogSimpleTable;
use App\Admin\Repositories\Dealer;
use App\Enums\DealerLvl;
use App\Models\Dealer as DealerModel;
@ -29,7 +30,7 @@ class DealerController extends AdminController
*/
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) {
// $grid->column('id')->sortable();
$grid->column('user.phone')->copyable();
@ -40,6 +41,9 @@ class DealerController extends AdminController
$grid->column('lvl')->display(function () {
return $this->lvl_text;
});
$grid->column('wallet.balance')->display(function ($value) {
return $value??0;
})->prepend('¥');
$grid->column('is_sale')
->if(function () {
return Admin::user()->can('dcat.admin.dealers.update');
@ -63,7 +67,7 @@ class DealerController extends AdminController
$grid->column('bonds')->prepend('¥')->filter(
Grid\Column\Filter\Between::make()
);
$grid->column('created_at')->sortable();
// $grid->column('created_at')->sortable();
$grid->actions(function (Grid\Displayers\Actions $actions) {
if (Admin::user()->can('dcat.admin.dealers.show')) {
@ -187,7 +191,11 @@ class DealerController extends AdminController
$grid->disableActions();
$grid->disablePagination();
});
$tab->add('剩余库存', $productGrid);
$tab->add('余额记录', new DealerWalletLogSimpleTable(['id'=>$dealer->user_id]));
// $tab->add('升级记录', '');
// 上级列表
// $tab->add('上级列表', '');
$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');
}
public function wallet()
{
return $this->hasOne(DealerWallet::class, 'user_id', 'user_id');
}
/**
* 属于此经销商的管理者津贴
*/

View File

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

View File

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