GroupScorerModal.php 2.1 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年3月15日09:22:19
 * @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\User\Family;
use App\Models\User\User;
use App\Transformers\User\FamilyTransformer;
use App\Transformers\User\UserTransformer;

/**
 * Class GroupScorerModal
 *
 * @category  App\Admin\Grids\Modal
 * @package   App\Admin\Grids\Modal
 * @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 GroupScorerModal extends BaseModal
{
    public function render($key = null)
    {
        request()->offsetSet('function', 'show');
        $list = User::where('group_id', $key)->orderByRaw("CASE WHEN role='leader' THEN 1 END desc")
        ->latest()->paginate(request('per_page', 10));
        $paginator = $this->renderPaginator($key, $list, app(UserTransformer::class));
        // 定义需要展示的字段
        $columns = [
            [
                'name'      => __('truename'),
                'field'     => 'name',
            ],
            [
                'name'      => __('mobile'),
                'field'     => 'mobile',
            ],
            [
                'name'      => __('role'),
                'field'     => 'role_show',
            ],
        ];

        $paginator['columns'] = $columns;

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