diff --git a/app/adminapi/lists/build/BuildPlanLists.php b/app/adminapi/lists/build/BuildPlanLists.php
index a599cab39..ceeab55fd 100644
--- a/app/adminapi/lists/build/BuildPlanLists.php
+++ b/app/adminapi/lists/build/BuildPlanLists.php
@@ -44,7 +44,8 @@ class BuildPlanLists extends BaseAdminDataLists implements ListsSearchInterface
     public function setSearch(): array
     {
         return [
-            '=' => ['zy_code', 'plan_start_date', 'plan_end_date', 'work_user'],
+            '=' => ['project_id', 'plan_start_date', 'plan_end_date'],
+	        '%like%' => ['zy_code','work_user']
         ];
     }
 
diff --git a/app/adminapi/lists/build/BuildReportDetailLists.php b/app/adminapi/lists/build/BuildReportDetailLists.php
index b28d9105a..a7c1b8962 100644
--- a/app/adminapi/lists/build/BuildReportDetailLists.php
+++ b/app/adminapi/lists/build/BuildReportDetailLists.php
@@ -58,7 +58,14 @@ class BuildReportDetailLists extends BaseAdminDataLists implements ListsSearchIn
      */
     public function lists(): array
     {
-        return BuildReportDetail::where($this->searchWhere)
+	    $params = $this->request->get(['project_id']);
+	    $where = [];
+	    if(isset($params['project_id']) && $params['project_id'] != 0){
+		    $plan_ids = BuildPlan::where('project_id',$params['project_id'])->column('id');
+			$report_ids = BuildReport::where('plan_id','in',$plan_ids)->column('id');
+		    $where[] = ['report_id','in',$report_ids];
+	    }
+        return BuildReportDetail::where($this->searchWhere)->where($where)
             ->field(['id', 'report_id', 'person_id', 'work_num', 'remark'])
             ->limit($this->limitOffset, $this->limitLength)
             ->order(['id' => 'desc'])
@@ -92,7 +99,14 @@ class BuildReportDetailLists extends BaseAdminDataLists implements ListsSearchIn
      */
     public function count(): int
     {
-        return BuildReportDetail::where($this->searchWhere)->count();
+	    $params = $this->request->get(['project_id']);
+	    $where = [];
+	    if(isset($params['project_id']) && $params['project_id'] != 0){
+		    $plan_ids = BuildPlan::where('project_id',$params['project_id'])->column('id');
+		    $report_ids = BuildReport::where('plan_id','in',$plan_ids)->column('id');
+		    $where[] = ['report_id','in',$report_ids];
+	    }
+        return BuildReportDetail::where($this->searchWhere)->where($where)->count();
     }
 
 }
\ No newline at end of file
diff --git a/app/adminapi/lists/build/BuildReportLists.php b/app/adminapi/lists/build/BuildReportLists.php
index a027e559f..c0088485a 100644
--- a/app/adminapi/lists/build/BuildReportLists.php
+++ b/app/adminapi/lists/build/BuildReportLists.php
@@ -44,9 +44,7 @@ class BuildReportLists extends BaseAdminDataLists implements ListsSearchInterfac
      */
     public function setSearch(): array
     {
-        return [
-            
-        ];
+        return [];
     }
 
 
@@ -61,7 +59,13 @@ class BuildReportLists extends BaseAdminDataLists implements ListsSearchInterfac
      */
     public function lists(): array
     {
-        return BuildReport::where($this->searchWhere)
+		$params = $this->request->get(['project_id']);
+		$where = [];
+		if(isset($params['project_id']) && $params['project_id'] != 0){
+			$plan_ids = BuildPlan::where('project_id',$params['project_id'])->column('id');
+			$where[] = ['plan_id','in',$plan_ids];
+		}
+        return BuildReport::where($this->searchWhere)->where($where)
             ->field(['id', 'report_code', 'plan_id', 'scene_file', 'report_workload', 'report_amount', 'remark', 'add_user'])
             ->limit($this->limitOffset, $this->limitLength)
             ->order(['id' => 'desc'])
@@ -103,7 +107,13 @@ class BuildReportLists extends BaseAdminDataLists implements ListsSearchInterfac
      */
     public function count(): int
     {
-        return BuildReport::where($this->searchWhere)->count();
+	    $params = $this->request->get(['project_id']);
+	    $where = [];
+	    if(isset($params['project_id']) && $params['project_id'] != 0){
+		    $plan_ids = BuildPlan::where('project_id',$params['project_id'])->column('id');
+		    $where[] = ['plan_id','in',$plan_ids];
+	    }
+        return BuildReport::where($this->searchWhere)->where($where)->count();
     }
 
 }
\ No newline at end of file
diff --git a/app/adminapi/lists/project/ProjectDocumentLists.php b/app/adminapi/lists/project/ProjectDocumentLists.php
index face12619..657c1da99 100644
--- a/app/adminapi/lists/project/ProjectDocumentLists.php
+++ b/app/adminapi/lists/project/ProjectDocumentLists.php
@@ -40,6 +40,7 @@ class ProjectDocumentLists extends BaseAdminDataLists implements ListsSearchInte
     public function setSearch(): array
     {
         return [
+			'=' => ['project_id'],
             '%like%' => ['code', 'name'],
         ];
     }
diff --git a/app/adminapi/lists/project/ProjectSettlementLists.php b/app/adminapi/lists/project/ProjectSettlementLists.php
index f9d8d0083..6f985cbea 100644
--- a/app/adminapi/lists/project/ProjectSettlementLists.php
+++ b/app/adminapi/lists/project/ProjectSettlementLists.php
@@ -41,6 +41,7 @@ class ProjectSettlementLists extends BaseAdminDataLists implements ListsSearchIn
     public function setSearch(): array
     {
         return [
+			'=' => ['project_id'],
             '%like%' => ['settlement_code'],
         ];
     }
diff --git a/app/adminapi/lists/project/ProjectSubcontractSettlementLists.php b/app/adminapi/lists/project/ProjectSubcontractSettlementLists.php
index 95cece445..930c0e41b 100644
--- a/app/adminapi/lists/project/ProjectSubcontractSettlementLists.php
+++ b/app/adminapi/lists/project/ProjectSubcontractSettlementLists.php
@@ -43,7 +43,8 @@ class ProjectSubcontractSettlementLists extends BaseAdminDataLists implements Li
     public function setSearch(): array
     {
         return [
-            '=' => ['settlement_code'],
+            '=' => ['project_id'],
+	        '%like%' => ['settlement_code'],
         ];
     }