column('id', __('Id'))->sortable(); $grid->column('content', __('问题内容')); $grid->column('handler', __('提交人')); $grid->column('mobile', __('用户电话')); $grid->column('create_time', __('提交时间')); $grid->tags('问题标签')->display(function ($tags) { $res = array_map(function ($tag) { return "{$tag['name']}"; }, $tags); return join(' ', $res); }); $grid->actions(function ($actions) { // 去掉删除操作 $actions->disableDelete(); }); // 去掉批量删除 $grid->batchActions(function ($batch) { $batch->disableDelete(); }); if (!Auth::guard('admin')->user()->can('status-edit')) { // 去除所有操作 $grid->disableActions(); // 标签式状态 // $grid->column('status')->label(['0' => 'warning', '1' => 'success']); $grid->status(trans('状态'))->display(function ($status) { if ($status == 0) { return "未读"; } else if ($status == 1) { return "已读"; } }); $grid->column('msg', __('回复内容')); }else{ // 开关式状态 $states = [ 'off' => ['value' => 0, 'text' => '未读', 'color' => 'primary'], 'on' => ['value' => 1, 'text' => '已读', 'color' => 'success'], ]; $grid->column('status', __('状态'))->switch($states); // 可行内编辑回复内容 $grid->column('msg', __('回复内容'))->editable('textarea'); // 自定义操作 修改状态 $grid->actions(function ($actions) { // 添加修改状态操作 $actions->add(new StatusEdit); // 添加回复操作 $actions->add(new Msg); }); // 添加批量操作 修改状态 $grid->batchActions(function ($batch) { $batch->add(new BatchStatus); }); // $grid->tools(function (Grid\Tools $tools) { // $tools->append(new BatchStatus); // }); // 添加批量操作 回复 $grid->batchActions(function ($batch) { $batch->add(new BatchMsg); }); // $grid->tools(function (Grid\Tools $tools) { // $tools->append(new BatchMsg); // }); } return $grid; } /** * Make a show builder. * 显示标签、状态?? * @param mixed $id * @return Show */ protected function detail($id) { $show = new Show(Feedback::findOrFail($id)); // $show->field('id', __('Id')); $show->field('content', __('问题内容')); $show->field('handler', __('提交人')); $show->field('mobile', __('用户电话')); $show->field('create_time', __('提交时间')); $show->tag('tags')->label(); $show->field('status')->as(function ($status) { if ($status == 1) { return "已读"; } else { return "未读"; } }); // $show->tags('tags')->label(function ($tags) { // $res = array_map(function ($tag) { // return "{$tag['name']}"; // }, $tags); // return join(' ', $res); // }); // $show->field('tags', __('问题标签')); // $show->field('status', __('状态'))->using([0 => '未读', 1 => '已读'])->label(); $show->field('msg', __('回复')); return $show; } /** * Make a form builder. * * @return Form */ protected function form() { $form = new Form(new Feedback()); // $form->text('tag', 'ceshi'); // $tagForm = new Form(new Tag()); // $grid->column('id', __('Id')); if ($form->isCreating()) { $user = Auth::guard('admin')->user(); //当前登录用户对象 $form->text('content', __('问题内容'))->required(); $form->hidden('handler', __('提交人'))->value($user->username); $form->text('num', __('车辆号/订单号')); $form->mobile('mobile', '用户电话')->required(); $form->hidden('create_time', __('提交时间'))->value(date('Y-m-d H:i:s')); // 新增标签保存 $form->tags('tags', __('问题标签'))->pluck('name', 'id')->options(Tag::all())->saving(function ($value) { foreach ($value as $key => $v) { // 判断是否为字符串型整数 否新增 数字但tag表无相关数据 新增 if (!ctype_digit($v) || (ctype_digit($v) && !Tag::find($v))) { $value[$key] = Tag::insertGetId(['name' => $v]); } } return $value; }); $form->hidden('status', __('状态'))->value(0); } if ($form->isEditing()) { $form->text('content', __('问题内容'))->readonly(); $form->text('handler', __('提交人'))->readonly(); $form->text('num', __('车辆号/订单号'))->readonly(); $form->mobile('mobile', __('用户电话'))->readonly(); $form->datetime('create_time', __('提交时间'))->readonly(); // 新增标签保存 $form->tags('tags', __('问题标签'))->pluck('name', 'id')->options(Tag::all())->saving(function ($value) { foreach ($value as $key => $v) { // 判断是否为字符串型整数 否新增 数字但tag表无相关数据 新增 if (!ctype_digit($v) || (ctype_digit($v) && !Tag::find($v))) { $value[$key] = Tag::insertGetId(['name' => $v]); } } return $value; }); $states = [ 'on' => ['value' => 1, 'text' => '已读', 'color' => 'success'], 'off' => ['value' => 0, 'text' => '未读', 'color' => 'danger'], ]; $form->switch('status', __('状态'))->states($states); $form->textarea('msg', __('回复内容'))->value(function ($value) { dd($value); if ($value) { $form->hidden('status', __('状态'))->value(1); } }); } $form->tools(function (Form\Tools $tools) { // 去掉`列表`按钮 // $tools->disableList(); // 去掉`删除`按钮 $tools->disableDelete(); // 去掉`查看`按钮 $tools->disableView(); }); $form->footer(function ($footer) { // 去掉`重置`按钮 $footer->disableReset(); // 去掉`提交`按钮 // $footer->disableSubmit(); // 去掉`查看`checkbox $footer->disableViewCheck(); // 去掉`继续编辑`checkbox $footer->disableEditingCheck(); // 去掉`继续创建`checkbox $footer->disableCreatingCheck(); // 添加一个按钮, 参数可以是字符串, 或者实现了Renderable或Htmlable接口的对象实例 // $footer->add('标记为已读'); }); return $form; } }