Răsfoiți Sursa

站点菜单

moshaorui 4 luni în urmă
părinte
comite
aaae4348b6

+ 7 - 1
app/Admin/Controllers/DistAppearanceVariableController.php

@@ -5,6 +5,7 @@ namespace App\Admin\Controllers;
 use App\Admin\Renderable\DistDistributorTable;
 use App\Admin\Repositories\DistAppearance;
 use App\Admin\Repositories\DistAppearanceVariable;
+use App\Libraries\CommonHelper;
 use Dcat\Admin\Form;
 use Dcat\Admin\Grid;
 use Dcat\Admin\Show;
@@ -66,11 +67,15 @@ class DistAppearanceVariableController extends AdminController
             $grid->showQuickEditButton();
             $grid->enableDialogCreate();
             $grid->disableEditButton();
-            $addUrl = '?templateCode='. $templateCode . '&appearanceId='. $appearanceId . '&distId='. $distId;
+            $addUrl = 'templateCode='. $templateCode . '&appearanceId='. $appearanceId . '&distId='. $distId;
             //排序
             $grid->model()->where('appearance_id', $appearanceId)->where('dist_id', $distId)->whereIn('template_code', [0, $templateCode])->orderBy("id",'asc');
             //增加js 向新增按钮添加参数还有编辑按钮添加参数
 
+
+            CommonHelper::replaceAddEditerUrl('.dialog-create', '.quick-edit', $addUrl);
+
+            /*
             Admin::script(
 <<<JS
 var button = $('.dialog-create');
@@ -92,6 +97,7 @@ $('.quick-edit').each(function() {
 });
 JS
             );
+            */
         });
     }
 

+ 30 - 0
app/Distributor/Actions/MenuShow.php

@@ -0,0 +1,30 @@
+<?php
+
+namespace App\Distributor\Actions;
+
+use App\Models\SiteMenu;
+use Dcat\Admin\Tree\RowAction;
+
+class MenuShow extends RowAction
+{
+    public function handle()
+    {
+        $key = $this->getKey();
+
+        $menu = SiteMenu::where('id', $key)->first();
+        $menu->show = $menu->show ? 0 : 1;
+        $menu->save();
+
+        return $this
+            ->response()
+            ->success(trans('admin.update_succeeded'))
+            ->location('site-menu');
+    }
+
+    public function title()
+    {
+        $icon = $this->getRow()->show ? 'icon-eye-off' : 'icon-eye';
+
+        return "&nbsp;<i class='feather $icon'></i>&nbsp;";
+    }
+}

+ 36 - 2
app/Distributor/Controllers/AdminController.php → app/Distributor/Controllers/AdminDistController.php

@@ -2,11 +2,14 @@
 
 namespace App\Distributor\controllers;
 
-use App\Distributor\Layout\Content;
+use Dcat\Admin\Layout\Content;
 use Illuminate\Routing\Controller;
 
