123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- <?php
- namespace App\Admin\Controllers\Ask;
- use App\Admin\Repositories\Ask\Blogger;
- use App\Wen\Utils\Settings;
- use Dcat\Admin\Form;
- use Dcat\Admin\Grid;
- use Dcat\Admin\Show;
- use Dcat\Admin\Http\Controllers\AdminController;
- use Illuminate\Http\Request;
- use App\Models\Ask\BloggerType;
- use Illuminate\Support\Facades\DB;
- class BloggerController extends AdminController
- {
- public function blogger(Request $request)
- {
- $q = $request->get('q');
- return \App\Models\Ask\Blogger::where('info', 'like', "%$q%")->paginate(null, ['id', 'info as text']);
- }
- /**
- * Make a grid builder.
- *
- * @return Grid
- */
- protected function grid()
- {
- return Grid::make(new Blogger(), function (Grid $grid) {
- $grid->simplePaginate();
- $grid->model()->orderBy('user_id', 'desc');
- $grid->quickSearch(['user_id', 'info'])->placeholder('搜索用户ID,详细介绍');
- $grid->column('user_id');
- $grid->column('ask_price');
- $grid->column('sit_price');
- $grid->column('ask_minute');
- $grid->column('ask_status')->using([
- 0=>'暂停咨询',
- 1=>'接受咨询',
- ]);
- $grid->column('status')->using([
- 0=>'未认证',
- 1=>'已认证',
- ]);
- $grid->column('order_number');
- $grid->column('order_eva_score');
- $types = DB::table('blogger_type')->get();
- $types = json_decode(json_encode($types),true);
- $grid->column('type_ids')->display(function($type_ids)use($types){
- $ids = explode(',',$type_ids);
- if(empty($ids)){
- return '';
- }
- $data = [];
- foreach($types as $key => $type){
- if(in_array($type['id'],$ids)){
- $data[] = $type['title'];
- }
- }
- return implode('、',$data);
- });
- $grid->column('info');
- $grid->filter(function (Grid\Filter $filter) {
- $filter->like('info');
- });
- });
- }
- //没用到
- private function getTypessById($ids){
- $ids = explode(',',$ids);
- if(empty($ids)){
- return '';
- }
- $types = DB::Table('blogger_type')->get();
- $types = json_decode(json_encode($types),true);
- $data = [];
- foreach($types as $key => $type){
- if(in_array($type['id'],$ids)){
- $data[] = $type['name'];
- }
- }
- return implode(',',$data);
- }
- /**
- * Make a show builder.
- *
- * @param mixed $id
- *
- * @return Show
- */
- protected function detail($id)
- {
- return Show::make($id, new Blogger(), function (Show $show) {
- $show->field('user_id');
- $show->field('ask_price');
- $show->field('sit_price');
- $show->field('ask_minute');
- $show->field('ask_status');
- $show->field('status');
- $show->field('order_number');
- $show->field('order_eva_score');
- $show->field('type_ids');
- $show->field('info');
- });
- }
- /**
- * Make a form builder.
- *
- * @return Form
- */
- protected function form()
- {
- return Form::make(new Blogger(), function (Form $form) {
- $form->display('id');
- $form->text('user_id')->required();
- $form->number('ask_price')->default(0);
- $form->number('sit_price')->default(0);
- $form->number('ask_minute')->default(0);
- $form->radio('ask_status')->options([
- 0=>'暂停咨询',
- 1=>'接受咨询',
- ]);
- $form->radio('status')->options([
- 0=>'未认证',
- 1=>'已认证',
- ]);
- // $form->multipleSelect('type_ids')->options(BloggerType::pluck('title', 'id'));
- $form->select('type_ids')->options(BloggerType::pluck('title', 'id'));
- $form->text('info');
- $form->deleting(function (Form $form){
- global $__MINI_GLOBAL_TENANT_ID__;
- if($__MINI_GLOBAL_TENANT_ID__ > 0){
- return $form->response()->error('权限不足,不可以删除其他分站对象');
- }
- });
- });
- }
- }
|