Browse Source

询价管理

moshaorui 5 months ago
parent
commit
803d8aedc5

+ 1 - 0
app/Admin/Controllers/BaseVideoCategoryController.php

@@ -32,6 +32,7 @@ class BaseVideoCategoryController extends AdminController
      */
     protected function grid()
     {
+
         return Grid::make(new BaseVideoCategory(), function (Grid $grid) {
             $grid->column('id')->sortable();
             $grid->column('name')->tree(true,true);

+ 2 - 1
app/Admin/Controllers/DistAdminUserController.php

@@ -49,7 +49,6 @@ class DistAdminUserController extends AdminController
             //排序
             $grid->model()->orderBy("id",'desc');
             //按钮
-            $grid->disableViewButton();
             $grid->showQuickEditButton();
             $grid->enableDialogCreate();
             $grid->disableEditButton();
@@ -87,6 +86,7 @@ class DistAdminUserController extends AdminController
                 $show->width(6)->field('enabled')->using(config('dictionary.enabled'));
                 $show->width(6)->field('created_at');
                 $show->width(6)->field('updated_at');
+                $show->width(6)->field('info.company_address','Company Address');
                 $show->width(6)->field('info.remark','Remark');
             });
         });
@@ -121,6 +121,7 @@ class DistAdminUserController extends AdminController
                 $form->text('info.youtube','Youtube');
                 $form->text('info.linkedin','Linkedin');
                 $form->text('info.tiktok','Tiktok');
+                $form->textarea('info.company_address','Company Address');
                 $form->textarea('info.remark','Remark');
             });
             //保存前回调

+ 124 - 0
app/Admin/Controllers/DistInquiryController.php

@@ -0,0 +1,124 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Admin\Repositories\DistInquiry;
+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 DistInquiryController extends AdminController
+{
+    /**
+     * page index
+     */
+    public function index(Content $content)
+    {
+        return $content
+            ->header('Inquiry Management')
+            ->description('all')
+            ->breadcrumb(['text'=>'list','url'=>''])
+            ->body($this->grid());
+    }
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        return Grid::make(DistInquiry::with(['distributor']), function (Grid $grid) {
+            $grid->column('id')->sortable();
+            $grid->column('order_noumber');
+            $grid->column('company_name');
+            $grid->column('customer_name');
+            $grid->column('email');
+            $grid->column('consulting_products');
+            //$grid->column('distributor.username', 'Distributor Username');
+            $grid->column('distributor.name', 'Distributor Company Name');
+            $grid->column('status')->using(config('dictionary.inquiryStatus'))->label([
+                0 => 'default',
+                1 => 'info',
+                2 => 'success',
+            ])->filter(Grid\Column\Filter\In::make(config('dictionary.inquiryStatus')));
+            $grid->column('created_at');
+            $grid->column('updated_at')->sortable();
+            //筛选
+            $grid->filter(function (Grid\Filter $filter) {
+                $filter->equal('order_noumber');
+                $filter->equal('company_name');
+                $filter->equal('customer_name');
+                $filter->in('status', 'status')->multipleSelect(['0' => 'xx']);
+            });
+            //排序
+            $grid->model()->orderBy("id",'desc');
+            //按钮
+            $grid->showQuickEditButton();
+            $grid->disableCreateButton();
+            $grid->disableEditButton();
+            $grid->disableDeleteButton();
+            $grid->disableBatchDelete();
+        });
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     *
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        return Show::make($id, new DistInquiry(), function (Show $show) {
+            $show->field('id');
+            $show->field('order_noumber');
+            $show->field('whats_app');
+            $show->field('company_name');
+            $show->field('customer_name');
+            $show->field('email');
+            $show->field('consulting_products');
+            $show->field('freight_forwarder');
+            $show->field('business_model');
+            $show->field('ip_address');
+            $show->field('status');
+            $show->field('allocate_time');
+            $show->field('content');
+            $show->field('dist_user_id');
+            $show->field('created_at');
+            $show->field('updated_at');
+        });
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        return Form::make(new DistInquiry(), function (Form $form) {
+            $form->display('id');
+            $form->text('order_noumber');
+            $form->text('whats_app');
+            $form->text('company_name');
+            $form->text('customer_name');
+            $form->text('email');
+            $form->text('consulting_products');
+            $form->text('freight_forwarder');
+            $form->text('business_model');
+            $form->text('ip_address');
+            $form->text('status');
+            $form->text('allocate_time');
+            $form->text('content');
+            $form->text('dist_user_id');
+
+            $form->display('created_at');
+            $form->display('updated_at');
+        });
+    }
+}

+ 18 - 0
app/Admin/Repositories/DistInquiry.php

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

+ 3 - 1
app/Admin/routes.php

@@ -27,5 +27,7 @@ Route::group([
     $router->resource('base-video', 'BaseVideoController');
     //分销商管理
     $router->resource('dist-admin-user', 'DistAdminUserController');
-    //分销商等级管理
+    //询价管理
+    $router->resource('dist-inquiry', 'DistInquiryController');
+    //外观管理
 });

+ 21 - 0
app/Models/DistInquiry.php

@@ -0,0 +1,21 @@
+<?php
+
+namespace App\Models;
+
+use Dcat\Admin\Traits\HasDateTimeFormatter;
+
+use Illuminate\Database\Eloquent\Model;
+
+class DistInquiry extends Model
+{
+	use HasDateTimeFormatter;
+    protected $table = 'dist_inquiry';
+
+    /*
+     * 关联到分销商
+     */
+    public function distributor()
+    {
+        return $this->hasOne(DistAdminUser::class,'id', 'dist_user_id');
+    }
+}

+ 6 - 0
config/dictionary.php

@@ -12,5 +12,11 @@ return [
         '0' => 'No',
         '1' => 'Yes',
     ],
+    //询价状态
+    'inquiryStatus' => [
+        '0' => 'New',
+        '1' => 'processing',
+        '2' => 'processed',
+    ],
 
 ];

+ 24 - 0
lang/en/dist-inquiry.php

@@ -0,0 +1,24 @@
+<?php 
+return [
+    'labels' => [
+        'Dist_inquiry' => 'Dist_inquiry',
+        'dist-inquiry' => 'Dist_inquiry',
+    ],
+    'fields' => [
+        'order_noumber' => 'order_noumber',
+        'whats_app' => 'whats_app',
+        'company_name' => 'company_name',
+        'customer_name' => 'customer_name',
+        'email' => 'email',
+        'consulting_products' => 'consulting_products',
+        'freight_forwarder' => 'freight_forwarder',
+        'business_model' => 'business_model',
+        'ip_address' => 'ip_address',
+        'status' => 'status',
+        'allocate_time' => 'allocate_time',
+        'content' => 'content',
+        'dist_user_id' => 'dist_user_id',
+    ],
+    'options' => [
+    ],
+];