You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
4.3 KiB
120 lines
4.3 KiB
<?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();
|
|
$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);
|
|
})->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->type == AgentType::SUPPLIER && Supplier::where('username', $form->username)->exists()) {
|
|
return $form->response()->error($form->username . ' 的账号已经存在');
|
|
}
|
|
|
|
//不允许编辑的字段
|
|
if ($form->isEditing()) {
|
|
$form->ignore(['id', 'remember_token', 'username', 'rate', 'created_at', 'updated_at', 'deleted_at']);
|
|
}
|
|
|
|
//过滤null字段
|
|
foreach($form->input() as $k => $v) {
|
|
if (is_null($v)) {
|
|
$form->$k = '';
|
|
}
|
|
}
|
|
|
|
//处理特殊字段
|
|
$form->status = UserStatus::UNAUDITED;
|
|
$form->rate = 0.05;
|
|
// $form->appid = $form->appid ?: '暂未填写';
|
|
// $form->appsecret = $form->appsecret ?: '暂未填写';
|
|
// $form->mchid = $form->appid ?: '暂未填写';
|
|
// $form->mchkey = $form->appid ?: '暂未填写';
|
|
$form->type = in_array($form->type, UserStatus::array()) ? $form->type : AgentType::OPERATOR;
|
|
})->saved(function (Form $form) {
|
|
return $form->response()->success('操作成功,请等待管理员审核');
|
|
})->deleting(function (Form $form) {
|
|
return $form->response()->error('服务器出错了~~');
|
|
});
|
|
}
|
|
}
|