123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- <?php
- namespace App\Admin\Controllers;
- use App\Http\Controllers\Controller;
- use App\Model\qw\QwDepartment;
- use App\Model\qw\QwCategory;
- use Encore\Admin\Form;
- use Encore\Admin\Grid;
- use Encore\Admin\Facades\Admin;
- use Encore\Admin\Layout\Content;
- use Encore\Admin\Controllers\ModelForm;
- use Illuminate\Http\Request;
- class QwCategoryController extends Controller
- {
- use ModelForm;
- public function index()
- {
- return Admin::content(function (Content $content) {
- $content->header('问答知识类别');
- $content->description('列表');
- $content->body($this->grid());
- });
- }
- public function create()
- {
- return Admin::content(function (Content $content) {
- $content->header('问答知识类别');
- $content->description('新增');
- $content->body($this->form());
- });
- }
- public function edit($id)
- {
- return Admin::content(function (Content $content) use ($id) {
- $content->header('问答知识类别');
- $content->description('列表');
- $content->body($this->form($id)->edit($id));
- });
- }
- protected function form($id = '')
- {
- return Admin::form(QwCategory::class , function (Form $form) use ($id) {
- $form->display( 'id' , 'id');
- $form->select( 'department_id' , '所属部门')->options(
- QwDepartment::all()->pluck('department_name' , 'id')
- )->load('pid', 'll'); // 选中传入接口一个q参数,加载到第二级;
- //$form->select('pid' , '知识类别');
- $form->select('pid' , '知识类别')->options(function ($id) {
- return QwCategory::where('pid',$id)->pluck('category_name', 'id');
- });
- $form->text( 'category_name' , '分类名称');
- $form->select( 'status' , '状态')->options([1 => '显示' , 2 => '隐藏']);
- });
- }
- // Grid
- protected function grid()
- {
- return Admin::grid(QwCategory::class, function (Grid $grid) {
- $grid->id('编号')->sortable();
- $grid->model()->orderBy('id','asc');
- $grid->department_desc('部门名称');
- $grid->pid_text('知识类别');
- $grid->category_name('业务分类');
- $grid->status('状态')->display(function ($status) {
- if( 1 == $status) {
- return '显示';
- }
- if( 2 == $status) {
- return '隐藏';
- }
- });
- $grid->createtime('创建时间')->display(function ($create_time) {
- return date('Y-m-d H:i:s' , $create_time);
- });
- $grid->updatetime('更新时间')->display(function ($create_time) {
- return date('Y-m-d H:i:s' , $create_time);
- });
- // 禁用导出数据按钮
- $grid->actions(function ($actions) {
- $actions->disableView();
- //$actions->disableEdit();
- });
- $grid->filter(function($filter){
- // 去掉默认的id过滤器
- $filter->disableIdFilter();
- // 在这里添加字段过滤器
- //$filter->equal('uid' , '用户ID');
- });
- });
- }
- public function show(request $request)
- {
- $projectId = $request->get('q');
- return QwCategory::where('department_id' , $projectId)->where('pid' , 0)->get(
- [
- 'id', 'category_name as text'
- ]
- );
- }
- public function ll(request $request)
- {
- $projectId = $request->get('q');
- return QwCategory::where('department_id' , $projectId)->get(
- [
- 'id', 'category_name as text'
- ]
- );
- }
- }
|