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.
62 lines
2.3 KiB
62 lines
2.3 KiB
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use App\Admin\Transforms\YesNoTransform; // 引入 YesNoTransform 类,用于转换布尔值
|
|
use App\Models\UserHasCoupon; // 引入用户优惠券记录模型
|
|
use Encore\Admin\Controllers\AdminController; // 引入管理员控制器基类
|
|
use Encore\Admin\Form; // 引入表单构建器
|
|
use Encore\Admin\Grid; // 引入网格构建器
|
|
use Encore\Admin\Show; // 引入展示构建器
|
|
|
|
class CouponLogController extends AdminController
|
|
{
|
|
/**
|
|
* 当前资源的标题.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $title = '会员领取记录'; // 控制器标题
|
|
|
|
/**
|
|
* 创建网格构建器.
|
|
*
|
|
* @return Grid 返回网格实例
|
|
*/
|
|
protected function grid()
|
|
{
|
|
$grid = new Grid(new UserHasCoupon); // 创建新的网格实例,基于 UserHasCoupon 模型
|
|
|
|
$grid->model()->latest(); // 按照记录创建时间降序排列
|
|
|
|
// 定义网格列
|
|
$grid->column('id', __('Id')); // 显示记录ID
|
|
$grid->column('user_id', '用户 ID'); // 显示用户ID
|
|
$grid->column('user.name', '用户昵称'); // 显示用户昵称
|
|
$grid->column('title', __('Title')); // 显示优惠券标题
|
|
$grid->column('amount', '满减金额'); // 显示满减金额
|
|
$grid->column('full_amount', __('Full amount')); // 显示满额金额
|
|
$grid->column('start_date', __('Start date')); // 显示优惠券开始日期
|
|
$grid->column('end_date', __('End date')); // 显示优惠券结束日期
|
|
|
|
// 显示是否使用的状态,使用 YesNoTransform 转换
|
|
$grid->column('is_used', '是否使用')->display(function () {
|
|
return YesNoTransform::trans(! is_null($this->used_at)); // 如果 used_at 不为空,则表示已使用
|
|
});
|
|
|
|
$grid->column('used_at', '使用时间'); // 显示使用时间
|
|
$grid->column('created_at', __('Created at')); // 显示创建时间
|
|
|
|
// 禁用操作按钮和创建按钮
|
|
$grid->disableActions(); // 禁用操作按钮
|
|
$grid->disableCreateButton(); // 禁用创建按钮
|
|
|
|
// 定义过滤器
|
|
$grid->filter(function (Grid\Filter $filter) {
|
|
$filter->like('title', __('Title')); // 允许通过优惠券标题进行模糊查询
|
|
});
|
|
|
|
return $grid; // 返回构建好的网格
|
|
}
|
|
}
|