-class AdminController extends Controller
+class AdminDistController extends Controller
 {
+
+
+
     /**
      * Title for current resource.
      *
@@ -87,6 +90,9 @@ class AdminController extends Controller
      */
     public function show($id, Content $content)
     {
+        if ($this->distFindCountByID($id) === 0) {
+            abort(404);
+        }
         return $content
             ->translation($this->translation())
             ->title($this->title())
@@ -103,6 +109,9 @@ class AdminController extends Controller
      */
     public function edit($id, Content $content)
     {
+        if ($this->distFindCountByID($id) === 0) {
+            abort(404);
+        }
         return $content
             ->translation($this->translation())
             ->title($this->title())
@@ -133,6 +142,9 @@ class AdminController extends Controller
      */
     public function update($id)
     {
+        if ($this->distFindCountByID($id) === 0) {
+            abort(404);
+        }
         return $this->form()->update($id);
     }
 
@@ -154,6 +166,28 @@ class AdminController extends Controller
      */
     public function destroy($id)
     {
+        if ($this->distFindCountByID($id) === 0) {
+            abort(404);
+        }
         return $this->form()->destroy($id);
     }
+
+
+    /*
+     * 查找当前数据是否属于当前分销商
+     * -1 form方法不存在
+     * 0 数据不存在
+     * 1以上 数据存在
+     */
+    protected function distFindCountByID($id)
+    {
+        //如果有form方法,查找数据
+        if (method_exists($this, 'Form')) {
+            $form = $this->Form();
+            $repository = $form->repository();
+            $count = $repository->model()->where('dist_id', getDistributorId())->where('id', $id)->count();
+            return $count;
+        }
+        return -1;
+    }
 }

+ 0 - 4
app/Distributor/Controllers/ApiController.php

@@ -2,10 +2,6 @@
 
 namespace App\Distributor\Controllers;
 
-
-
-
-
 use App\Distributor\Repositories\DistProduct;
 use App\Distributor\Repositories\SitePages;
 use App\Distributor\Repositories\SitePagesTag;

+ 2 - 22
app/Distributor/Controllers/DistAppearanceController.php

@@ -11,7 +11,7 @@ use Dcat\Admin\Grid;
 use Dcat\Admin\Http\Controllers\AdminController;
 use Dcat\Admin\Layout\Content;
 
-class DistAppearanceController extends AdminController
+class DistAppearanceController extends AdminDistController
 {
     /**
      * page index
@@ -60,32 +60,12 @@ class DistAppearanceController extends AdminController
                 $actions->disableDelete();
                 $actions->disableEdit();
                 $actions->disableView();
+                $actions->append(new AppearanceEnable());
             });
             //排序
             $grid->model()->where('enabled',1)->orderBy('order',);
-            //操作
-            $grid->actions(function (Grid\Displayers\Actions $actions) {
-                $actions->append(new AppearanceEnable());
-            });
         });
     }
 
 
-    //屏蔽删除
-    public function destroy($id)
-    {
-        abort(404);
-    }
-
-    //屏蔽创建
-    public function create(Content $content)
-    {
-        abort(404);
-    }
-
-    //屏蔽编辑
-    public function edit($id, Content $content)
-    {
-        abort(404);
-    }
 }

+ 4 - 30
app/Distributor/Controllers/DistInquiryController.php

@@ -11,7 +11,7 @@ use Dcat\Admin\Http\Controllers\AdminController;
 use Dcat\Admin\Layout\Content;
 use Dcat\Admin\Show;
 
-class DistInquiryController extends AdminController
+class DistInquiryController extends AdminDistController
 {
     /**
      * page index
@@ -25,27 +25,6 @@ class DistInquiryController extends AdminController
             ->body($this->grid());
     }
 
-
-
-    //屏蔽删除
-    public function destroy($id)
-    {
-        abort(404);
-    }
-
-    //屏蔽创建
-    public function create(Content $content)
-    {
-        abort(404);
-    }
-
-    //屏蔽编辑
-    public function edit($id, Content $content)
-    {
-        abort(404);
-    }
-
-
     /**
      * Make a grid builder.
      *
@@ -55,7 +34,7 @@ class DistInquiryController extends AdminController
     {
         $status = isset($_GET['status']) ? intval($_GET['status']) : -1;
         return Grid::make(DistInquiry::with(['distributor']), function (Grid $grid) use ($status) {
-            $grid->model()->where('dist_id', getDistributorId())->where('status','>',0);
+
             //指定视图,去掉删除按钮
             $grid->view('admin.grid.table');
             //字段
@@ -85,8 +64,6 @@ class DistInquiryController extends AdminController
                 $filter->equal('customer_name')->width(2);
                 $filter->equal('status')->select($inquiryStatus)->width(2);
             });
-            //排序
-            $grid->model()->orderBy("id",'desc');
             //按钮
             $grid->disableCreateButton();
             $grid->disableEditButton();
@@ -97,7 +74,8 @@ class DistInquiryController extends AdminController
                 //批量操作
                 $grid->tools([new InquiryHandle()]);
             }
-
+            //权限与排序
+            $grid->model()->where('dist_id', getDistributorId())->where('status','>',0)->orderBy("id",'desc');
         });
     }
 
@@ -111,9 +89,6 @@ class DistInquiryController extends AdminController
     protected function detail($id)
     {
         return Show::make($id, new DistInquiry(), function (Show $show) {
-            if ($show->model()->dist_id !== getDistributorId()) {
-                abort(404);
-            }
             $show->field('id');
             $show->field('order_number');
             $show->field('whats_app');
@@ -133,7 +108,6 @@ class DistInquiryController extends AdminController
             //按钮
             $show->disableDeleteButton();
             $show->disableEditButton();
-
         });
     }
 

+ 6 - 35
app/Distributor/Controllers/DistProductCategoryController.php

@@ -12,10 +12,13 @@ use Dcat\Admin\Layout\Content;
 use Dcat\Admin\Admin;
 use Illuminate\Support\Facades\Session;
 
-class DistProductCategoryController extends AdminController
+class DistProductCategoryController extends AdminDistController
 {
 
-
+    protected function title()
+    {
+        return admin_trans('admin.proudct_category');
+    }
 
     /**
      * page index
@@ -29,38 +32,6 @@ class DistProductCategoryController extends AdminController
             ->body($this->grid());
     }
 
-    /**
-     * Edit interface.
-     *
-     * @param  mixed  $id
-     * @param  Content  $content
-     * @return Content
-     */
-    public function edit($id, Content $content)
-    {
-        return $content
-            ->translation($this->translation())
-            ->title($this->title())
-            ->description($this->description()['edit'] ?? trans('admin.edit'))
-            ->body($this->form()->edit($id));
-    }
-
-    /**
-     * Create interface.
-     *
-     * @param  Content  $content
-     * @return Content
-     */
-    public function create(Content $content)
-    {
-        return $content
-            ->translation($this->translation())
-            ->title($this->title())
-            ->description($this->description()['create'] ?? trans('admin.create'))
-            ->body($this->form());
-    }
-
-
 
     /**
      * Make a grid builder.
@@ -124,7 +95,7 @@ class DistProductCategoryController extends AdminController
                 ->help(admin_trans_label('order_tips')); // 添加备注
             $form->switch('enabled')->default(1);
             $form->hidden('dist_id'); // 隐藏dist_id字段,用于保存
-            // 在保存时进行验证
+            // 在保存时写死dist_id
             $form->saving(function (Form $form) {
                 $form->dist_id =getDistributorId();
             });

+ 5 - 32
app/Distributor/Controllers/DistProductController.php

@@ -15,8 +15,12 @@ use Dcat\Admin\Layout\Content;
 use Dcat\Admin\Show;
 use Illuminate\Http\Request;
 
-class DistProductController extends AdminController
+class DistProductController extends AdminDistController
 {
+    protected function title()
+    {
+        return admin_trans('admin.product');
+    }
     /**
      * page index
      */
@@ -32,38 +36,7 @@ class DistProductController extends AdminController
 
     }
 
-    /**
-     * Edit interface.
-     *
-     * @param  mixed  $id
-     * @param  Content  $content
-     * @return Content
-     */
-    public function edit($id, Content $content)
-    {
 
-        return $content
-            ->translation($this->translation())
-            ->title(admin_trans('admin.product'))
-            ->description($this->description()['edit'] ?? trans('admin.edit'))
-            ->body($this->form()->edit($id));
-    }
-
-    /**
-     * Create interface.
-     *
-     * @param  Content  $content
-     * @return Content
-     */
-    public function create(Content $content)
-    {
-        return $content
-            ->header('Product')
-            ->translation($this->translation())
-            ->title(admin_trans('admin.product'))
-            ->description($this->description()['create'] ?? trans('admin.create'))
-            ->body($this->form());
-    }
     /**
      * Make a grid builder.
      *

+ 4 - 4
app/Distributor/Controllers/DistProductImageController.php

@@ -10,7 +10,7 @@ use Dcat\Admin\Http\Controllers\AdminController;
 use Dcat\Admin\Layout\Content;
 use Dcat\Admin\Admin;
 
-class DistProductImageController extends AdminController
+class DistProductImageController extends AdminDistController
 {
     /**
      * page index
@@ -38,10 +38,10 @@ class DistProductImageController extends AdminController
             $grid->column('order');
             $grid->column('created_at');
             $grid->column('updated_at')->sortable();
-        
+
             $grid->filter(function (Grid\Filter $filter) {
                 $filter->equal('id');
-        
+
             });
         });
     }
@@ -77,7 +77,7 @@ class DistProductImageController extends AdminController
             $form->text('image_url');
             $form->text('product_id');
             $form->text('order');
-        
+
             $form->display('created_at');
             $form->display('updated_at');
         });

+ 1 - 1
app/Distributor/Controllers/DistProductParameterController.php

@@ -10,7 +10,7 @@ use Dcat\Admin\Http\Controllers\AdminController;
 use Dcat\Admin\Layout\Content;
 use Dcat\Admin\Admin;
 
-class DistProductParameterController extends AdminController
+class DistProductParameterController extends AdminDistController
 {
     /**
      * page index

+ 3 - 5
app/Distributor/Controllers/DistVideoCategoryController.php

@@ -11,7 +11,7 @@ use Dcat\Admin\Http\Controllers\AdminController;
 use Dcat\Admin\Layout\Content;
 use Dcat\Admin\Admin;
 
-class DistVideoCategoryController extends AdminController
+class DistVideoCategoryController extends AdminDistController
 {
     /**
      * page index
@@ -32,10 +32,7 @@ class DistVideoCategoryController extends AdminController
      */
     protected function grid()
     {
-
         return Grid::make(new DistVideoCategory(), function (Grid $grid) {
-
-            $grid->model()->where('dist_id', getDistributorId());//这里限不了,改为仓库限制
             $grid->column('id')->sortable();
             $grid->column('name');
             //$grid->column('parent_id');
@@ -49,7 +46,8 @@ class DistVideoCategoryController extends AdminController
             $grid->showQuickEditButton();
             $grid->enableDialogCreate();
             $grid->disableEditButton();
-            //排序
+            //权限与排序
+            $grid->model()->where('dist_id', getDistributorId());//这里限不了,改为仓库限制
             $grid->model()->orderBy('order', 'asc');
         });
     }

+ 7 - 17
app/Distributor/Controllers/DistVideoController.php

@@ -12,8 +12,12 @@ use Dcat\Admin\Show;
 use Dcat\Admin\Http\Controllers\AdminController;
 use Dcat\Admin\Layout\Content;
 
-class DistVideoController extends AdminController
+class DistVideoController extends AdminDistController
 {
+    protected function title()
+    {
+        return admin_trans('admin.video_list');
+    }
 
     /**
      * page index
@@ -27,14 +31,6 @@ class DistVideoController extends AdminController
             ->body($this->grid());
     }
 
-    public function create(Content $content)
-    {
-        return $content
-            ->translation($this->translation())
-            ->title(admin_trans('admin.video'))
-            ->description($this->description()['create'] ?? trans('admin.create'))
-            ->body($this->form());
-    }
 
     /**
      * Make a grid builder.
@@ -44,8 +40,6 @@ class DistVideoController extends AdminController
     protected function grid()
     {
         return Grid::make(DistVideo::with(['distVideoCategory']), function (Grid $grid) {
-            $grid->model()->where('dist_id', getDistributorId());
-
             $grid->column('id')->sortable();
             $grid->column('title');
             $grid->column('dist_video_category.name',admin_trans_label('category_name'));
@@ -70,9 +64,9 @@ class DistVideoController extends AdminController
 
 
             });
-            //排序
+            //权限与排序
             $grid->model()->orderBy("is_pinned",'desc')->orderBy("order",'desc');
-            //按钮
+            $grid->model()->where('dist_id', getDistributorId());
         });
     }
 
@@ -87,10 +81,6 @@ class DistVideoController extends AdminController
     {
         return Show::make($id, DistVideo::with(['distVideoCategory']), function (Show $show) {
 
-            // 比较 dist_id 和 getDistributorId(),如果不相同则返回 404
-            if ($show->model()->dist_id !== getDistributorId()) {
-                abort(404);
-            }
             $show->field('id');
             $show->field('title');
             $show->field('dist_video_category.name',admin_trans_label('category_name'));

+ 1 - 1
app/Distributor/Controllers/ImportProductController.php

@@ -17,7 +17,7 @@ use Dcat\Admin\Layout\Content;
 
 use Dcat\Admin\Admin;
 
-class ImportProductController extends AdminController
+class ImportProductController extends AdminDistController
 {
     /**
      * page index

+ 53 - 63
app/Distributor/Controllers/SiteMenuController.php

@@ -3,41 +3,52 @@
 namespace App\Distributor\Controllers;
 
 
-
-
+use App\Distributor\Actions\MenuShow;
 use App\Distributor\Repositories\DistProduct;
 use App\Distributor\Repositories\DistProductCategory;
 use App\Distributor\Repositories\SiteMenu;
 use App\Distributor\Repositories\SitePages;
 use App\Distributor\Repositories\SitePagesTag;
+use App\Libraries\CommonHelper;
 use Dcat\Admin\Form;
 use Dcat\Admin\Grid;
-use Dcat\Admin\Show;
-use Dcat\Admin\Http\Controllers\AdminController;
 use Dcat\Admin\Layout\Content;
 use Dcat\Admin\Admin;
 use Dcat\Admin\Tree;
 use Dcat\Admin\Layout\Row;
+use Dcat\Admin\Widgets\Box;
 use function Symfony\Component\String\u;
+use Dcat\Admin\Layout\Column;
 
-class SiteMenuController extends AdminController
+class SiteMenuController extends AdminDistController
 {
+
     /**
      * page index
      */
     public function index(Content $content)
     {
+        $location = isset($_GET['location']) ? intval($_GET['location']) : 0;
+        $header = admin_trans( 'admin.top_menu');
+        if ($location == 1) {
+            $header = admin_trans( 'admin.footer_menu');
+        }
         return $content
-            ->header(admin_trans( 'admin.top_menu') )
+            ->header($header)
             ->description('')
-            ->body($this->tree());
+            ->body($this->tree($location));
     }
 
-    private function tree()
+
+
+    private function tree($location)
     {
-        return function (Row $row) {
+        $thisObject = $this;
+        return function (Row $row) use ($location, $thisObject) {
             $tree = new Tree(new SiteMenu);
-
+            //两层
+            $tree->maxDepth(2);
+            //标题显示
             $tree->branch(function ($branch) {
                 $arr[] = $branch['title'];
                 if ($branch['uri']) {
@@ -45,64 +56,27 @@ class SiteMenuController extends AdminController
                 }
                 return implode(' - ', $arr);
             });
-
+            //操作
+            $tree->actions(function (Tree\Actions $actions) {
+                $actions->prepend(new MenuShow());
+            });
             //按钮
             $tree->disableEditButton();
             $tree->disableCreateButton();
             $tree->showQuickCreateButton();
             $tree->showQuickEditButton();
             $row->column(6, $tree);
+            //增加JS,使新增与编辑带location
+            $paramsUrl = 'location='.$location;
+            CommonHelper::replaceAddEditerUrl('.tree-quick-create', '.tree-quick-edit', $paramsUrl);
+            //主页权限
+            $tree->query(function ($model) use ($location) {
+                return $model->where('dist_id', getDistributorId())->where('menu_location', $location);
+            });
         };
     }
 
-    /**
-     * Make a grid builder.
-     *
-     * @return Grid
-     */
-//    protected function grid()
-//    {
-//        return Grid::make(new SiteMenu(), function (Grid $grid) {
-//            $grid->column('id')->sortable();
-//            $grid->column('parent_id');
-//            $grid->column('order');
-//            $grid->column('title');
-//            $grid->column('uri');
-//            $grid->column('show');
-//            $grid->column('menu_type');
-//            $grid->column('menu_config');
-//            $grid->column('created_at');
-//            $grid->column('updated_at')->sortable();
-//
-//            $grid->filter(function (Grid\Filter $filter) {
-//                $filter->equal('id');
-//
-//            });
-//        });
-//    }
 
-    /**
-     * Make a show builder.
-     *
-     * @param mixed $id
-     *
-     * @return Show
-     */
-//    protected function detail($id)
-//    {
-//        return Show::make($id, new SiteMenu(), function (Show $show) {
-//            $show->field('id');
-//            $show->field('parent_id');
-//            $show->field('order');
-//            $show->field('title');
-//            $show->field('uri');
-//            $show->field('show');
-//            $show->field('menu_type');
-//            $show->field('menu_config');
-//            $show->field('created_at');
-//            $show->field('updated_at');
-//        });
-//    }
 
     /**
      * Make a form builder.
@@ -111,13 +85,19 @@ class SiteMenuController extends AdminController
      */
     protected function form()
     {
+        $location = isset($_GET['location']) ? intval($_GET['location']) : 0;
         $thisObject = $this;
-        return Form::make(new SiteMenu(), function (Form $form) use ($thisObject) {
+        return Form::make(new SiteMenu(), function (Form $form) use ($thisObject,$location) {
             $menuConfig = $form->model()->menu_config;
+            //父ID
             $form->select('parent_id', admin_trans_label('parent_id'))
-                ->options(SiteMenu::selectOptions())
-                ->required();
+                ->options(SiteMenu::selectOptions(function ($query) use ($location) {
+                    $query =  $query->where('menu_location',$location)->where('dist_id', getDistributorId())->orderBy('order', 'asc');
+                    return $query;
+                }))->required();
+            //标题
             $form->text('title')->required();
+            //类型
             $form->select('menu_type')->options(config('dictionary.menu_type'))->required()
                 ->when(1, function (Form $form) use ($menuConfig,$thisObject) {
                     //选择产品
@@ -145,10 +125,14 @@ class SiteMenuController extends AdminController
                     //url
                     $form->url('url')->value($thisObject->getArrayValue('url',$menuConfig));
                 });
-
+            //显示
             $form->switch('show')->default(1);
-            $form->hidden('uri');
+            //隐藏字段
             $form->textarea('menu_config')->hideInDialog();
+            $form->hidden('menu_location')->value($location);
+            $form->hidden('uri');
+            $form->hidden('dist_id'); // 隐藏dist_id字段,用于保存
+            //以下字段不保存
             $form->ignore(['collections_type','product_category','pages_tag','product','posts','url']);
             //保存事件
             $form->submitted(function (Form $form) use ($thisObject) {
@@ -156,6 +140,10 @@ class SiteMenuController extends AdminController
                 $form->uri = $result['uri'];
                 $form->menu_config = $result['menuConfig'];
             });
+            //保存前,强制写死dist_id
+            $form->saving(function (Form $form) {
+                $form->dist_id =getDistributorId();
+            });
         });
     }
 
@@ -205,4 +193,6 @@ class SiteMenuController extends AdminController
         }
         return "";
     }
+
+
 }

+ 4 - 4
app/Distributor/Controllers/SitePostController.php

@@ -10,7 +10,7 @@ use Dcat\Admin\Http\Controllers\AdminController;
 use Dcat\Admin\Layout\Content;
 use Dcat\Admin\Admin;
 
-class SitePostController extends AdminController
+class SitePostController extends AdminDistController
 {
     /**
      * page index
@@ -41,10 +41,10 @@ class SitePostController extends AdminController
             $grid->column('post_date');
             $grid->column('created_at');
             $grid->column('updated_at')->sortable();
-        
+
             $grid->filter(function (Grid\Filter $filter) {
                 $filter->equal('id');
-        
+
             });
         });
     }
@@ -86,7 +86,7 @@ class SitePostController extends AdminController
             $form->text('status');
             $form->text('author');
             $form->text('post_date');
-        
+
             $form->display('created_at');
             $form->display('updated_at');
         });

+ 19 - 2
app/Distributor/Repositories/SiteMenu.php

@@ -16,17 +16,34 @@ class SiteMenu extends EloquentRepository
      */
     protected $eloquentClass = Model::class;
 
+
+    /*
+     * 只能显示2层
+     */
     public static function selectOptions(\Closure $closure = null)
     {
         if (!$closure) {
             $closure = function ($query) {
-                $query =  $query->orderBy('order', 'asc');
+                $query =  $query->where('dist_id', getDistributorId())->orderBy('order', 'asc');
                 return $query;
             };
         }
-
         $selectOptions =  Model::class::selectOptions($closure);
+        //只显示2层
+        foreach ($selectOptions as $key => $value) {
+            if (substr_count($value,'&nbsp;') > 2) {
+                unset($selectOptions[$key]);
+            }
+        }
         return $selectOptions;
     }
 
+    /*
+    * 获取一个标签
+    */
+    public static function getOneById($id)
+    {
+        return Model::where('id', $id)->where('dist_id', getDistributorId())->first();
+    }
+
 }

+ 20 - 18
app/Distributor/routes.php

@@ -1,14 +1,10 @@
 <?php
 
-use App\Distributor\Controllers\ApiController;
-use App\Distributor\Controllers\DistAppearanceController;
-use App\Distributor\Controllers\DistInquiryController;
-use App\Distributor\Controllers\SettingsController;
+use App\Distributor\Controllers\SiteMenuController;
 use Illuminate\Routing\Router;
 use Illuminate\Support\Facades\Route;
 use Dcat\Admin\Admin;
-use App\Http\Middleware\DistAuth;
-use Illuminate\Http\Request;
+
 
 /**
  * 原后台框架路由
@@ -23,32 +19,38 @@ Route::group([
     //主页
     $router->get('/', 'HomeController@index');
     //产品
-    $router->get('base-product/parameter', 'DistProductController@parameter');
+    //$router->get('base-product/parameter', 'DistProductController@parameter');
     $router->resource('dist-product', 'DistProductController');
     //分类
     $router->resource('product-category', 'DistProductCategoryController');
     //参数
-    $router->resource('product-parameter', 'DistProductParameterController');
+    //$router->resource('product-parameter', 'DistProductParameterController');
     //视频分类
     $router->resource('video-category', 'DistVideoCategoryController');
     //视频管理
     $router->resource('dist-video', 'DistVideoController');
     //产品导入
-    $router->resource('import-product', 'importProductController');
+    $router->get('import-product', 'importProductController@index');
+    $router->get('import-product/{id}', 'importProductController@show');
     //询价管理
-    $router->get('dist-inquiry', [DistInquiryController::class, 'index']);
-    $router->get('dist-inquiry/{id}', [DistInquiryController::class, 'show']);
+    $router->get('dist-inquiry', 'DistInquiryController@index');
+    $router->get('dist-inquiry/{id}','DistInquiryController@show');
     //配置
-    $router->get('dist-settings', [SettingsController::class, 'index']);
-    $router->post('dist-settings', [SettingsController::class, 'store']);
+    $router->get('dist-settings', 'SettingsController@index');
+    $router->post('dist-settings', 'SettingsController@store');
     //外观选择
-    $router->get('dist-appearance', [DistAppearanceController::class, 'index']);
+    $router->get('dist-appearance', 'DistAppearanceController@index');
     //菜单管理
-    $router->resource('site-menu', 'SiteMenuController');
+    $router->get('site-menu', 'SiteMenuController@index');//列表
+    $router->get('site-menu/create','SiteMenuController@create');//新增
+    $router->post('site-menu', 'SiteMenuController@store');//新增保存
+    $router->get('site-menu/{id}/edit', 'SiteMenuController@edit');//编辑
+    $router->put('site-menu/{id}', 'SiteMenuController@update');//编辑保存
+    $router->delete('site-menu/{id}', 'SiteMenuController@destroy');//删除
     //API相关
-    $router->get('api/products', [ApiController::class, 'products']);
-    $router->get('api/pages', [ApiController::class, 'pages']);
-    $router->get('api/tag', [ApiController::class, 'tag']);
+    $router->get('api/products', 'ApiController@products');
+    $router->get('api/pages', 'ApiController@pages');
+    $router->get('api/tag', 'ApiController@tag');
 });
 
 

+ 33 - 0
app/Libraries/CommonHelper.php

@@ -3,6 +3,8 @@
 // app/Libraries/CommonHelper.php
 namespace App\Libraries;
 
+use Dcat\Admin\Admin;
+
 class CommonHelper
 {
 
@@ -61,5 +63,36 @@ class CommonHelper
         return "http://".env('OSS_BUCKET').'.'.env('OSS_ENDPOINT').'/'.$image;
     }
 
+    /*
+     * 替换新增与编辑的url,在后边加上指定的参数
+     * $addButton = '.tree-quick-create';
+     * $editButton = '.tree-quick-edit';
+     * $paramsUrl = 'location=0';
+     */
+    public static function replaceAddEditerUrl($addButton,$editButton,$paramsUrl) {
+
+        Admin::script(
+            <<<JS
+var button = $('{$addButton}');
+var currentUrl = button.attr('data-url');
+if (currentUrl.indexOf('?') === -1) {
+    button.attr('data-url', currentUrl + '?{$paramsUrl}');
+} else {
+    button.attr('data-url', currentUrl + '&{$paramsUrl}');
+}
+
+$('{$editButton}').each(function() {
+    var currentUrl = $(this).attr('data-url');
+    if (currentUrl.indexOf('?') === -1) {
+        $(this).attr('data-url', currentUrl + '?{$paramsUrl}');
+    } else {
+        // 如果已经有查询参数,添加 &id=123
+        $(this).attr('data-url', currentUrl + '&{$paramsUrl}');
+    }
+});
+JS
+        );
+    }
+
 }
 

+ 4 - 0
app/helpers.php

@@ -154,3 +154,7 @@ if (!function_exists('isDomainOnly')) {
         return preg_match($pattern, $string) === 1;
     }
 }
+
+
+
+

+ 1 - 0
lang/zh_CN/admin.php

@@ -244,4 +244,5 @@ return [
     'users_management'  => '用户管理',
     'domain'  => '域名',
     'top_menu'  => '顶部菜单',
+    'footer_menu'  => '底部菜单',
 ];

+ 1 - 0
lang/zh_CN/menu.php

@@ -32,5 +32,6 @@ return [
         'settings'    => '设置',
         'domain'    => '域名',
         'top_menu'  => '顶部菜单',
+        'footer_menu'  => '底部菜单',
     ],
 ];