1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?php
- namespace App\Admin\Controllers;
- use App\Http\Controllers\Controller;
- use App\Model\DiseaseProperties;
- use App\Model\DiseaseCategoryProperties;
- use Encore\Admin\Form;
- use Encore\Admin\Grid;
- use Encore\Admin\Facades\Admin;
- use Encore\Admin\Layout\Content;
- use Encore\Admin\Controllers\ModelForm;
- class DiseasePropertiesController 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(DiseaseProperties::class , function (Form $form) {
- $form->display('id' , '序号');
- $form->text( 'property_zh_name' , '属性中文名称')->required();
- $form->text( 'property_ch_name' , '属性英文名称')->required();
- $form->select( 'tag' , '中西医分类')->options([1 => '西医' , 2 => '中医'])->required();
- $form->select( 'label' , '所属标签')->options(DiseaseProperties::getLables())->required();
- $form->select( 'category_id' , '属性分类名称')->options((new DiseaseCategoryProperties)->getPropertiesCategory())->required();
- $form->text( 'order' , '属性排序值');
- });
- }
- // Grid
- protected function grid()
- {
- return Admin::grid(DiseaseProperties::class, function (Grid $grid) {
- $grid->id('编号')->sortable();
- $grid->property_ch_name('属性英文名称');
- $grid->property_zh_name('属性中文名称');
- $grid->diseaseCategoryProperties()->name('属性分类');
- $grid->label('所属标签')->display(function($label) {
- return DiseaseProperties::getLables($label) ?? '---';
- });
- $grid->tag('分类')->display(function($tag) {
- return 1 == $tag ? '西医' : '中医';
- });
- $grid->order('排序值');
- $grid->created_at('创建时间');
- $grid->updated_at('更新时间');
- // 禁用导出数据按钮
- $grid->actions(function ($actions) {
- $actions->disableView();
- //$actions->disableEdit();
- });
- $grid->filter(function($filter){
- // 去掉默认的id过滤器
- $filter->disableIdFilter();
- // 在这里添加字段过滤器
- $filter->equal('tag' , '选择分类')->select([1 => '西医' , 2 => '中医']);
- $filter->equal('label' , '选择标签分类')->select(DiseaseProperties::getLables());
- });
- });
- }
- }
|