<?php namespace App\Admin\Service; use App\Admin\Actions\OrderAuditAction; use App\Admin\Actions\OrderReverseAuditAction; use App\Admin\Actions\User\UserStatusAction; use App\Models\Cms\CmsUser; use Dcat\Admin\Grid; class UserService { public static function userListFilter(Grid $grid){ $grid->filter(function ($filter) { $filter->expand(true); $filter->whereBetween('create_time', function ($q) { $start = strtotime($this->input['start'] ?? null); $end = strtotime($this->input['end'] ?? null); $q->whereBetween('create_time', [$start, $end]); })->datetime()->width(3); $filter->startWith('company_name')->width(2); $filter->startWith('user_sn')->width(2); $filter->startWith('name')->width(2); $filter->equal('status')->select(admin_trans('user.options.status'))->width(2); $filter->equal('sales_id',trans('inquiry.fields.sales_name'))->select(CmsUser::pluck('name', 'userId')->toArray())->width(3); $filter->equal('status')->select(admin_trans('user.options.status'))->width(2); }); } public static function userListListField(Grid $grid){ $grid->column('company_name'); $grid->column('user_sn')->link(function ($user_sn) { return admin_url('smc_user/'.$user_sn); }); $grid->column('name'); $grid->column('phone'); $grid->column('email'); $grid->column('remark'); $grid->column('sale_name'); $grid->column('created_time')->display(function ($time) { return $time ? date('Y-m-d H:i:s', $time) : ''; })->sortable();; $grid->column('status')->using(admin_trans('user.options.status')); } public static function userListTool(Grid $grid){ $grid->tools([ new OrderAuditAction(), new OrderReverseAuditAction(), ]); } public static function userListActions(Grid $grid){ $grid->setActionClass(Grid\Displayers\Actions::class); $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->disableDelete(); $actions->disableEdit(); $actions->disableQuickEdit(); $actions->disableView(); // 当前行的数据数组 $rowArray = $actions->row->toArray(); // 获取当前行主键值 $id = $actions->getKey(); //状态按钮 $actions->append(new UserStatusAction()); }); } }