wugg 2 years ago
parent
commit
71db8c9102

+ 41 - 18
app/admin/controller/Action.php

@@ -11,35 +11,25 @@ class Action extends BaseController{
     //获取素有菜单列表数据
  public function index(){
 
-        $data = Db::name("admin_menu")->where(["pid"=>0,"status"=>1])->select();
+        $data = Db::name("admin_menu")->where(["status"=>1])->column("id,menu_name,menu_img,menu_route,menu_url,pid,is_show,is_private,menu_type");
         $result = [];
         if(empty($data)){
             return app_show(0,"获取成功",$result);
         }
-        foreach ($data as $key=>$val){
-            $val["child"]=[];
-            $result[$val['id']] =$val;
+        $list=[];
+        foreach ($data as $k=>$value){
+            $action = Db::name("action")->alias("a")->leftJoin("action_list b","a.action_code=b.action_code")->where
+            (["menuid"=>$value['id'],"a.status"=>1])->column("a.id,a.action_code,b.action_name");
+            if($value['menu_type']==2) $value['action']=$action;
+            $list[]=$value;
         }
-
-        $child =Db::name("admin_menu")->where("pid","<>",0)->where('status',"=",1)->select();
-        foreach ($child as $k=>$value){
-            $act =Db::name("action")->alias("a")->leftJoin("cfp_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;
-            }
-        }
-
+        $result=MenuTree($list);
         return app_show(0,"获取成功",array_values($result));
     }
 
     public function ActionList(){
         $page = isset($post['page']) ? intval($post['page']) : 1;
         $size = isset($post['size']) ? intval($post['size']) : 10;
-
         $count = Db::name("action_list")->count();
         $total = ceil($count/$size)>1 ? ceil($count/$size) : 1;
         $page = $page>=$total?intval($total):$page;
@@ -47,4 +37,37 @@ class Action extends BaseController{
         $data =['list'=>$list,"count"=>$count];
         return app_show(0,'获取成功',$data);
     }
+
+
+    /** 菜单下功能信息状态修改
+     * @return \think\response\Json|void
+     * @throws \think\exception\DbException
+     */
+    public function ActionAdd(){
+        $post  =$this->post;
+        $action_name = isset($post['action_name']) ? trim($post['action_name']) : "";
+        if($action_name==""){
+            return error_show(1001,'功能名称不能为空');
+        }
+        $action_desc = isset($post['action_desc']) ? trim($post['action_desc']) : "";
+        $code = isset($post['action_code']) ? trim($post['action_code']) : "";
+        if($code==""){
+            return error_show(1001,'功能代码不能为空');
+        }
+        $status = isset($post['status']) ? intval($post['status']) : 1;
+        try{
+            $action=[
+                "action_name"=>$action_name,
+                "action_code"=>$code,
+                "action_desc"=>$action_desc,
+                "status"=>$status,
+                "is_show"=>1,
+                "addtime"=>date("Y-m-d H:i:s")
+            ];
+            $up =Db::name("action_list")->insert($action);
+            return $up ? app_show(0,"新建成功") :error_show(1004,"新建失败");
+        }catch (\Exception $e){
+            return error_show(1005,$e->getMessage());
+        }
+    }
 }

+ 22 - 33
app/admin/controller/Menu.php

@@ -20,34 +20,24 @@ class Menu extends BaseController{
         if($role==false){
             return app_show(0,"获取成功",[]);
         }
-
-        $data= Db::name("view_menu")->where('aid',"in",explode(",",$role['action_conllect']))->where(['status'=>1,"cstatus"=>1])
-            ->order("weight desc,id asc,cweight desc,cid asc")->select();
-
+        $action = Db::name("action")->where(['id'=>explode(",",$role['action_conllect']),"status"=>1])->column("id,menuid,action_code");
+        if (empty($action)){
+            return app_show(0,"获取成功",[]);
+        }
+        $MenuAction=[];
+        foreach ($action as $value){
+        $MenuAction[$value['menuid']][]=$value;
+        }
+        $menuid= array_column($action,"menuid");
+        $menuAll =Db::name("admin_menu")->where(["id"=>$menuid,"status"=>1])->column("id,menu_name,menu_img,menu_route,menu_url,pid,is_show,is_private,menu_type");
         $list=[];
-        $act=[];
-        foreach ($data as $value){
-            $list[$value["id"]]['menu_name']=$value['menu_name'];
-            $list[$value["id"]]['menu_img']=$value['menu_img'];
-            $list[$value["id"]]['menu_route']=$value['menu_route'];
-            $list[$value["id"]]['status']=$value['status'];
-            $temp = [];
-            $temp['menu_name']=$value['cname'];
-            $temp['menu_img']=$value['cmenu_img'];
-            $temp['menu_route']=$value['cmenu_route'];
-            $temp['menu_url']=$value['cmenu_url'];
-            $temp['menu_url']=$value['cmenu_url'];
-            $temp['status']=$value['cstatus'];
-            $temp['is_private']=$value['cprivate'];
-            $list[$value["id"]]['child'][$value['cid']]=$temp;
-            $act[$value['id']][$value['cid']][]=$value['acode'];
-            $list[$value["id"]]['child'][$value['cid']]['action']= $act[$value['id']][$value['cid']];
-
+        foreach ($menuAll as $value){
+           $value['action'][]=$MenuAction[$value['id']];
+            makeMenu($value,$list);
         }
-        array_walk($list,function (&$value){
-            $value['child']= array_values($value['child']);
-        });
-        return app_show(0,"获取成功",array_values($list));
+        $list=MenuTree($list,0);
+
+        return app_show(0,"获取成功",$list);
     }
     /**菜单设置列表
     * @return \think\response\Json|void
@@ -57,13 +47,8 @@ class Menu extends BaseController{
     * @throws \think\exception\DbException
     */
      public function   MenuAllList(){
-       $data = Db::name("admin_menu")->where(['pid'=>0])->order("weight desc,id asc")->select();
-        $l=[];
-        foreach ($data as $key=>$value){
-            $temp =  Db::name("admin_menu")->where(['pid'=>$value['id']])->order("weight desc,id asc")->select();
-            $value['child']=$temp;
-            $l[]=$value;
-        }
+       $data = Db::name("admin_menu")->field("id,menu_name,menu_img,menu_route,menu_url,pid,is_show,is_private,menu_type")->order("weight desc,id asc")->select();
+        $l= MenuTree($data,0);
         return app_show(0,"获取成功",$l);
     }
 
@@ -88,6 +73,7 @@ class Menu extends BaseController{
         $pid = isset($post['pid']) ?intval($post['pid']) :0;
         $private = isset($post['private']) ?intval($post['private']) :0;
         $weight = isset($post['weight']) ?floatval($post['weight']) :1;
+        $menu_type = isset($post['menu_type']) ?intval($post['menu_type']) :1;
         if($pid!=0 && $route==""){
             return error_show(1002,"子级菜单路由不能为空");
         }
@@ -101,6 +87,7 @@ class Menu extends BaseController{
             "weight"=>$weight,
             "is_show"=>1,
             "is_private"=>$private,
+            "menu_type"=>$menu_type,
             "status"=>1,
             "addtime"=>date("Y-m-d H:i:s"),
             "updatetime"=>date("Y-m-d H:i:s"),
@@ -135,6 +122,7 @@ class Menu extends BaseController{
         $pid = isset($post['pid']) ?intval($post['pid']) :0;
         $weight = isset($post['weight']) ?floatval($post['weight']) :1;
         $status = isset($post['is_show']) ? intval($post['is_show']) : 0;
+        $menu_type = isset($post['menu_type']) ?intval($post['menu_type']) :1;
         $private = isset($post['private']) ?intval($post['private']) :(isset($menu['is_private']) ?
             $menu['is_private'] : 0);
         if($pid!=0 && $route==""){
@@ -149,6 +137,7 @@ class Menu extends BaseController{
             "pid"=>$pid,
             'is_show'=>$status,
             "is_private"=>$private,
+            "menu_type"=>$menu_type,
             'status'=>1,
             "weight"=>$weight,
             "updatetime"=>date("Y-m-d H:i:s"),

+ 2 - 1
app/admin/controller/Payment.php

@@ -1088,7 +1088,8 @@ class Payment extends BaseController
         if($codeNo===""){
             return error_show(1004,'参数id 不能为空');
         }
-        $update = Db::name('cgd_info')->where("id","in",$codeNo)->update(['status'=>2]);
+        $update = Db::name('cgd_info')->where("id","in",$codeNo)->update(['status'=>2,"updatetime"=>date("Y-m-d 
+        H:i:s")]);
        // echo Db::name('cgd_info')->getLastSql();
         if($update){
             return app_show(0,'更新成功');

+ 42 - 0
app/admin/controller/sale.php

@@ -0,0 +1,42 @@
+<?php
+
+
+namespace app\admin\controller;
+use app\admin\BaseController;
+use think\App;
+use think\facade\Db;
+class sale extends BaseController{
+    public function __construct(App $app) {parent::__construct($app);}
+    public function list(){
+
+        $post =$this->request->param();
+        $condition = [['is_del',"=",0]];
+        $page = isset($post['page'])&&$post['page']!==''?intval($post['page']):1;
+        $size = isset($post['size'])&&$post['size']!==''?intval($post['size']):15;
+        $start =isset($post['start'])&&$post['start']!==''?trim($post['start']):'';
+        if($start!=''){
+           $condition[]=["addtime",">=",$start." 00:00:00"];
+        }
+        $end =isset($post['end'])&&$post['end']!==''?trim($post['end']):'';
+        if($end!=''){
+           $condition[]=["addtime","<=",$end." 23:59:59"];
+        }
+        $total_min = isset($post['total_min'])&&$post['total_min']!==''?floor($post['total_min']):'';
+        if($total_min!==''){
+           $condition[]=["total_fee",">=",$total_min];
+        }
+         $total_max = isset($post['total_max'])&&$post['total_max']!==''?floor($post['total_max']):'';
+        if($total_max!==''){
+           $condition[]=["total_fee","<=",$total_max];
+        }
+        $inv_status =  isset($post['inv_status'])&&$post['inv_status']!==''?intval($post['inv_status']):'';
+        if($inv_status!==''){
+            $condition[]=["inv_status","=",$inv_status];
+        }
+        $pay_status =  isset($post['pay_status'])&&$post['pay_status']!==''?intval($post['pay_status']):'';
+        if($pay_status!==''){
+            $condition[]=["pay_status","=",$pay_status];
+        }
+        $count =Db::name("qrd_info")->where($condition)->count();
+    }
+}

+ 3 - 0
app/admin/route/app.php

@@ -5,6 +5,8 @@ Route::rule('menu', 'admin/Menu/MenuList');
 Route::rule('menuadd', 'admin/Menu/MenuAdd');
 Route::rule('menusave', 'admin/Menu/MenuEdit');
 Route::rule("menuactionlist","admin/Action/index");
+Route::rule("actionadd","admin/Action/ActionAdd");
+
 Route::rule('menustatus', 'admin/Menu/MenuStatus');
 Route::rule('menuaction', 'admin/Menu/ActionList');
 Route::rule('menuactionsave', 'admin/Menu/ActionSave');
@@ -12,6 +14,7 @@ Route::rule('menuactionstatus', 'admin/Menu/ActionStatus');
 Route::rule('menuactionadd', 'admin/Menu/ActionAdd');
 Route::rule("menulist","admin/Menu/MenuAllList");
 
+
 Route::rule('userlist', 'admin/User/userList');
 Route::rule('userall', 'admin/User/userAll');
 Route::rule('userinfo', 'admin/User/userInfo');

+ 38 - 2
app/common.php

@@ -212,7 +212,14 @@ function curl_request($url,$post=''){
     return $data;
 
 }
-
+/**
+* @param $roleid
+* @param $menu
+ * @return bool
+* @throws \think\db\exception\DataNotFoundException
+* @throws \think\db\exception\DbException
+* @throws \think\db\exception\ModelNotFoundException
+ */
 function checkRole($roleid,$menu){
     $roleinfo = \think\facade\Db::name("role_action")->where([['role_id',"=",$roleid],["status","=",1]])->find();
     if($roleinfo['private_data']!=""){
@@ -223,4 +230,33 @@ function checkRole($roleid,$menu){
         }
     }
     return false;
-}
+}
+/**
+* @param $row
+* @param $list
+ */
+function makeMenu($row,&$list){
+    $list[$row['id']]=$row;
+    if($row['pid']==0){
+        return $list;
+    }
+    $parent =Db::name("admin_menu")->where(["id"=>$row['pid'],"status"=>1])->field("id,menu_name,menu_img,menu_url,menu_route,pid,is_show,is_private,menu_type")->find();
+    if($parent==false) return $list;
+    if($parent['menu_type']==2)$value['action']=[];
+    if($parent['menu_type']==1)$value['child']=[];
+    makeMenu($parent,$list);
+}
+
+/**
+* @param $menuArr
+ */
+function MenuTree(&$menuArr,$pid=0){
+    $meun=[];
+    foreach ($menuArr as $value){
+        if($value['pid']==$pid){
+            if($value['menu_type']==1)$value['child']=MenuTree($menuArr,$value['id']);
+            $meun[]=$value ;
+        }
+    }
+    return $meun;
+};