panlumeng il y a 3 ans
Parent
commit
8125183059
2 fichiers modifiés avec 19 ajouts et 1 suppressions
  1. 11 1
      app/admin/controller/Check.php
  2. 8 0
      app/common.php

+ 11 - 1
app/admin/controller/Check.php

@@ -88,6 +88,15 @@ public function flist(){
       //  $condtion['c.warn_stock'] = Db::raw("<= {$warn_up}");
         $condtion[]=['c.warn_stock',"<=",$warn_up];
     }
+    $cat_id =isset($this->post['cat_id']) &&$this->post['cat_id'] !=="" ? intval($this->post['cat_id']) :"";
+    if($cat_id!=""){
+        $at = Db::name('cat')->where(['id'=>$cat_id])->find();
+        if(empty($at)){
+            return error_show(1004,"未找到分类信息");
+        }
+        $cat=manger([$at['id']],$at['level']);
+        $condtion[]=['a.cat_id',"in",$cat];
+    }
     $count = Db::name("good_type")->alias("b")
         ->join("good a","a.good_code = b.good_code","left")
         ->join("good_stock c","c.good_type_code=b.type_code","left")
@@ -96,7 +105,7 @@ public function flist(){
     $list = Db::name("good_type")->alias("b")->join("good a","a.good_code = b.good_code","left")
         ->join("good_stock c","c.good_type_code=b.type_code","left")
         ->where($condtion)->field("c.id,a.good_code,a.good_name,a.good_desc,a.brand,a.original_price,a.cg_saler,a.good_type,a.market_fee,a.gys_code,a.unit,
-                a.sort_f,a.sort_s,a.sort_t,b.color,b.material,b.specs,b.is_main,b.type_code,b.attribute,b.status as bstatus,a.addtime,c.wsm_code,c.usable_stock,c.warn_stock,a.updatetime")
+                a.sort_f,a.sort_s,a.sort_t,b.color,b.material,b.specs,b.is_main,b.type_code,b.attribute,b.status as bstatus,a.addtime,c.wsm_code,c.usable_stock,c.warn_stock,a.updatetime,a.cat_id")
         ->page($page,$size)->select();
     $data=[];
     foreach ($list as $key=>$value){
@@ -106,6 +115,7 @@ public function flist(){
         $value['wsm_name'] =isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:"";
         $value['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:"";
         $value['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:"";
+        $value['can']= isset($value['cat_id']) && $value['cat_id'] !=0 ? made($value['cat_id']):[];
         $data[]=$value;
     }
     return app_show(0,"获取成功",["list"=>$data,"count"=>$count]);

+ 8 - 0
app/common.php

@@ -319,6 +319,14 @@ function made($var,$data=[]){
         return made($str['pid'],$data);
     }
 }
+function manger($list=[],$level=1){
+    $var = Db::name('cat')->where(['pid'=>$list,'level'=>$level+1])->column("id");
+    if(empty($var)){
+        return $list;
+    }
+    $a=array_merge($list,$var);
+    return manger($a,$level+1);
+}
 /**
  * @param $files
  * @param string $extend