moshaorui 4 months ago
parent
commit
491f0074b1

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

@@ -66,7 +66,7 @@ class DistAppearanceController extends AdminDistController
                 $actions->append(new AppearanceEnable());
             });
             //排序
-            $grid->model()->where('enabled',1)->orderBy('order',);
+            $grid->model()->where('enabled',1)->orderBy('order','desc')->orderBy('id','desc');
         });
     }
 

+ 2 - 3
app/Distributor/Controllers/DistProductCategoryController.php

@@ -93,9 +93,8 @@ class DistProductCategoryController extends AdminDistController
                 });
             $form->text('name')->required();
             $form->number('order')
-                ->default(100)
-                ->rules('numeric')
-                ->help(admin_trans_label('order_tips')); // 添加备注
+                ->default(0)
+                ->rules('numeric');
             $form->switch('enabled')->default(1);
             //SEO
             $form->radio('visibility')->when(1,function (Form $form) {

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

@@ -62,7 +62,7 @@ class DistProductController extends AdminDistController
                 $dataImages = array_slice($dataImages, 0, 2);
                 return CommonHelper::displayImage($dataImages,100);
             });
-            $grid->column('order')->orderable();
+            $grid->column('order');
             $grid->column('is_pinned')->switch();
             $grid->column('enabled')->switch();
             $grid->column('created_at');
@@ -77,7 +77,7 @@ class DistProductController extends AdminDistController
                 $filter->equal('enabled', admin_trans_label('enabled'))->select(admin_trans_array( config('dictionary.enabled')))->width(2);;
             });
             //排序
-            $grid->model()->orderBy("is_pinned",'desc')->orderBy("order",'desc');
+            $grid->model()->orderBy("is_pinned",'desc')->orderBy("order",'desc')->orderBy('id', 'desc');
             // 传入数组
             $grid->tools([
                 new DistProductImport(),
@@ -185,6 +185,9 @@ class DistProductController extends AdminDistController
                 });
             $form->editor('content');
             $form->switch('is_pinned')->default(0);
+            $form->number('order')
+                ->default(0)
+                ->rules('numeric');
             $form->switch('enabled')->default(1);
             //SEO
             $form->radio('visibility')->when(1,function (Form $form) {

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

@@ -39,7 +39,7 @@ class DistVideoCategoryController extends AdminDistController
             $grid->column('id')->sortable();
             $grid->column('name');
             //$grid->column('parent_id');
-            $grid->column('order')->orderable();
+            $grid->column('order');
             $grid->column('enabled')->switch();
             $grid->column('created_at');
             $grid->column('updated_at')->sortable();
@@ -51,7 +51,7 @@ class DistVideoCategoryController extends AdminDistController
             $grid->disableEditButton();
             //权限与排序
             $grid->model()->where('dist_id', getDistributorId());//这里限不了,改为仓库限制
-            $grid->model()->orderBy('order', 'asc');
+            $grid->model()->orderBy('order', 'desc')->orderBy('id', 'desc');
         });
     }
 
@@ -65,6 +65,9 @@ class DistVideoCategoryController extends AdminDistController
         return Form::make(new DistVideoCategory(), function (Form $form) {
             //$form->display('id');
             $form->text('name')->required();
+            $form->number('order')
+                ->default(0)
+                ->rules('numeric');
             $form->switch('enabled')->default(1);
             //SEO
             $form->radio('visibility')->when(1,function (Form $form) {

+ 5 - 1
app/Distributor/Controllers/DistVideoController.php

@@ -50,7 +50,7 @@ class DistVideoController extends AdminDistController
                 $dataImages = [$image];
                 return CommonHelper::displayImage($dataImages,150);
             });
-            $grid->column('order')->orderable();
+            $grid->column('order');
             $grid->column('is_pinned')->switch();
             $grid->column('enabled')->switch();
             $grid->column('created_at');
@@ -112,6 +112,7 @@ class DistVideoController extends AdminDistController
                 return $html;
             })->unescape();
             $show->field('remark')->unescape();
+            $show->field('order');
             $show->field('enabled')->using(admin_trans_array(config('dictionary.enabled')));
             $show->field('created_at');
             $show->field('updated_at');
@@ -147,6 +148,9 @@ class DistVideoController extends AdminDistController
             $form->url("video_url", admin_trans_label('video_url'))->required();
             $form->editor('remark');
             $form->switch('is_pinned')->default(0);
