海南旅游SAAS
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.

99 lines
3.1 KiB

4 years ago
  1. <?php
  2. namespace App\AdminSettled\Controllers;
  3. use App\Admin\Repositories\Supplier;
  4. use App\Common\UserStatus;
  5. use Dcat\Admin\Admin;
  6. use Dcat\Admin\Form;
  7. use Dcat\Admin\Http\Controllers\AdminController;
  8. use Dcat\Admin\Widgets\Alert;
  9. use Illuminate\Support\Facades\Config;
  10. class SupplierController extends AdminController
  11. {
  12. protected $title = '供应商入驻';
  13. public function __construct()
  14. {
  15. admin_inject_section(Admin::SECTION['LEFT_SIDEBAR_MENU'], '');
  16. app('view')->prependNamespace('admin', resource_path('views/admin'));
  17. }
  18. protected function grid()
  19. {
  20. config::set('admin.helpers.enable', false);
  21. $tip = '你可能需要
  22. <a href="' . admin_url('supplier/create') . '" style="color:#ef5228;">供应商入驻</a>
  23. <a href="' . admin_url('agent/create') . '" style="color:#ef5228;">代理商入驻</a>
  24. <a href="' . admin_url('guide/create') . '" style="color:#ef5228;">地接入驻</a>';
  25. return Alert::make($tip, '页面不存在')->danger();
  26. }
  27. /**
  28. * Make a show builder.
  29. *
  30. * @param mixed $id
  31. */
  32. protected function detail($id)
  33. {
  34. config::set('admin.helpers.enable', false);
  35. return Alert::make('', '页面不存在')->danger();
  36. }
  37. /**
  38. * Make a form builder.
  39. *
  40. * @return Form
  41. */
  42. protected function form()
  43. {
  44. config::set('admin.helpers.enable', false);
  45. return Form::make(new Supplier(), function (Form $form) {
  46. $form->disableListButton();
  47. $form->disableViewCheck();
  48. $form->disableCreatingCheck();
  49. $form->disableEditingCheck();
  50. $form->disableDeleteButton();
  51. $form->text('username')->required();
  52. $form->password('password')->minLength(6)->required();
  53. $form->text('name')->required();
  54. $form->text('company_name')->required();
  55. $form->distpicker(['province_id', 'city_id', 'area_id'], '请选择区域')->required();
  56. $form->image('logo')->removable(false)->uniqueName();
  57. $form->text('address')->required();
  58. $form->image('license_pic')->required()->removable(false)->uniqueName();
  59. $form->text('director')->required();
  60. $form->text('contact_phone')->required()->maxLength(13);
  61. })->saving(function (Form $form) {
  62. if ($form->isEditing()) {
  63. return $form->response()->error('服务器出错了~~');
  64. }
  65. //判断账号是否唯一
  66. if ($form->repository()->model()->where('username', $form->username)->exists()) {
  67. return $form->response()->error($form->username . ' 的账号已经存在');
  68. }
  69. //不允许编辑的字段
  70. if ($form->isEditing()) {
  71. $form->ignore(['id', 'remember_token', 'rate', 'created_at', 'created_at', 'deleted_at', 'deleted_at']);
  72. }
  73. //过滤null字段
  74. foreach($form->input() as $k => $v) {
  75. if (is_null($form->$k)) {
  76. $form->$k = '';
  77. }
  78. }
  79. //处理特殊字段
  80. $form->status = UserStatus::UNAUDITED;
  81. $form->rate = 0.1;
  82. })->saved(function (Form $form) {
  83. return $form->response()->success('操作成功,请等待管理员审核');
  84. })->deleting(function (Form $form) {
  85. return $form->response()->error('服务器出错了~~');
  86. });
  87. }
  88. }