companyRepository = $companyRepository; $this->subsiteService = $subsiteService; } /** * Index interface. * * @param Content $content * @return Content */ public function index(Content $content) { $grid = $this->grid()->render(); return $content ->header('企业会员') ->description('列表') ->body(view('admin.recycle.company')->with('grid', $grid)); } /** * Show interface. * * @param mixed $id * @param Content $content * @return Content */ public function show($id, Content $content) { return $content ->header('企业会员') ->description(' ') ->body($this->detail($id)); } /** * Make a show builder. * * @param mixed $id * @return Show */ protected function detail($id) { $show = new Show(Company::withTrashed()->findOrFail($id)); $show->id('ID'); $show->username('用户名'); $show->mobile('联系电话'); $show->landline_tel('固定电话')->as(function ($landline_tel) { if ($landline_tel == '--' || $landline_tel == '---') { return ''; } else { return $landline_tel; } }); $show->email('电子邮箱'); $show->contact('企业联系人'); if(get_subsite_open()){ $show->subsite_id('分站')->as(function ($subsite_id) { if ($subsite_id == 0) { return '总站'; } else { $subsite_name = $this->subsiteService->find($subsite_id); return $subsite_name->sitename; } }); } $show->companyname('公司名称'); $show->short_name('公司简称'); $show->audit('审核状态')->as(function ($audit) { switch ($audit) { case 1: return '审核通过'; break; case 2: return '待审核'; break; case 3: return '审核未通过'; break; } }); $show->nature('企业性质')->as(function ($nature) { return get_category($nature); }); $show->trade('企业行业')->as(function ($trade) { return get_category($trade); }); $show->district('所在地区')->as(function ($district) { return get_district_cn($district); }); $show->scale('企业规模')->as(function ($scale) { return get_category($scale); }); $show->registered('注册资金'); $show->currency('资金形式'); $show->tag('企业福利')->as(function ($tag) { foreach ($tag as $key => $val) { $tag_cn[] = get_tag_cn($val); } return implode('+', $tag_cn); }); $show->website('企业网站'); $show->address('企业地址'); $show->contents('企业详情'); $show->logo('企业Logo')->image(); $show->created_at('Created at'); $show->updated_at('Updated at'); return $show; } /** * Make a grid builder. * * @return Grid */ protected function grid() { $grid = new Grid(new Company); $grid->model()->onlyTrashed()->orderBy('deleted_at', 'DESC'); $grid->id('ID'); $grid->companyname('公司名称')->display(function ($companyname) { $html = $companyname; if ($this->logo) { $html .= ' '; } return $html; })->width(200); $grid->certificate_img('营业执照')->display(function ($certificate_img) { if ($certificate_img) { return ''; } else { return "未上传"; } }); $grid->audit('企业认证')->display(function ($audit) { switch ($audit) { case 1: return '认证通过'; break; case 2: return '待认证'; break; case 3: return '认证未通过'; break; case 0: return '未认证'; break; } }); if(get_subsite_open()){ $grid->subsite_id('所属分站')->display(function ($subsite_id) { if ($subsite_id == 0) { return "总站"; } else { $subsite = Subsite::findOrFail($subsite_id); return $subsite->sitename; } }); } $grid->setmeal_name('套餐名称')->display(function ($setmeal_name) { if (!$setmeal_name) { return "--"; } else { return $setmeal_name; } }); $grid->created_at('注册时间'); $grid->deleted_at('删除时间')->display(function ($deleted_at) { return $deleted_at; }); $grid->actions(function ($actions) { if (userAdmin::user()->can('recycle_company_delete')) { $actions->disableDelete(false); } if (userAdmin::user()->can('recycle_company_restore')) { $actions->append(""); } }); if (userAdmin::user()->can('recycle_company_restore') || userAdmin::user()->can('recycle_company_delete')) { $grid->tools(function ($tools) { if (userAdmin::user()->can('recycle_company_restore')) { $but = << EOT; $tools->append($but); } if (userAdmin::user()->can('recycle_company_delete')) { $tools->batch(function ($batch) { $batch->disableDelete(false); }); } }); } else { $grid->disableRowSelector(); } $grid->filter(function ($filter) { $filter->column(1/2, function ($filter) { // 在这里添加字段过滤器 $filter->like('companyname', '企业名称'); $filter->equal('id', '企业ID'); $filter->like('username', '会员名称'); $filter->like('mobile', '手机'); $filter->like('address', '地址'); }); $filter->column(1/2, function ($filter) { $filter->equal('setmeal_id', '套餐类型')->select(Setmeal::get()->pluck('setmeal_name', 'id')); $filter->equal('audit', '企业认证')->select(['1' => '已认证', '2' => '待认证', '3' => '认证未通过','0'=>"未认证"]); $subsite = Subsite::where('effective', 1)->select('id', 'sitename')->get(); $subsiteArr=[]; if ($subsite) { $subsiteArr = $subsite->toArray(); $subsiteArr = array_column($subsiteArr, 'sitename', 'id'); } $subsiteArr[0] = "总站"; ksort($subsiteArr); if(get_subsite_open()){ $filter->equal('subsite_id', '所属分站')->select($subsiteArr); } $filter->equal('certificate_img_audit', '营业执照认证')->select(['1' => '已认证', '2' => '待认证', '3' => '认证未通过', '0' => '未认证']); $filter->between('created_at', '注册时间')->datetime(); }); }); return $grid; } //还原企业 public function restore($id) { $ids = array(); if ($id) { $ids = explode(',', $id); } if (!$ids) { return admin_toastr('请勾选需要还原的企业会员', 'error'); } if (Company::whereIn('id', $ids)->restore()) { $condition = [['whereIn','id', $ids]]; event_search_update(Company::class, $condition, 'update'); $data = [ 'status' => true, 'message' => '还原成功', ]; } else { $data = [ 'status' => false, 'message' => '还原失败', ]; } return response()->json($data); } public function destroy($id) { $ids = array(); if ($id) { $ids = explode(',', $id); } if (!$ids) { return admin_toastr('请勾选需要删除的企业会员', 'error'); } if (Company::withTrashed()->whereIn('id', $ids)->forceDelete()) { $data = [ 'status' => true, 'message' => trans('admin.delete_succeeded'), ]; } else { $data = [ 'status' => false, 'message' => trans('admin.delete_failed'), ]; } return response()->json($data); } }