Browse Source

询盘下拉用select
产品页,默认时间排,order可选

moshaorui 3 months ago
parent
commit
9c31b436d3

+ 46 - 0
app/Admin/Controllers/ApiController.php

@@ -0,0 +1,46 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Admin\Repositories\DistAdminDistributor;
+use Illuminate\Http\Request;
+use Illuminate\Routing\Controller;
+
+class ApiController extends Controller
+{
+    /**
+     * dist 分销商
+     */
+    public function dist(Request $request)
+    {
+        $q = $request->get('q');
+        if ($q != null) {
+            // 模糊搜索
+            $obj = new DistAdminDistributor();
+            return $obj->model()->where('client_code', 'like', "%$q%")->paginate(null, ['id', 'client_code as text']);
+        } else {
+            // 获取最新的N个
+            $selectOptionsNew =  DistAdminDistributor::selectOptionsNew();
+            return $this->changeOptions($selectOptionsNew);
+        }
+    }
+
+
+    /*
+ * 把数据转换成select需要的格式
+ */
+    private function changeOptions($data) {
+        // 初始化结果数组
+        $result = [];
+        // 遍历原始数据并转换格式
+        foreach ($data as $id => $text) {
+            $result[] = [
+                'id' => (int)$id,  // 将字符串转换为整数
+                'text' => $text
+            ];
+        }
+        return $result;
+    }
+
+
+}

+ 2 - 2
app/Admin/Controllers/BaseProductController.php

@@ -55,7 +55,7 @@ class BaseProductController extends AdminController
                 $dataImages = array_slice($dataImages, 0, 1);
                 return CommonHelper::displayImage($dataImages,100);
             });
-            $grid->column('order');
+            $grid->column('order')->sortable();
             $grid->column('enabled')->switch();
             $grid->column('created_at')->sortable();
             $grid->column('updated_at')->sortable();
@@ -69,7 +69,7 @@ class BaseProductController extends AdminController
                 $filter->equal('enabled')->select(admin_trans_array(config('dictionary.enabled')))->width(2);
             });
             //排序
-            $grid->model()->orderBy("order",'desc')->orderBy('id','desc');
+            $grid->model()->orderBy('created_at','desc');
         });
     }
 

+ 9 - 4
app/Admin/Forms/InquiryAssignment.php

@@ -25,6 +25,9 @@ class InquiryAssignment extends Form
         if (DistInquiry::assessTheStatus($ids) == false) {
             return $this->response()->error('The data cannot be assigned!');
         }
+        if (empty($distId)) {
+            return $this->response()->error('No distributor selected!');
+        }
         //分配数据
         DistInquiry::assignData($ids, $distId);
         return $this->response()->success(admin_trans_label('update_success'))->refresh();
@@ -32,10 +35,12 @@ class InquiryAssignment extends Form
 
     public function form()
     {
-        $this->selectTable('distId', admin_trans_label('select_distributor'))
-            ->title(admin_trans_label('select_distributor'))
-            ->model(DistAdminDistributor::class, 'id', 'client_code')
-            ->from(DistDistributorTable::make());
+//        $this->selectTable('distId', admin_trans_label('select_distributor'))
+//            ->title(admin_trans_label('select_distributor'))
+//            ->model(DistAdminDistributor::class, 'id', 'client_code')
+//            ->from(DistDistributorTable::make());
+
+        $this->select('distId',admin_trans_label('select_distributor'))->options('/api/dist')->required();
         // 设置隐藏表单,传递用户id
         $this->hidden('id')->attribute('id', 'inquiryIds');
     }

+ 8 - 0
app/Admin/Repositories/DistAdminDistributor.php

@@ -21,6 +21,14 @@ class DistAdminDistributor extends EloquentRepository
      */
     protected $eloquentClass = Model::class;
 
+    /*
+     * 查找最新的N个标签
+     */
+    public static function selectOptionsNew($limit=30)
+    {
+        return Model::orderBy('created_at', 'desc')->limit($limit)->pluck('client_code', 'id');
+    }
+
     /*
      * 清缓存
      */

+ 3 - 0
app/Admin/routes.php

@@ -47,6 +47,9 @@ Route::group([
 
     // 不需要登录的路由
     $router->get('captcha','CaptchaController@generate');
+
+    //api接口
+    $router->get('api/dist', 'ApiController@dist');
 });
 
 /*

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

@@ -64,7 +64,7 @@ class DistProductController extends AdminDistController
                 $dataImages = array_slice($dataImages, 0, 1);
                 return CommonHelper::displayImage($dataImages,100);
             });
-            $grid->column('order');
+            $grid->column('order')->sortable();
             $grid->column('enabled')->switch();
             $grid->column('created_at')->sortable();
             $grid->column('updated_at')->sortable();
@@ -78,7 +78,7 @@ class DistProductController extends AdminDistController
                 $filter->equal('enabled', admin_trans_label('enabled'))->select(admin_trans_array( config('dictionary.enabled')))->width(2);
             });
             //排序
-            $grid->model()->orderBy("order",'desc')->orderBy('id', 'desc');
+            $grid->model()->orderBy('created_at', 'desc')->orderBy('id', 'desc');
             // 传入数组
             $grid->tools([
                 new DistProductImport(),