+            $form->number('order')
+                ->default(0)
+                ->rules('numeric');
             $form->switch('enabled')->default(1);
             //SEO
             $form->radio('visibility')->when(1,function (Form $form) {

+ 94 - 0
app/Distributor/Controllers/SiteBannerController.php

@@ -0,0 +1,94 @@
+<?php
+
+namespace App\Distributor\Controllers;
+
+use App\Distributor\Repositories\SiteBanner;
+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;
+
+class SiteBannerController extends AdminController
+{
+    /**
+     * page index
+     */
+    public function index(Content $content)
+    {
+        return $content
+            ->header('列表')
+            ->description('全部')
+            ->breadcrumb(['text'=>'列表','url'=>''])
+            ->body($this->grid());
+    }
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        return Grid::make(new SiteBanner(), function (Grid $grid) {
+            $grid->column('id')->sortable();
+            $grid->column('image_url');
+            $grid->column('order');
+            $grid->column('url');
+            $grid->column('title');
+            $grid->column('show');
+            $grid->column('position');
+            $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 SiteBanner(), function (Show $show) {
+            $show->field('id');
+            $show->field('image_url');
+            $show->field('order');
+            $show->field('url');
+            $show->field('title');
+            $show->field('show');
+            $show->field('position');
+            $show->field('created_at');
+            $show->field('updated_at');
+        });
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        return Form::make(new SiteBanner(), function (Form $form) {
+            $form->display('id');
+            $form->text('image_url');
+            $form->text('order');
+            $form->text('url');
+            $form->text('title');
+            $form->text('show');
+            $form->text('position');
+        
+            $form->display('created_at');
+            $form->display('updated_at');
+        });
+    }
+}

+ 1 - 1
app/Distributor/Repositories/DistProductCategory.php

@@ -101,7 +101,7 @@ class DistProductCategory extends EloquentRepository
         // 获取模型对象
         $obj = $this->model();
 
-        $obj = $obj->where('dist_id', getDistributorId())->orderBy('order', 'asc');
+        $obj = $obj->where('dist_id', getDistributorId())->orderBy('order', 'desc')->orderBy('id', 'desc');
 
         // 获取数据
         $tree = $obj->get();

+ 16 - 0
app/Distributor/Repositories/SiteBanner.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace App\Distributor\Repositories;
+
+use App\Models\SiteBanner as Model;
+use Dcat\Admin\Repositories\EloquentRepository;
+
+class SiteBanner extends EloquentRepository
+{
+    /**
+     * Model.
+     *
+     * @var string
+     */
+    protected $eloquentClass = Model::class;
+}

+ 2 - 0
app/Distributor/routes.php

@@ -53,6 +53,8 @@ Route::group([
     //文章管理
     $router->resource('site-pages', 'SitePagesController');
     $router->resource('site-pages-tag', 'SitePagesTagController');
+    //banner管理
+    $router->resource('site-banner', 'SiteBannerController');
     //API相关
     $router->get('api/products', 'ApiController@products');
     $router->get('api/pages', 'ApiController@pages');

+ 1 - 1
app/Models/DistProduct.php

@@ -7,7 +7,7 @@ use App\Traits\SortableTraitPinned;
 use Illuminate\Database\Eloquent\Model;
 use Spatie\EloquentSortable\Sortable;
 
-class DistProduct extends Model implements Sortable
+class DistProduct extends Model
 {
 	use HasDateTimeFormatter;
     use SortableTraitPinned;

+ 1 - 1
app/Models/DistVideo.php

@@ -9,7 +9,7 @@ use Spatie\EloquentSortable\Sortable;
 use Spatie\EloquentSortable\SortableTrait;
 use App\Traits\SortableTraitPinned;
 
-class DistVideo extends Model implements Sortable
+class DistVideo extends Model
 {
     use HasDateTimeFormatter;
     use SortableTraitPinned;

+ 1 - 1
app/Models/DistVideoCategory.php

@@ -8,7 +8,7 @@ use Dcat\Admin\Traits\ModelTree;
 use Illuminate\Database\Eloquent\Model;
 use Spatie\EloquentSortable\Sortable;
 
-class distVideoCategory extends Model implements Sortable
+class distVideoCategory extends Model
 {
     use HasDateTimeFormatter,
         ModelTree {

+ 14 - 0
app/Models/SiteBanner.php

@@ -0,0 +1,14 @@
+<?php
+
+namespace App\Models;
+
+use Dcat\Admin\Traits\HasDateTimeFormatter;
+
+use Illuminate\Database\Eloquent\Model;
+
+class SiteBanner extends Model
+{
+	use HasDateTimeFormatter;
+    protected $table = 'site_banner';
+    
+}

+ 478 - 0
dcat_admin_ide_helper.php

@@ -0,0 +1,478 @@
+<?php
+
+/**
+ * A helper file for Dcat Admin, to provide autocomplete information to your IDE
+ *
+ * This file should not be included in your code, only analyzed by your IDE!
+ *
+ * @author jqh <841324345@qq.com>
+ */
+namespace Dcat\Admin {
+    use Illuminate\Support\Collection;
+
+    /**
+     * @property Grid\Column|Collection width
+     * @property Grid\Column|Collection id
+     * @property Grid\Column|Collection name
+     * @property Grid\Column|Collection type
+     * @property Grid\Column|Collection version
+     * @property Grid\Column|Collection detail
+     * @property Grid\Column|Collection created_at
+     * @property Grid\Column|Collection updated_at
+     * @property Grid\Column|Collection is_enabled
+     * @property Grid\Column|Collection parent_id
+     * @property Grid\Column|Collection order
+     * @property Grid\Column|Collection icon
+     * @property Grid\Column|Collection uri
+     * @property Grid\Column|Collection extension
+     * @property Grid\Column|Collection permission_id
+     * @property Grid\Column|Collection menu_id
+     * @property Grid\Column|Collection slug
+     * @property Grid\Column|Collection http_method
+     * @property Grid\Column|Collection http_path
+     * @property Grid\Column|Collection role_id
+     * @property Grid\Column|Collection user_id
+     * @property Grid\Column|Collection value
+     * @property Grid\Column|Collection username
+     * @property Grid\Column|Collection password
+     * @property Grid\Column|Collection avatar
+     * @property Grid\Column|Collection remember_token
+     * @property Grid\Column|Collection language
+     * @property Grid\Column|Collection seo_keywords
+     * @property Grid\Column|Collection seo_description
+     * @property Grid\Column|Collection sku
+     * @property Grid\Column|Collection category_id
+     * @property Grid\Column|Collection issuance_date
+     * @property Grid\Column|Collection enabled
+     * @property Grid\Column|Collection content
+     * @property Grid\Column|Collection parameters
+     * @property Grid\Column|Collection is_pinned
+     * @property Grid\Column|Collection seo_title
+     * @property Grid\Column|Collection parameter_id
+     * @property Grid\Column|Collection image_url
+     * @property Grid\Column|Collection product_id
+     * @property Grid\Column|Collection remark
+     * @property Grid\Column|Collection video_url
+     * @property Grid\Column|Collection cover_image
+     * @property Grid\Column|Collection client_code
+     * @property Grid\Column|Collection dist_contact_number
+     * @property Grid\Column|Collection distr_email
+     * @property Grid\Column|Collection secondary_domain
+     * @property Grid\Column|Collection country
+     * @property Grid\Column|Collection address
+     * @property Grid\Column|Collection service_hotline
+     * @property Grid\Column|Collection whats_app
+     * @property Grid\Column|Collection facebook
+     * @property Grid\Column|Collection instagram
+     * @property Grid\Column|Collection youtube
+     * @property Grid\Column|Collection linkedin
+     * @property Grid\Column|Collection tiktok
+     * @property Grid\Column|Collection site_name
+     * @property Grid\Column|Collection company_name
+     * @property Grid\Column|Collection appearance_id
+     * @property Grid\Column|Collection custom_domain
+     * @property Grid\Column|Collection domain_type
+     * @property Grid\Column|Collection logo
+     * @property Grid\Column|Collection copy_right
+     * @property Grid\Column|Collection statistics_js
+     * @property Grid\Column|Collection company_address
+     * @property Grid\Column|Collection key
+     * @property Grid\Column|Collection dist_id
+     * @property Grid\Column|Collection describe
+     * @property Grid\Column|Collection imported
+     * @property Grid\Column|Collection folder
+     * @property Grid\Column|Collection template_version
+     * @property Grid\Column|Collection template_update_code
+     * @property Grid\Column|Collection template_local_code
+     * @property Grid\Column|Collection file_name
+     * @property Grid\Column|Collection file_path
+     * @property Grid\Column|Collection template_code
+     * @property Grid\Column|Collection current_content
+     * @property Grid\Column|Collection previous_content
+     * @property Grid\Column|Collection variable_name
+     * @property Grid\Column|Collection variable_value
+     * @property Grid\Column|Collection variable_type
+     * @property Grid\Column|Collection variable_code
+     * @property Grid\Column|Collection order_number
+     * @property Grid\Column|Collection customer_name
+     * @property Grid\Column|Collection email
+     * @property Grid\Column|Collection consulting_products
+     * @property Grid\Column|Collection freight_forwarder
+     * @property Grid\Column|Collection business_model
+     * @property Grid\Column|Collection ip_address
+     * @property Grid\Column|Collection status
+     * @property Grid\Column|Collection allocate_time
+     * @property Grid\Column|Collection referer_url
+     * @property Grid\Column|Collection token
+     * @property Grid\Column|Collection tokenable_type
+     * @property Grid\Column|Collection tokenable_id
+     * @property Grid\Column|Collection abilities
+     * @property Grid\Column|Collection last_used_at
+     * @property Grid\Column|Collection expires_at
+     * @property Grid\Column|Collection url
+     * @property Grid\Column|Collection position
+     * @property Grid\Column|Collection menu_type
+     * @property Grid\Column|Collection menu_config
+     * @property Grid\Column|Collection menu_location
+     * @property Grid\Column|Collection author
+     * @property Grid\Column|Collection post_date
+     * @property Grid\Column|Collection pages_id
+     * @property Grid\Column|Collection tag_id
+     *
+     * @method Grid\Column|Collection width(string $label = null)
+     * @method Grid\Column|Collection id(string $label = null)
+     * @method Grid\Column|Collection name(string $label = null)
+     * @method Grid\Column|Collection type(string $label = null)
+     * @method Grid\Column|Collection version(string $label = null)
+     * @method Grid\Column|Collection detail(string $label = null)
+     * @method Grid\Column|Collection created_at(string $label = null)
+     * @method Grid\Column|Collection updated_at(string $label = null)
+     * @method Grid\Column|Collection is_enabled(string $label = null)
+     * @method Grid\Column|Collection parent_id(string $label = null)
+     * @method Grid\Column|Collection order(string $label = null)
+     * @method Grid\Column|Collection icon(string $label = null)
+     * @method Grid\Column|Collection uri(string $label = null)
+     * @method Grid\Column|Collection extension(string $label = null)
+     * @method Grid\Column|Collection permission_id(string $label = null)
+     * @method Grid\Column|Collection menu_id(string $label = null)
+     * @method Grid\Column|Collection slug(string $label = null)
+     * @method Grid\Column|Collection http_method(string $label = null)
+     * @method Grid\Column|Collection http_path(string $label = null)
+     * @method Grid\Column|Collection role_id(string $label = null)
+     * @method Grid\Column|Collection user_id(string $label = null)
+     * @method Grid\Column|Collection value(string $label = null)
+     * @method Grid\Column|Collection username(string $label = null)
+     * @method Grid\Column|Collection password(string $label = null)
+     * @method Grid\Column|Collection avatar(string $label = null)
+     * @method Grid\Column|Collection remember_token(string $label = null)
+     * @method Grid\Column|Collection language(string $label = null)
+     * @method Grid\Column|Collection seo_keywords(string $label = null)
+     * @method Grid\Column|Collection seo_description(string $label = null)
+     * @method Grid\Column|Collection sku(string $label = null)
+     * @method Grid\Column|Collection category_id(string $label = null)
+     * @method Grid\Column|Collection issuance_date(string $label = null)
+     * @method Grid\Column|Collection enabled(string $label = null)
+     * @method Grid\Column|Collection content(string $label = null)
+     * @method Grid\Column|Collection parameters(string $label = null)
+     * @method Grid\Column|Collection is_pinned(string $label = null)
+     * @method Grid\Column|Collection seo_title(string $label = null)
+     * @method Grid\Column|Collection parameter_id(string $label = null)
+     * @method Grid\Column|Collection image_url(string $label = null)
+     * @method Grid\Column|Collection product_id(string $label = null)
+     * @method Grid\Column|Collection remark(string $label = null)
+     * @method Grid\Column|Collection video_url(string $label = null)
+     * @method Grid\Column|Collection cover_image(string $label = null)
+     * @method Grid\Column|Collection client_code(string $label = null)
+     * @method Grid\Column|Collection dist_contact_number(string $label = null)
+     * @method Grid\Column|Collection distr_email(string $label = null)
+     * @method Grid\Column|Collection secondary_domain(string $label = null)
+     * @method Grid\Column|Collection country(string $label = null)
+     * @method Grid\Column|Collection address(string $label = null)
+     * @method Grid\Column|Collection service_hotline(string $label = null)
+     * @method Grid\Column|Collection whats_app(string $label = null)
+     * @method Grid\Column|Collection facebook(string $label = null)
+     * @method Grid\Column|Collection instagram(string $label = null)
+     * @method Grid\Column|Collection youtube(string $label = null)
+     * @method Grid\Column|Collection linkedin(string $label = null)
+     * @method Grid\Column|Collection tiktok(string $label = null)
+     * @method Grid\Column|Collection site_name(string $label = null)
+     * @method Grid\Column|Collection company_name(string $label = null)
+     * @method Grid\Column|Collection appearance_id(string $label = null)
+     * @method Grid\Column|Collection custom_domain(string $label = null)
+     * @method Grid\Column|Collection domain_type(string $label = null)
+     * @method Grid\Column|Collection logo(string $label = null)
+     * @method Grid\Column|Collection copy_right(string $label = null)
+     * @method Grid\Column|Collection statistics_js(string $label = null)
+     * @method Grid\Column|Collection company_address(string $label = null)
+     * @method Grid\Column|Collection key(string $label = null)
+     * @method Grid\Column|Collection dist_id(string $label = null)
+     * @method Grid\Column|Collection describe(string $label = null)
+     * @method Grid\Column|Collection imported(string $label = null)
+     * @method Grid\Column|Collection folder(string $label = null)
+     * @method Grid\Column|Collection template_version(string $label = null)
+     * @method Grid\Column|Collection template_update_code(string $label = null)
+     * @method Grid\Column|Collection template_local_code(string $label = null)
+     * @method Grid\Column|Collection file_name(string $label = null)
+     * @method Grid\Column|Collection file_path(string $label = null)
+     * @method Grid\Column|Collection template_code(string $label = null)
+     * @method Grid\Column|Collection current_content(string $label = null)
+     * @method Grid\Column|Collection previous_content(string $label = null)
+     * @method Grid\Column|Collection variable_name(string $label = null)
+     * @method Grid\Column|Collection variable_value(string $label = null)
+     * @method Grid\Column|Collection variable_type(string $label = null)
+     * @method Grid\Column|Collection variable_code(string $label = null)
+     * @method Grid\Column|Collection order_number(string $label = null)
+     * @method Grid\Column|Collection customer_name(string $label = null)
+     * @method Grid\Column|Collection email(string $label = null)
+     * @method Grid\Column|Collection consulting_products(string $label = null)
+     * @method Grid\Column|Collection freight_forwarder(string $label = null)
+     * @method Grid\Column|Collection business_model(string $label = null)
+     * @method Grid\Column|Collection ip_address(string $label = null)
+     * @method Grid\Column|Collection status(string $label = null)
+     * @method Grid\Column|Collection allocate_time(string $label = null)
+     * @method Grid\Column|Collection referer_url(string $label = null)
+     * @method Grid\Column|Collection token(string $label = null)
+     * @method Grid\Column|Collection tokenable_type(string $label = null)
+     * @method Grid\Column|Collection tokenable_id(string $label = null)
+     * @method Grid\Column|Collection abilities(string $label = null)
+     * @method Grid\Column|Collection last_used_at(string $label = null)
+     * @method Grid\Column|Collection expires_at(string $label = null)
+     * @method Grid\Column|Collection url(string $label = null)
+     * @method Grid\Column|Collection position(string $label = null)
+     * @method Grid\Column|Collection menu_type(string $label = null)
+     * @method Grid\Column|Collection menu_config(string $label = null)
+     * @method Grid\Column|Collection menu_location(string $label = null)
+     * @method Grid\Column|Collection author(string $label = null)
+     * @method Grid\Column|Collection post_date(string $label = null)
+     * @method Grid\Column|Collection pages_id(string $label = null)
+     * @method Grid\Column|Collection tag_id(string $label = null)
+     */
+    class Grid {}
+
+    class MiniGrid extends Grid {}
+
+    /**
+     * @property Show\Field|Collection width
+     * @property Show\Field|Collection id
+     * @property Show\Field|Collection name
+     * @property Show\Field|Collection type
+     * @property Show\Field|Collection version
+     * @property Show\Field|Collection detail
+     * @property Show\Field|Collection created_at
+     * @property Show\Field|Collection updated_at
+     * @property Show\Field|Collection is_enabled
+     * @property Show\Field|Collection parent_id
+     * @property Show\Field|Collection order
+     * @property Show\Field|Collection icon
+     * @property Show\Field|Collection uri
+     * @property Show\Field|Collection extension
+     * @property Show\Field|Collection permission_id
+     * @property Show\Field|Collection menu_id
+     * @property Show\Field|Collection slug
+     * @property Show\Field|Collection http_method
+     * @property Show\Field|Collection http_path
+     * @property Show\Field|Collection role_id
+     * @property Show\Field|Collection user_id
+     * @property Show\Field|Collection value
+     * @property Show\Field|Collection username
+     * @property Show\Field|Collection password
+     * @property Show\Field|Collection avatar
+     * @property Show\Field|Collection remember_token
+     * @property Show\Field|Collection language
+     * @property Show\Field|Collection seo_keywords
+     * @property Show\Field|Collection seo_description
+     * @property Show\Field|Collection sku
+     * @property Show\Field|Collection category_id
+     * @property Show\Field|Collection issuance_date
+     * @property Show\Field|Collection enabled
+     * @property Show\Field|Collection content
+     * @property Show\Field|Collection parameters
+     * @property Show\Field|Collection is_pinned
+     * @property Show\Field|Collection seo_title
+     * @property Show\Field|Collection parameter_id
+     * @property Show\Field|Collection image_url
+     * @property Show\Field|Collection product_id
+     * @property Show\Field|Collection remark
+     * @property Show\Field|Collection video_url
+     * @property Show\Field|Collection cover_image
+     * @property Show\Field|Collection client_code
+     * @property Show\Field|Collection dist_contact_number
+     * @property Show\Field|Collection distr_email
+     * @property Show\Field|Collection secondary_domain
+     * @property Show\Field|Collection country
+     * @property Show\Field|Collection address
+     * @property Show\Field|Collection service_hotline
+     * @property Show\Field|Collection whats_app
+     * @property Show\Field|Collection facebook
+     * @property Show\Field|Collection instagram
+     * @property Show\Field|Collection youtube
+     * @property Show\Field|Collection linkedin
+     * @property Show\Field|Collection tiktok
+     * @property Show\Field|Collection site_name
+     * @property Show\Field|Collection company_name
+     * @property Show\Field|Collection appearance_id
+     * @property Show\Field|Collection custom_domain
+     * @property Show\Field|Collection domain_type
+     * @property Show\Field|Collection logo
+     * @property Show\Field|Collection copy_right
+     * @property Show\Field|Collection statistics_js
+     * @property Show\Field|Collection company_address
+     * @property Show\Field|Collection key
+     * @property Show\Field|Collection dist_id
+     * @property Show\Field|Collection describe
+     * @property Show\Field|Collection imported
+     * @property Show\Field|Collection folder
+     * @property Show\Field|Collection template_version
+     * @property Show\Field|Collection template_update_code
+     * @property Show\Field|Collection template_local_code
+     * @property Show\Field|Collection file_name
+     * @property Show\Field|Collection file_path
+     * @property Show\Field|Collection template_code
+     * @property Show\Field|Collection current_content
+     * @property Show\Field|Collection previous_content
+     * @property Show\Field|Collection variable_name
+     * @property Show\Field|Collection variable_value
+     * @property Show\Field|Collection variable_type
+     * @property Show\Field|Collection variable_code
+     * @property Show\Field|Collection order_number
+     * @property Show\Field|Collection customer_name
+     * @property Show\Field|Collection email
+     * @property Show\Field|Collection consulting_products
+     * @property Show\Field|Collection freight_forwarder
+     * @property Show\Field|Collection business_model
+     * @property Show\Field|Collection ip_address
+     * @property Show\Field|Collection status
+     * @property Show\Field|Collection allocate_time
+     * @property Show\Field|Collection referer_url
+     * @property Show\Field|Collection token
+     * @property Show\Field|Collection tokenable_type
+     * @property Show\Field|Collection tokenable_id
+     * @property Show\Field|Collection abilities
+     * @property Show\Field|Collection last_used_at
+     * @property Show\Field|Collection expires_at
+     * @property Show\Field|Collection url
+     * @property Show\Field|Collection position
+     * @property Show\Field|Collection menu_type
+     * @property Show\Field|Collection menu_config
+     * @property Show\Field|Collection menu_location
+     * @property Show\Field|Collection author
+     * @property Show\Field|Collection post_date
+     * @property Show\Field|Collection pages_id
+     * @property Show\Field|Collection tag_id
+     *
+     * @method Show\Field|Collection width(string $label = null)
+     * @method Show\Field|Collection id(string $label = null)
+     * @method Show\Field|Collection name(string $label = null)
+     * @method Show\Field|Collection type(string $label = null)
+     * @method Show\Field|Collection version(string $label = null)
+     * @method Show\Field|Collection detail(string $label = null)
+     * @method Show\Field|Collection created_at(string $label = null)
+     * @method Show\Field|Collection updated_at(string $label = null)
+     * @method Show\Field|Collection is_enabled(string $label = null)
+     * @method Show\Field|Collection parent_id(string $label = null)
+     * @method Show\Field|Collection order(string $label = null)
+     * @method Show\Field|Collection icon(string $label = null)
+     * @method Show\Field|Collection uri(string $label = null)
+     * @method Show\Field|Collection extension(string $label = null)
+     * @method Show\Field|Collection permission_id(string $label = null)
+     * @method Show\Field|Collection menu_id(string $label = null)
+     * @method Show\Field|Collection slug(string $label = null)
+     * @method Show\Field|Collection http_method(string $label = null)
+     * @method Show\Field|Collection http_path(string $label = null)
+     * @method Show\Field|Collection role_id(string $label = null)
+     * @method Show\Field|Collection user_id(string $label = null)
+     * @method Show\Field|Collection value(string $label = null)
+     * @method Show\Field|Collection username(string $label = null)
+     * @method Show\Field|Collection password(string $label = null)
+     * @method Show\Field|Collection avatar(string $label = null)
+     * @method Show\Field|Collection remember_token(string $label = null)
+     * @method Show\Field|Collection language(string $label = null)
+     * @method Show\Field|Collection seo_keywords(string $label = null)
+     * @method Show\Field|Collection seo_description(string $label = null)
+     * @method Show\Field|Collection sku(string $label = null)
+     * @method Show\Field|Collection category_id(string $label = null)
+     * @method Show\Field|Collection issuance_date(string $label = null)
+     * @method Show\Field|Collection enabled(string $label = null)
+     * @method Show\Field|Collection content(string $label = null)
+     * @method Show\Field|Collection parameters(string $label = null)
+     * @method Show\Field|Collection is_pinned(string $label = null)
+     * @method Show\Field|Collection seo_title(string $label = null)
+     * @method Show\Field|Collection parameter_id(string $label = null)
+     * @method Show\Field|Collection image_url(string $label = null)
+     * @method Show\Field|Collection product_id(string $label = null)
+     * @method Show\Field|Collection remark(string $label = null)
+     * @method Show\Field|Collection video_url(string $label = null)
+     * @method Show\Field|Collection cover_image(string $label = null)
+     * @method Show\Field|Collection client_code(string $label = null)
+     * @method Show\Field|Collection dist_contact_number(string $label = null)
+     * @method Show\Field|Collection distr_email(string $label = null)
+     * @method Show\Field|Collection secondary_domain(string $label = null)
+     * @method Show\Field|Collection country(string $label = null)
+     * @method Show\Field|Collection address(string $label = null)
+     * @method Show\Field|Collection service_hotline(string $label = null)
+     * @method Show\Field|Collection whats_app(string $label = null)
+     * @method Show\Field|Collection facebook(string $label = null)
+     * @method Show\Field|Collection instagram(string $label = null)
+     * @method Show\Field|Collection youtube(string $label = null)
+     * @method Show\Field|Collection linkedin(string $label = null)
+     * @method Show\Field|Collection tiktok(string $label = null)
+     * @method Show\Field|Collection site_name(string $label = null)
+     * @method Show\Field|Collection company_name(string $label = null)
+     * @method Show\Field|Collection appearance_id(string $label = null)
+     * @method Show\Field|Collection custom_domain(string $label = null)
+     * @method Show\Field|Collection domain_type(string $label = null)
+     * @method Show\Field|Collection logo(string $label = null)
+     * @method Show\Field|Collection copy_right(string $label = null)
+     * @method Show\Field|Collection statistics_js(string $label = null)
+     * @method Show\Field|Collection company_address(string $label = null)
+     * @method Show\Field|Collection key(string $label = null)
+     * @method Show\Field|Collection dist_id(string $label = null)
+     * @method Show\Field|Collection describe(string $label = null)
+     * @method Show\Field|Collection imported(string $label = null)
+     * @method Show\Field|Collection folder(string $label = null)
+     * @method Show\Field|Collection template_version(string $label = null)
+     * @method Show\Field|Collection template_update_code(string $label = null)
+     * @method Show\Field|Collection template_local_code(string $label = null)
+     * @method Show\Field|Collection file_name(string $label = null)
+     * @method Show\Field|Collection file_path(string $label = null)
+     * @method Show\Field|Collection template_code(string $label = null)
+     * @method Show\Field|Collection current_content(string $label = null)
+     * @method Show\Field|Collection previous_content(string $label = null)
+     * @method Show\Field|Collection variable_name(string $label = null)
+     * @method Show\Field|Collection variable_value(string $label = null)
+     * @method Show\Field|Collection variable_type(string $label = null)
+     * @method Show\Field|Collection variable_code(string $label = null)
+     * @method Show\Field|Collection order_number(string $label = null)
+     * @method Show\Field|Collection customer_name(string $label = null)
+     * @method Show\Field|Collection email(string $label = null)
+     * @method Show\Field|Collection consulting_products(string $label = null)
+     * @method Show\Field|Collection freight_forwarder(string $label = null)
+     * @method Show\Field|Collection business_model(string $label = null)
+     * @method Show\Field|Collection ip_address(string $label = null)
+     * @method Show\Field|Collection status(string $label = null)
+     * @method Show\Field|Collection allocate_time(string $label = null)
+     * @method Show\Field|Collection referer_url(string $label = null)
+     * @method Show\Field|Collection token(string $label = null)
+     * @method Show\Field|Collection tokenable_type(string $label = null)
+     * @method Show\Field|Collection tokenable_id(string $label = null)
+     * @method Show\Field|Collection abilities(string $label = null)
+     * @method Show\Field|Collection last_used_at(string $label = null)
+     * @method Show\Field|Collection expires_at(string $label = null)
+     * @method Show\Field|Collection url(string $label = null)
+     * @method Show\Field|Collection position(string $label = null)
+     * @method Show\Field|Collection menu_type(string $label = null)
+     * @method Show\Field|Collection menu_config(string $label = null)
+     * @method Show\Field|Collection menu_location(string $label = null)
+     * @method Show\Field|Collection author(string $label = null)
+     * @method Show\Field|Collection post_date(string $label = null)
+     * @method Show\Field|Collection pages_id(string $label = null)
+     * @method Show\Field|Collection tag_id(string $label = null)
+     */
+    class Show {}
+
+    /**
+     * @method \Dcat\Admin\Form\Extend\Distpicker\Form\Distpicker distpicker(...$params)
+     * @method \Dcat\Admin\Form\Extend\Diyforms\Form\DiyForm diyForm(...$params)
+     */
+    class Form {}
+
+}
+
+namespace Dcat\Admin\Grid {
+    /**
+     * @method $this distpicker(...$params)
+     */
+    class Column {}
+
+    /**
+     * @method \Dcat\Admin\Form\Extend\Distpicker\Filter\DistpickerFilter distpicker(...$params)
+     */
+    class Filter {}
+}
+
+namespace Dcat\Admin\Show {
+    /**
+     * @method $this diyForm(...$params)
+     */
+    class Field {}
+}

+ 7 - 6
lang/zh_CN/menu.php

@@ -15,19 +15,19 @@ return [
         'icons'         => '图标',
         'products'         => '产品',
         'title'    => '标题',
-        'product_admin'    => '产品管理',
+        'product'    => '产品',
         'product_category'    => '产品分类',
         'product_parameter'    => '产品参数',
         'video_category'       => '视频分类',
-        'video_admin'     => '视频管理',
+        'video'     => '视频',
         'import_product'     => '产品导入',
         'base_product'    => '基础产品',
         'template'    => '模板',
         'template_edit'    => '模板编辑',
-        'site_admin'    => '站点管理',
-        'distro_admin'    => '分销商管理',
-        'users_admin'    => '用户管理',
-        'inquiry_admin'    => '询盘管理',
+        'site'    => '站点',
+        'distro'    => '分销商',
+        'users'    => '用户管理',
+        'inquiry'    => '询盘管理',
         'appearance'    => '外观',
         'settings'    => '设置',
         'domain'    => '域名',
@@ -48,5 +48,6 @@ return [
         'video_list' => '视频列表',
         'inquiry_list' => '询盘列表',
         'password_change' => '密码修改',
+        'distributor' => '分销商',
     ],
 ];