wugg 3 years ago
parent
commit
51a0fc27cf
1 changed files with 92 additions and 21 deletions
  1. 92 21
      app/admin/controller/Action.php

+ 92 - 21
app/admin/controller/Action.php

@@ -45,35 +45,47 @@ class Action extends BaseController
 
     public function ActionSave(){
         $post  =$this->request->post();
-        $actid = isset($post['id']) ? intval($post['id']) : "";
-        if($actid==""){
-            return error_show(1001,'功能id不能为空');
+        $actionid = isset($post['id']) ? intval($post['id']) : "";
+        if($actionid!=""){
+            $isf= Db::name("action_list")->where("id","=",$actionid)->find();
+            if($isf==false){
+                return error_show(1005,"未找到数据");
+            }
         }
-        $menuid = isset($post['menuid']) ? intval($post['menuid']) : "";
-        if($menuid==""){
-            return error_show(1001,'页面menuid不能为空');
+        $action = isset($post['action_name']) ? trim($post['action_name']) : "";
+        if($action==""){
+            return error_show(1003,'功能名称不能为空');
         }
+        $desc = isset($post['action_desc']) ? trim($post['action_desc']) : "";
+        $status = isset($post['status']) ? intval($post['status']) : 0;
+        $data=[
+            "action_name"=>$action,
+            "action_desc"=>$desc,
+            "action_code"=>"",
+        ];
 
-        $code = isset($post['action_code']) ? trim($post['action_code']) : "";
-        $status = isset($post['status']) ? intval($post['status']) : 1;
-        if($code==""){
-            return error_show(1002,'功能code不能为空');
-        }
-        $istrue =Db::name("action")->where(['menuid'=>$menuid,"action_code"=>$code])->find();
-        if($istrue && $istrue['id']!=$actid){
-            return error_show(1005,'此功能已存在');
+        $isTrue =  Db::name("action_list")->where(["action_name"=>$action])->find();
+        if($isTrue){
+            if($isTrue['id']!=$actionid || $actionid==""){
+                return error_show(1003,'功能名称不能重复');
+            }
         }
+
         try{
-            $data = ['action_code'=>$code,'status'=>$status,"updatetime"=>date("Y-m-d H:i:s")];
-            $result=Db::name("action")->where("id","=",$actid)->save($data);
-            if($result){
-                return app_show(0,"更新成功");
+            $message = "";
+            if($actionid==""){
+                $data['status']=$status;
+                $data['is_show']=1;
+                $message = "新建成功";
             }else{
-                return error_show(1004,"更新失败");
+                $data['status']=$status;
+                $data['id']=$actionid;
+                $message = "更新成功";
             }
-
+            Db::name("action_list")->save($data);
+            return app_show(0,$message);
         }catch (\Exception $e){
-            return error_show(1003,$e->getMessage());
+            return  error_show(1005,$e->getMessage());
         }
     }
 
@@ -130,4 +142,63 @@ class Action extends BaseController
         }
     }
 
+    /**
+     * @return \think\response\Json
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function index(){
+        $post  =$this->request->post();
+        $data = Db::name("admin_menu")->where(["pid"=>0,"status"=>1])->select();
+        $result = [];
+        if(empty($data)){
+            return app_show(0,"获取成功",$result);
+        }
+        foreach ($data as $key=>$val){
+            $val["child"]=[];
+            $result[$val['id']] =$val;
+        }
+
+        $child =Db::name("admin_menu")->where("pid","<>",0)->where('status',"=",1)->select();
+        foreach ($child as $k=>$value){
+            // $act = PasAction::all(['menuid'=>$value['id'],"status"=>1]);
+            $act =Db::name("action")->alias("a")->leftJoin("action_list l","a.action_code=l.action_code")->field
+            ("a.*,action_name")->where(['a.menuid'=>$value['id'],"a.status"=>1])->select();
+            $act_data = Db::name("action_field")->where(['menuid'=>$value['id'],"status"=>1])->select();
+            $value['action'] = $act;
+            $value['action_data'] = $act_data;
+            if(array_key_exists($value['pid'],$result)){
+                $result[$value['pid']]["child"][]=$value;
+            }
+        }
+
+        return app_show(0,"获取成功",array_values($result));
+    }
+
+    /**@param id menu 主键id
+     * @return \think\response\Json
+     * @throws \think\exception\DbException
+     */
+    public function ActionInfo(){
+        $post  =$this->request->post();
+        $token = isset($post['token']) ? trim($post['token']) : "";
+        if($token==""){
+            return error_show(101,'token不能为空');
+        }
+        $effetc = VerifyTokens($token);
+        if(!empty($effetc) && $effetc['code']!=0){
+            return error_show($effetc['code'],$effetc['message']);
+        }
+        $id = isset($post['id'])? intval($post['id']) :"";
+        if($id==""){
+            return error_show(1002,'功能id不能为空');
+        }
+        $menu =  Db::name("action_list")->where("id","=",$id)->find();
+        if(empty($menu)){
+            return error_show(1003,"未找到对应的数据");
+        }
+        return app_show(0,"获取成功!",$menu);
+    }
 }