wesley 6 years ago
parent
commit
67c071979b

+ 1 - 3
app/Http/Controllers/Admin/Company/InfoController.php

xqd xqd
@@ -11,8 +11,6 @@ namespace App\Http\Controllers\Admin\Company;
 
 use App\Http\Controllers\Admin\Controller;
 use Illuminate\Http\Request;
-use App\Repositories\Base\Criteria\OrderBy;
-use App\Repositories\Company\Info\Criteria\MultiWhere;
 use App\Repositories\Company\InfoRepository;
 
 class InfoController extends Controller
@@ -40,7 +38,7 @@ class InfoController extends Controller
     {
         $search = $request->all();
 
-        dd($search);
+        //dd($search);
         $order = array();
         if (isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
             $order[$request['sort_field']] = $request['sort_field_by'];

+ 32 - 14
app/Repositories/Company/InfoRepository.php

xqd
@@ -20,36 +20,54 @@ class InfoRepository extends Repository {
     public function searchCompany(array $search,array $orderby=['id'=>'desc'],$pagesize=10)
     {
         $currentQuery = $this->model;
-        if(isset($search['keyword']) && ! empty($search['keyword'])) {
-            $keywords = '%' . $search['keyword'] . '%';
+        /*企业名称*/
+        if(isset($search['companyName']) && ! empty($search['companyName'])) {
+            $keywords = str_replace(',','|',$search['companyName']);
             $currentQuery = $currentQuery->where(function ($query) use ($keywords) {
-                $query->where('companyName'  , 'like', $keywords);
+                $query->where('companyName'  , 'REGEXP', $keywords);
             });
         }
-
+        /*所在地区*/
         if(isset($search['district']) && ! empty($search['district'])) {
-            $currentQuery = $currentQuery->where(function ($query) use ($search) {
-                $query->where('district','like', '%'.$search['district'].'%');
+            $district = str_replace(',','|',$search['district']);
+            $currentQuery = $currentQuery->where(function ($query) use ($district) {
+                $query->where('district','REGEXP', $district);
             });
         }
-
+        /*企业类型*/
         if(isset($search['entType']) && ! empty($search['entType'])) {
-            $currentQuery = $currentQuery->where(function ($query) use ($search) {
-                $query->where('entType',$search['entType']);
+            $entType = str_replace(',','|',$search['entType']);
+            $currentQuery = $currentQuery->where(function ($query) use ($entType) {
+                $query->where('entType','REGEXP',$entType);
             });
         }
-
+        /*经营状态*/
         if(isset($search['openStatus']) && ! empty($search['openStatus'])) {
-            $currentQuery = $currentQuery->where(function ($query) use ($search) {
-                $query->where('openStatus',$search['openStatus']);
+            $openStatus = str_replace(',','|',$search['openStatus']);
+            $currentQuery = $currentQuery->where(function ($query) use ($openStatus) {
+                $query->where('openStatus','REGEXP',$openStatus);
             });
         }
+        /*所属行业*/
         if(isset($search['industry']) && ! empty($search['industry'])) {
-            $currentQuery = $currentQuery->where(function ($query) use ($search) {
-                $query->where('industry','like','%'.$search['industry'].'%');
+            $industry= str_replace(',','|',$search['industry']);
+            $currentQuery = $currentQuery->where(function ($query) use ($industry) {
+                $query->where('industry','REGEXP',$industry);
             });
         }
+        /*注册资本*/
+        if(isset($search['regCapital']) && ! empty($search['regCapital'])) {
+            $regCapital = explode('-',$search['regCapital']);
 
+            $currentQuery = $currentQuery->where(function ($query) use ($regCapital) {
+                if(!$regCapital[1]){
+                    $query->where('regCapital','>=',(int)$regCapital[1]);
+                }else{
+                    $query->where('regCapital','>=',(int)$regCapital[0])
+                          ->where('regCapital','<',(int)$regCapital[1]);
+                }
+            });
+        }
 
         if($orderby && is_array($orderby)){
             foreach ($orderby AS $field => $value){

+ 16 - 8
resources/views/admin/company/info/search.blade.php

xqd xqd xqd xqd xqd
@@ -1,4 +1,9 @@
 @extends('admin.layouts.app')
+@section('header')
+    <style type="text/css">
+        .chosen-choices input{width: 50px!important;}
+    </style>
+@endsection
 
 @section('content')
     <div class="row">
@@ -37,10 +42,11 @@
                                     <div class="form-group">
                                         <label class="font-normal">单选</label>
                                         <div>
-                                            <select data-placeholder="" class="chosen-select"
-                                                    style="width: 350px; display: none;" tabindex="-1" name="regCapital">
+                                            <select data-placeholder="全部" class="chosen-select"
+                                                    style="width: 350px; display: none;" tabindex="-1"
+                                                    name="regCapital">
                                                 <option value="">全部</option>
-                                                <option value="-50">50万以下</option>
+                                                <option value="0-50">50万以下</option>
                                                 <option value="50-100">50~100万</option>
                                                 <option value="100-500">100~500万</option>
                                                 <option value="500-1000">500~1000万</option>
@@ -61,7 +67,7 @@
                                     <div class="form-group">
                                         <label class="font-normal">多选</label>
                                         <div>
-                                            <select data-placeholder="" class="chosen-select" multiple=""
+                                            <select data-placeholder="全部" class="chosen-select" multiple=""
                                                     style="width: 350px; display: none;" tabindex="-1" name="industry">
                                                 <option value="">全部</option>
                                                 <option value="互联网">互联网</option>
@@ -81,8 +87,9 @@
                                         <div class="form-group">
                                             <label class="font-normal">多选</label>
                                             <div>
-                                                <select data-placeholder="" class="chosen-select" multiple=""
-                                                        style="width: 350px; display: none;" tabindex="-1" name="entType">
+                                                <select data-placeholder="全部" class="chosen-select" multiple=""
+                                                        style="width: 350px; display: none;" tabindex="-1"
+                                                        name="entType">
                                                     <option value="">全部</option>
                                                     <option value="民营">民营</option>
                                                     <option value="国有企业">国有企业</option>
@@ -106,8 +113,9 @@
                                         <div class="form-group">
                                             <label class="font-normal">多选</label>
                                             <div>
-                                                <select data-placeholder="" class="chosen-select" multiple=""
-                                                        style="width: 350px; display: none;" tabindex="-1" name="district">
+                                                <select data-placeholder="全部" class="chosen-select" multiple=""
+                                                        style="width: 350px; display: none;" tabindex="-1"
+                                                        name="district">
                                                     <option value="">全部</option>
                                                     <option value="成都">成都</option>
                                                 </select>