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.
aquaculture/app/Admin/Controllers/CouponLogController.php

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; // 返回构建好的网格
}
}