TeamModal.php 2.8 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\User\TimesRecord;
use App\Models\User\User;
use App\Transformers\Activity\ActivityUserTransformer;
use App\Transformers\User\TimesRecordTransformer;
use App\Transformers\User\UserTransformer;

/**
 * Class TeamModal
 *
 * @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 TeamModal extends BaseModal
{
    protected $type = '';

    /**
     * TeamModal constructor.
     * @param $type
     */
    public function __construct($type = '')
    {
        $this->type = $type;
    }
    public function render($key = null)
    {
//        dd($this->type );
        $user = User::find($key);
        if ($user->partner == 1) {
            $list = User::where(function ($query) use($key) {
                $query->where('pid', $key)->orWhere('gid', $key);
            })->latest()->paginate(request('per_page', 10));
        } else {
            $list = User::where('pid', $key)->latest()->paginate(request('per_page', 10));
        }
        request()->offsetSet('user_id', $key);
        $paginator = $this->renderPaginator($key, $list, app(UserTransformer::class));
        // 定义需要展示的字段
        $columns = [
            [
                'name'      => __('avatar'),
                'field'     => 'avatar',
                'type'      => 'image',
            ],
            [
                'name'      => __('nickname'),
                'field'     => 'nickname',
            ],
            [
                'name'      => __('mobile'),
                'field'     => 'mobile',
            ],
            [
                'name'      => __('关系'),
                'field'     => 'level_show',
            ],
            [
                'name'      => __('加入时间'),
                'field'     => 'created_at',
            ],
        ];

        $paginator['columns'] = $columns;

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