|
|
<?php
namespace App\AdminSettled\Controllers;
use App\Admin\Repositories\Agent;use App\Common\AgentType;use App\Common\UserStatus;use App\Models\Supplier;use Dcat\Admin\Admin;use Dcat\Admin\Form;use Dcat\Admin\Http\Controllers\AdminController;use Dcat\Admin\Widgets\Alert;use Illuminate\Support\Facades\Config;
class AgentController extends AdminController{ protected $title = '代理商入驻';
public function __construct() { admin_inject_section(Admin::SECTION['LEFT_SIDEBAR_MENU'], ''); app('view')->prependNamespace('admin', resource_path('views/admin')); }
protected function grid() { config::set('admin.helpers.enable', false); $tip = '你可能需要 《<a href="' . admin_url('supplier/create') . '" style="color:#ef5228;">供应商入驻</a>》 《<a href="' . admin_url('agent/create') . '" style="color:#ef5228;">代理商入驻</a>》 《<a href="' . admin_url('guide/create') . '" style="color:#ef5228;">地接入驻</a>》'; return Alert::make($tip, '页面不存在')->danger(); }
/** * Make a show builder. * * @param mixed $id */ protected function detail($id) { config::set('admin.helpers.enable', false); return Alert::make('', '页面不存在')->danger(); }
/** * Make a form builder. * * @return Form */ protected function form() { config::set('admin.helpers.enable', false); return Form::make(new Agent(), function (Form $form) { $form->disableListButton(); $form->disableViewCheck(); $form->disableCreatingCheck(); $form->disableEditingCheck(); $form->disableDeleteButton();
$form->text('username')->required(); $form->password('password')->minLength(6, '密码最少6个字符')->required(); $form->text('name')->required();// $form->text('appid')->placeholder('可以先不填,审核通过之后再设置');
// $form->text('appsecret')->placeholder('可以先不填,审核通过之后再设置');
// $form->text('mchid')->placeholder('可以先不填,审核通过之后再设置');
// $form->text('mchkey')->placeholder('可以先不填,审核通过之后再设置');
$form->radio('type') ->options(AgentType::array()) ->default(AgentType::OPERATOR) ->required(); $form->text('company_name')->required()->help('请正确填写,保持跟营业执照上的完全一致,如:海南易游天下供应链有限公司'); $form->text('credit_codes')->required()->help('请正确填写,保持跟营业执照上的完全一致,如:91440300577652919M'); $form->distpicker(['province_id', 'city_id', 'area_id'], '请选择区域')->required(); $form->image('logo')->required()->removable(false)->uniqueName(); $form->text('address')->required(); $form->image('license_pic')->required()->removable(false)->uniqueName(); $form->text('director')->required(); $form->text('contact_phone')->required()->maxLength(13); $form->text('legal_persona_name')->required()->maxLength(20)->help('很重要,注册小程序时需要用到,用于实名认证'); $form->text('legal_persona_wechat')->required()->maxLength(100)->help('很重要,用于接收实名认证信息,不能是手机号或QQ号,微信号请前往微信“我的”页面查看'); })->saving(function (Form $form) { if ($form->isEditing()) { return $form->response()->error('服务器出错了~~'); }
//判断账号是否唯一
if ($form->repository()->model()->where('username', $form->username)->exists()) { return $form->response()->error($form->username . ' 的账号已经存在'); }
//判断公司名称是否唯一
if ($form->repository()->model()->where(['company_name' => $form->company_name, 'credit_codes' => $form->credit_codes])->exists()) { return $form->response()->error("公司名称 {$form->company_name} 已经存在"); }
//如果是供应商版旅行社,也不能存在相同的供应商账号,因为后台审核之后需要再次插入相同的供应商账号
if ($form->type == AgentType::SUPPLIER && Supplier::where('username', $form->username)->exists()) { return $form->response()->error($form->username . ' 的账号已经存在'); }
//过滤null字段
foreach($form->input() as $k => $v) { if (is_null($v)) { $form->$k = ''; } }
//不允许编辑的字段
$form->ignore(['id', 'remember_token', 'username', 'rate', 'created_at', 'updated_at', 'deleted_at']);
//处理特殊字段
$form->hidden(['status', 'rate']); $form->status = UserStatus::UNAUDITED; $form->rate = 5; $form->type = in_array($form->type, AgentType::key()) ? $form->type : AgentType::OPERATOR; })->saved(function (Form $form) { return $form->response()->success('操作成功,请等待管理员审核')->refresh(); })->deleting(function (Form $form) { return $form->response()->error('服务器出错了~~'); }); }}
|