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.
|
|
<?php
namespace App\Admin\Controllers;
use App\Admin\Extensions\Grid\MiniProgramAuditStatus;use App\Admin\Extensions\Grid\MiniProgramPull;use App\Admin\Extensions\Grid\MiniProgramReg;use App\Admin\Extensions\Grid\MiniProgramUpload;use App\Common\AgentType;use App\Common\UserStatus;use App\Models\Agent;use App\Models\MiniProgramTemplate;use Dcat\Admin\Grid;use Dcat\Admin\Http\Controllers\AdminController;
class MiniProgramController extends AdminController{ protected $title = '小程序管理'; protected $translation = 'agent';
/** * Make a grid builder. * * @return Grid */ protected function grid() { return Grid::make(new Agent(), function (Grid $grid) { $grid->disableRowSelector(); $grid->disableCreateButton(); $grid->disableActions();
$grid->model() ->whereIn('type', [AgentType::OPERATOR, AgentType::SUPPLIER]) ->where([['status', '=', UserStatus::NORMAL], ['id', '>', 1]]); //隐藏ID=1的领峰云管理员
$grid->tools(new MiniProgramPull('更新小程序模板'));
$grid->column('id')->sortable(); $grid->column('username'); $grid->column('appid'); $grid->column('name'); $grid->column('company_name'); $grid->column('created_at');
$last_template_id = MiniProgramTemplate::max('template_id'); $grid->column('op', '操作') ->style('min-width:7em;') ->help('新用户入驻时,请先注册小程序。待企业法人认证通过之后,并设置邮箱、头像、昵称等,再上传小程序即可') ->if(fn() => true) ->display('') ->then(function ($column) use ($last_template_id) { $is_success = $this->miniUpload->is_success ?? null; $template_id = $this->miniUpload->template_id ?? null;
if (empty($this->appid)) { //注册小程序
$column->append((new MiniProgramReg(null, 1))->setKey($this->id))->append(' '); $column->append((new MiniProgramReg(null, 2))->setKey($this->id)); } else if ($is_success === 0 && $template_id === $last_template_id) { $column->append("已发布(模板:{$template_id})"); } else if (in_array($is_success, [-1, 2, 4])) { //如果状态是-1未检查过,或2审核中,或4审核延后,则显示审核状态按钮
$column->append((new MiniProgramAuditStatus(null, 1))->setKey($this->id))->append(' '); $column->append((new MiniProgramAuditStatus(null, 2))->setKey($this->id)); } else { $column->append((new MiniProgramUpload(null, 1))->setKey($this->id)); $statusArr = [0 => '审核成功', 1 => '审核被拒绝', 2 => '审核中', 3 => '已撤回', 4 => '审核延后']; if (isset($is_success, $statusArr[$is_success])) { $column->append('<br>(模板' . $template_id . $statusArr[$is_success] . ')'); } } });
$grid->filter(function (Grid\Filter $filter) { $filter->panel();
$filter->equal('id')->width(2); $filter->like('name')->width(3); $filter->like('company_name')->width(3); }); }); }}
|