yingzi 1 rok pred
rodič
commit
79faade2bb

+ 3 - 14
app/api/controller/Pub.php

@@ -177,20 +177,9 @@ class Pub extends BaseController
         ], $request);
         $post["pageSize"] = $post["pageSize"]>50 ? 50 : (int)$post["pageSize"];
         $post["page"]     = $post["page"]<=0 ? 1 : (int)$post["page"];
-        $where=[];
-        $where[]=["status","=",1];
-        $totalCount = (new ServiceType)->where($where)->count();
-        $data=null;
-        if($totalCount>0){
-            $data = (new ServiceType)
-                ->field("id,title,content,img")
-                ->where($where)
-                ->order("seq", "desc")
-                ->page($post["page"], $post["pageSize"])
-                ->select();
-        }
-        $data = empty($data)?[]:$data;
-        return app('json')->success(["list" => $data, "pageSize" => $post["pageSize"],"page"=>$post["page"],"totalCount"=>$totalCount]);
+        $post["status"]   = 1;
+        $data = (new ServiceType)->getList($post,"id,title,content,img");
+        return app('json')->success($data);
     }
     /**
      * 获取标签列表

+ 48 - 1
app/model/api/ServiceType.php

@@ -10,5 +10,52 @@ use think\Model;
  */
 class ServiceType extends Model
 {
-    //
+    /**
+     * 获取标签列表
+     * @param type $post
+     * @param type $field
+     * @return type
+     */
+    public function getList($post,$field="*"){
+        $post["pageSize"] = $post["pageSize"]>50 ? 50 : (int)$post["pageSize"];
+        $post["page"]     = $post["page"]<=0     ? 1  : (int)$post["page"];
+        $where=[];
+        if(isset($post["status"]) && in_array((string)$post["status"], ["0","1"])){
+            $where[]=["status","=",(int)$post["status"]];
+        }
+        if(!empty($post["title"])){
+            $where[]=["title","like","%{$post["title"]}%"];
+        }
+        $totalCount = $this->where($where)->count();
+        $data=null;
+        if($totalCount>0){
+            $data = $this
+                ->field($field)
+                ->where($where)
+                ->order("seq", "desc")
+                ->page($post["page"], $post["pageSize"])
+                ->select();
+            if(!empty($data)){
+                $data = $data->toArray();
+            }
+        }
+        $data = empty($data)?[]:$data;
+        return ["list" => $data, "pageSize" => $post["pageSize"],"page"=>$post["page"],"totalCount"=>$totalCount];
+    }
+    
+    
+    public function getColumnList($field="id",$value="id",$in=[]){
+        if(empty($in)){
+            return [];
+        }
+        if(is_string($in)){
+            $in = explode(",", $in);
+        }
+        $labelData = $this
+                ->where("status",1)
+                ->where($field,"in",$in)
+                ->column($value);
+        $labelData = empty($labelData)?[]:$labelData;
+        return $labelData;
+    }
 }

+ 9 - 26
app/system/controller/ShowTemplate.php

@@ -135,35 +135,18 @@ class ShowTemplate extends  BaseController{
      * @return type
      */
     public function serviceType(Request $request) {
-        $pageSize = 50;
         $post =  UtilService::getMore([
-                ['page',1],
-                ['title',''],
+            ['page',1],
+            ['pageSize', 50],
+            ['title',''],
+            ['status',''],
         ],$request);
-        $data = (new ServiceTypeModel)
-                ->when(1 == 1, function ($query) use ($request, $post) {
-                    if (!empty($post["title"])){
-                        $query->where("title","like","%{$post["title"]}%");
-                    }
-                })
-                ->page((int)$post["page"], (int)$pageSize)
-                ->order("seq","desc")
-                ->order("id","desc")
-                ->select()
-                ->toArray();
-        $pageCount = (new ServiceTypeModel)
-                ->when(1 == 1, function ($query) use ($request, $post) {
-                    if (!empty($post["title"])){
-                        $query->where("title",$post["title"]);
-                    }
-                })
-                        ->count();
-        $data = empty($data)?[]:$data;
+        $data = (new ServiceTypeModel)->getList($post);
         return app('json')->success([
-            'list'      => $data,
-            'pageCount' => $pageCount,
-            'pageSize'  => $pageSize,
-            'page'      => $post["page"]
+            'list'      => $data["list"],
+            'pageCount' => $data["totalCount"],
+            'pageSize'  => $data["pageSize"],
+            'page'      => $data["page"],
         ]);
     }