TaskModal.php 2.5 KB
<?php
/**
+-----------------------------------------------------------------------------------------------------------------------
 * grid 列表 modal 类:家庭-成员 modal 类
+-----------------------------------------------------------------------------------------------------------------------
 *
 * PHP version 7
 *
 * @category  App\Admin\Grids\Modal
 * @package   App\Admin\Grids\Modal
 * @author    Richer <yangzi1028@163.com>
 * @date      2022年11月1日16:03:27
 * @copyright 2020-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
namespace App\Admin\Grids\Modal\User;

use App\Admin\Grids\Modal\BaseModal;
use App\Models\Score\TaskDetail;
use App\Models\User\User;
use App\Transformers\Score\TaskDetailTransformer;
use App\Transformers\User\UserTransformer;

/**
 * Class TaskModal
 *
 * @category  App\Admin\Grids\User
 * @package   App\Admin\Grids\User
 * @author    Richer <yangzi1028@163.com>
 * @date      2022年3月15日09:22:19
 * @copyright 2020-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
class TaskModal extends BaseModal
{
    public function render($key = null)
    {
        request()->offsetSet('function', 'show');
        $list = TaskDetail::where('family_id', $key)->with(['task'])->latest()->paginate(request('per_page', 10));
        $paginator = $this->renderPaginator($key, $list, app(TaskDetailTransformer::class));
        // 定义需要展示的字段
        $columns = [
            [
                'name'      => __('year'),
                'field'     => 'year',
            ],
            [
                'name'      => __('month'),
                'field'     => 'month',
            ],
            [
                'name'      => __('score'),
                'field'     => 'score',
            ],
            [
                'name'      => __('star'),
                'field'     => 'star_show',
            ],
            [
                'name'      => __('scored_at'),
                'field'     => 'scored_at',
            ],
            [
                'name'      => __('confirmed_at'),
                'field'     => 'confirmed_at',
            ],
            [
                'name'      => __('is_vetoed'),
                'field'     => 'vetoed_show',
            ],
        ];

        $paginator['columns'] = $columns;

        return view(
            'admin::grid.modal',
            $paginator
        );
    }
}