作者 lyh

gx

@@ -138,25 +138,50 @@ class ProjectController extends BaseController @@ -138,25 +138,50 @@ class ProjectController extends BaseController
138 public function searchParam(&$query){ 138 public function searchParam(&$query){
139 //参数type 139 //参数type
140 $query = $this->searchType($query); 140 $query = $this->searchType($query);
  141 + //根据查看权限搜索
141 $query = $this->getManagerRole($query); 142 $query = $this->getManagerRole($query);
142 -// //搜索名称  
143 -// if(isset($this->map['title'])){  
144 -// $query = $query->orwhere('gl_project.title','like','%'.$this->map['title'].'%');  
145 -// }  
146 -// //搜索技术组  
147 -// if(!empty($this->map['dept_id'])){  
148 -// $query = $query->orwhere('gl_project_deploy_build.dept_id',$this->map['dept_id'])  
149 -// ->orwhere('gl_project_deploy_optimize.dept_id',$this->map['dept_id']);  
150 -// }  
151 -// //搜索技术人员  
152 -// $query = $this->searchManager($query);  
153 -// //按类型搜索  
154 -// if(!empty($param['search']) && !empty($param['search_type'])){  
155 -// //搜索域名  
156 -// $query = $query->orwhere('gl_project_deploy_optimize.domain','like','%'.$this->map['search'].'%')  
157 -// ->orwhere('gl_project.company','like','%'.$this->map['search'].'%')  
158 -// ->orwhere('gl_project.title','like','%'.$this->map['search'].'%');  
159 -// } 143 + //搜索技术组
  144 + $query = $this->searchDept($query);
  145 + //搜索技术人员
  146 + $query = $this->searchManager($query);
  147 + //按类型搜索
  148 + $query = $this->searchDomainTitle($query);
  149 + return $query;
  150 + }
  151 +
  152 + /**
  153 + * @remark :按需搜索
  154 + * @name :searchDomainTitle
  155 + * @author :lyh
  156 + * @method :post
  157 + * @time :2023/9/7 18:39
  158 + */
  159 + public function searchDomainTitle(&$query){
  160 + if(!empty($param['search']) && !empty($param['search_type'])){
  161 + //搜索域名
  162 + $query->where(function ($subQuery) {
  163 + $subQuery->orwhere('gl_project_deploy_optimize.domain','like','%'.$this->map['search'].'%')
  164 + ->orwhere('gl_project.company','like','%'.$this->map['search'].'%')
  165 + ->orwhere('gl_project.title','like','%'.$this->map['search'].'%');
  166 + });
  167 + }
  168 + return $query;
  169 + }
  170 +
  171 + /**
  172 + * @remark :搜索技术组
  173 + * @name :searchDept
  174 + * @author :lyh
  175 + * @method :post
  176 + * @time :2023/9/7 18:40
  177 + */
  178 + public function searchDept(&$query){
  179 + if(!empty($this->map['dept_id'])){
  180 + $query->where(function ($subQuery) {
  181 + $subQuery->orwhere('gl_project_deploy_build.dept_id',$this->map['dept_id'])
  182 + ->orwhere('gl_project_deploy_optimize.dept_id',$this->map['dept_id']);
  183 + });
  184 + }
160 return $query; 185 return $query;
161 } 186 }
162 187
@@ -199,20 +224,22 @@ class ProjectController extends BaseController @@ -199,20 +224,22 @@ class ProjectController extends BaseController
199 * @method :post 224 * @method :post
200 * @time :2023/9/7 17:16 225 * @time :2023/9/7 17:16
201 */ 226 */
202 - public function searchManager(&$query){  
203 - if(!empty($this->map['manage_id'])){  
204 - $query = $query  
205 - ->orwhere('gl_project_deploy_build.leader_mid',$this->map['manage_id'])  
206 - ->orwhere('gl_project_deploy_build.manager_mid',$this->map['manage_id'])  
207 - ->orwhere('gl_project_deploy_build.designer_mid',$this->map['manage_id'])  
208 - ->orwhere('gl_project_deploy_build.tech_mid',$this->map['manage_id'])  
209 - ->orwhere('gl_project_deploy_optimize.manager_mid',$this->map['manage_id'])  
210 - ->orwhere('gl_project_deploy_optimize.optimist_mid',$this->map['manage_id'])  
211 - ->orwhere('gl_project_deploy_optimize.assist_mid',$this->map['manage_id'])  
212 - ->orwhere('gl_project_deploy_optimize.tech_mid',$this->map['manage_id'])  
213 - ->orwhere('gl_project_deploy_optimize.tech_leader',$this->map['manage_id'])  
214 - ->orwhere('gl_project_deploy_optimize.quality_mid',$this->map['manage_id'])  
215 - ->orwhere('gl_project_deploy_optimize.design_mid',$this->map['manage_id']); 227 + public function searchManager(&$query)
  228 + {
  229 + if (!empty($this->map['manage_id'])) {
  230 + $query->where(function ($subQuery) {
  231 + $subQuery->orWhere('gl_project_deploy_build.leader_mid', $this->map['manage_id'])
  232 + ->orWhere('gl_project_deploy_build.manager_mid', $this->map['manage_id'])
  233 + ->orWhere('gl_project_deploy_build.designer_mid', $this->map['manage_id'])
  234 + ->orWhere('gl_project_deploy_build.tech_mid', $this->map['manage_id'])
  235 + ->orWhere('gl_project_deploy_optimize.manager_mid', $this->map['manage_id'])
  236 + ->orWhere('gl_project_deploy_optimize.optimist_mid', $this->map['manage_id'])
  237 + ->orWhere('gl_project_deploy_optimize.assist_mid', $this->map['manage_id'])
  238 + ->orWhere('gl_project_deploy_optimize.tech_mid', $this->map['manage_id'])
  239 + ->orWhere('gl_project_deploy_optimize.tech_leader', $this->map['manage_id'])
  240 + ->orWhere('gl_project_deploy_optimize.quality_mid', $this->map['manage_id'])
  241 + ->orWhere('gl_project_deploy_optimize.design_mid', $this->map['manage_id']);
  242 + });
216 } 243 }
217 return $query; 244 return $query;
218 } 245 }