Ver Fonte

基础设置模块,重构统一所有字符串搜索改为可批量,不批量时like

hu hao há 5 anos atrás
pai
commit
8802f283e4

+ 16 - 2
app/Http/Controllers/OwnerController.php

@@ -33,10 +33,24 @@ class OwnerController extends Controller
             ->orderBy('id', 'desc')
             ->whereNull('deleted_at');
         if ($request->has('name')) {
-            $query->where('name', 'like', $request->name . '%');
+            $name=$request->input('name');
+            if (strpos($name, ',') || strpos($name, ',') || strpos($name, ' ')) {
+                $arr = array_filter(preg_split('/[,, ]+/is', $name));
+                $query->whereIn('name', $arr);
+                unset($name);
+            } else {
+                $query->where('name','like',$name.'%');
+            }
         }
         if ($request->has('code')) {
-            $query->where('code', 'like', $request->code . '%');
+            $code=$request->input('code');
+            if (strpos($code, ',') || strpos($code, ',') || strpos($code, ' ')) {
+                $arr = array_filter(preg_split('/[,, ]+/is', $code));
+                $query->whereIn('code', $arr);
+                unset($code);
+            } else {
+                $query->where('code','like',$code.'%');
+            }
         }
         $owners = $query->paginate($request->paginate);
         return view('maintenance.owner.index', ['owners' => $owners]);

+ 8 - 1
app/Http/Controllers/RoleController.php

@@ -29,7 +29,14 @@ class RoleController extends Controller
             });
         }*/
         if($request->has('role')){
-            $query->where('name','like',$request->input('role'));
+            $role=$request->input('role');
+            if (strpos($role, ',') || strpos($role, ',') || strpos($role, ' ')) {
+                $arr = array_filter(preg_split('/[,, ]+/is', $role));
+                $query->whereIn('name', $arr);
+                unset($role);
+            } else {
+                $query->where('name','like',$role.'%');
+            }
         }
         $roles= $query->orderBy('id','desc')->paginate(35);
         return view('maintenance.role.index',['roles'=>$roles]);

+ 9 - 2
app/Http/Controllers/UserController.php

@@ -31,12 +31,19 @@ class UserController extends Controller
         $userDetailQuery = UserDetail::query()->select('user_id')->where('type','临时工');
         $query = User::with(['roles','logistics','userWorkgroups','suppliers','userDetail'])->whereNotIn('id',$userDetailQuery);
         if($request->has('user')){
-           $query->where('name','like',$request->input('user'));
+            $user=$request->input('user');
+            $query->where('name','like',$user.'%');
         }
         if($request->has('role')){
             $role = $request->input('role');
             $query->whereHas('roles',function($query) use ($role){
-                 $query->where('name','like',$role);
+                if (strpos($role, ',') || strpos($role, ',') || strpos($role, ' ')) {
+                    $arr = array_filter(preg_split('/[,, ]+/is', $role));
+                    $query->whereIn('name', $arr);
+                    unset($role);
+                } else {
+                    $query->where('name','like',$role.'%');
+                }
             });
         }
         if($request->input('owner_id')){

+ 7 - 1
app/Http/Controllers/UserLaborController.php

@@ -29,7 +29,13 @@ class UserLaborController extends Controller
         $full_name = $request->user_name ?? false;
         if ($full_name){
             $userLabors->whereHas('userDetail',function($query)use($full_name){
-                $query->where('full_name','like',$full_name."%");
+                if (strpos($full_name, ',') || strpos($full_name, ',') || strpos($full_name, ' ')) {
+                    $arr = array_filter(preg_split('/[,, ]+/is', $full_name));
+                    $query->whereIn('full_name', $arr);
+                    unset($full_name);
+                } else {
+                    $query->where('full_name','like',$full_name.'%');
+                }
             });
         }
         $userLabors = $userLabors->paginate($request->paginate ?? 50);

+ 2 - 2
resources/views/maintenance/owner/index.blade.php

@@ -56,8 +56,8 @@
             },
             mounted:function(){
                 let data = [
-                   [{name: 'code', type: 'input',tip:'货主编码:可在两侧添加百分号(%)进行模糊搜索',placeholder:'货主编码'},
-                   {name: 'name', type: 'input',tip:'货主名称:可在两侧添加百分号(%)进行模糊搜索',placeholder:'货主名称'}]
+                   [{name: 'code', type: 'input',tip:'可支持多货主编码,模糊搜索可在两侧添加百分号(%)进行',placeholder:'货主编码'},
+                   {name: 'name', type: 'input',tip:'可支持多货主名称,模糊搜索可在两侧添加百分号(%)进行',placeholder:'货主名称'}]
                 ];
                 this.from =new query({
                     el: '#form_div',

+ 2 - 1
resources/views/maintenance/role/index.blade.php

@@ -15,6 +15,7 @@
                 @endif
                 <table class="table table-striped table-sm td-min-width-80" id="table">
                     <tr v-for="(role,i) in roles"  @click="selectTr===i+1?selectTr=0:selectTr=i+1" :class="selectTr===i+1?'focusing' : ''">
+                        <td><input class="checkItem" type="checkbox" :value="role.id"></td>
                         <td class="text-muted"><span>@{{role.id}}</span></td>
                         <td><span>@{{role.name}}</span></td>
                         <td>
@@ -65,7 +66,7 @@
             },
             mounted:function(){
                 let data = [[
-                    {name:'role',type:'input',tip:'角色名:可在两侧添加百分号(%)进行模糊搜索',placeholder:'角色名'}]];
+                    {name:'role',type:'input',tip:'可支持角色名,模糊搜索可在两侧添加百分号(%)进行',placeholder:'角色名'}]];
                 this.form = new query({
                     el: '#form_div',
                     condition: data,

+ 2 - 1
resources/views/maintenance/user/index.blade.php

@@ -16,6 +16,7 @@
                 <div id="list">
                     <table class="table table-striped table-sm td-min-width-80" id="table">
                         <tr v-for="(user,i) in users"  @click="selectTr===i+1?selectTr=0:selectTr=i+1" :class="selectTr===i+1?'focusing' : ''">
+                            <td><input class="checkItem" type="checkbox" :value="user.id"></td>
                             <td class="text-muted"><span>@{{user.id}}</span></td>
                             <td><span>@{{user.name}}</span></td>
                             <td>
@@ -74,7 +75,7 @@
             mounted:function(){
                 let data = [
                     [{name:'user',type:'input',tip:'用户名:可在两侧添加百分号(%)进行模糊搜索',placeholder:'用户名'},
-                    {name:'role',type:'input',tip:'角色名:可在两侧添加百分号(%)进行模糊搜索',placeholder:'角色名'},
+                    {name:'role',type:'input',tip:'可支持多角色名,模糊搜索可在两侧添加百分号(%)进行',placeholder:'角色名'},
                         {name:'owner_id',type:'select_multiple_select',tip:['输入关键词快速定位下拉列表,回车确定','选择要显示的客户'],
                             placeholder:['货主','定位或多选货主'],data:this.owners},
                     ]

+ 1 - 1
resources/views/maintenance/userLabor/index.blade.php

@@ -136,7 +136,7 @@
             mounted(){
                 let data=[
                    [
-                       {name: 'user_name', type: 'input', tip: '姓名:可在左侧增加百分号(%)进行模糊搜索', placeholder: '姓名'},
+                       {name: 'user_name', type: 'input', tip: '可支持多姓名查找,模糊搜索可在左侧增加百分号(%)进行', placeholder: '姓名'},
                    ]
                 ];
                 this.form = new query({