6
0
Fork 0
jiqu-library-server/app/Admin/Renderable/DealerEarningSimpleTable.php

61 lines
2.4 KiB
PHP

<?php
namespace App\Admin\Renderable;
use App\Models\DealerEarning;
use Dcat\Admin\Grid;
use Dcat\Admin\Grid\LazyRenderable;
use Dcat\Admin\Widgets\Card;
class DealerEarningSimpleTable extends LazyRenderable
{
public function grid(): Grid
{
$userId = $this->payload['id']??0;
$builder = DealerEarning::query();
// dd($userId);
$builder->with(['user', 'payer'])->where(function ($q) use ($userId) {
return $q->where('user_id', $userId)->orWhere('payer_id', $userId);
});
return Grid::make($builder, function (Grid $grid) {
$grid->column('user.phone', '收款人');
$grid->column('payer_id', '付款人')->display(function () {
return $this->payer_id ? $this->payer?->phone : '公司';
});
$grid->column('type_name', '资金类型')->display(function () {
return $this->type_name;
})->label();
$grid->column('remark', '备注')->display('详情') // 设置按钮名称
->expand(function () {
// 这里返回 content 字段内容,并用 Card 包裹起来
$card = new Card(null, $this->remark);
return "<div style='padding:10px 10px 0;text-align: center'>$card</div>";
});
$grid->column('lvl')->display(function () {
return $this->lvl->text();
});
// $grid->column('total_amount', '总金额')->prepend('¥');
// $grid->column('fee_rate', '手续费率')->append('%');
// $grid->column('fee', '手续费')->prepend('¥');
$grid->column('total_earnings', '实际金额')->prepend('¥');
$grid->column('status_format', '状态')->display(function ($value) {
return $this->status_format;
})->using([
-1=> '待结算',
0 => '待打款',
1 => '待收款',
2 => '已完成',
])->dot();
$grid->column('created_at', '创建时间');
$grid->column('id', '操作')->display('查看')->link(function ($value) {
return admin_route('dealer_earnings.show', ['dealer_earning' => $this->id]);
});
// $grid->withBorder();
$grid->model()->orderBy('created_at', 'desc');
$grid->disableRefreshButton();
$grid->disableActions();
});
}
}