wugg před 2 roky
rodič
revize
d8ed250f3f

+ 6 - 5
app/admin/BaseController.php

@@ -31,6 +31,7 @@ class BaseController extends base{
 		 */
      public function validateToken(){
             $token = isset($this->post['token']) ? trim($this->post['token']) : "";
+            $companyNo = isset($this->post['relaComNo']) ? trim($this->post['relaComNo']) : "";
             if($token==""){
             	return ["code"=>101,"message"=>"参数token不能为空"];
             }
@@ -39,12 +40,12 @@ class BaseController extends base{
             	 return ["code"=>$effetc['code'],"message"=>$effetc['message']];
 //                return error_show($effetc['code'], $effetc['message']);
             }
-            $this->uid=isset($effetc['data']['user']['id']) ?$effetc['data']['user']['id']:"";
-            $this->uname=isset($effetc['data']['user']['nickname']) ?$effetc['data']['user']['nickname']:"";
-            $role = Db::name("user_role")->where(["uid"=>$this->uid,"is_del"=>0])->find();
-            if($role['status']==0){
+            $this->uid=$effetc['data']['id']??"";
+            $this->uname=$effetc['data']['user']['nickname']??"";
+            $role = Db::name("user_role")->where(["uid"=>$this->uid,"companyNo"=>$companyNo,"status"=>1,"is_del"=>0])
+            ->findOrEmpty();
+            if(empty($role)){
             	 return ["code"=>101,"message"=>"账户已禁用"];
-              //return error_show(101,'账户已禁用');
             }
             $this->roleid=$role['roleid'];
              return ["code"=>0,"message"=>"验证通过"];

+ 43 - 0
app/admin/controller/Login.php

@@ -0,0 +1,43 @@
+<?php
+
+
+namespace app\admin\controller;
+
+
+use think\App;
+use think\facade\Validate;
+use think\facade\Db;
+class Login extends \app\BaseController{
+		public function __construct(App $app) {parent::__construct($app);}
+
+		public function login(){
+			 $post=$this->request->only(["username"=>"","password"=>""],"post","trim");
+			 $valid=Validate::rule([
+			    "username|账户"=>"require|max:255",
+			    "password|密码"=>"require|max:255"
+			    ]);
+			 if($valid->check($post)==false)return error_show(1004,$valid->getError());
+			 $useinfo =checkLogin($post);
+			 if(!isset($useinfo['code'])|| $useinfo['code']!=0){
+			    return error_show(1004,$useinfo['message']);
+			 }
+			 $role =Db::name("user_role")->where(["uid"=>$useinfo['data']['id'],"is_main"=>1,"status"=>1,
+			 "is_del"=>0])->findOrEmpty();
+			 if(!empty($role)){
+			 	$company_name = Db::name("supplier_info")->where(["code"=>$role['companyNo']])->value("name","");
+			 	$roleinfo = Db::name("role")->where(["id"=>$role['roleid']])->field("role_name,level")->find();
+			 }else{
+			 	 return error_show(1004,'未开通登录权限');
+			 }
+			 $user =$useinfo["data"]??[];
+			 $user['role_name']=$roleinfo['role_name']??'';
+			 $user['company_name']=$company_name??'';
+			 $user['role_level']=$roleinfo['level']??'';
+			 $user['role_id']=$role['roleid']??'';
+			 $user['companyNo']=$role['companyNo']??'';
+			 $user['company_type']=$role['company_type']??'';
+			 return app_show(0,"登录成功",$user);
+		}
+
+
+}

+ 92 - 61
app/admin/controller/Menu.php

@@ -4,6 +4,7 @@ namespace app\admin\controller;
 use app\admin\BaseController;
 use think\App;
 use think\facade\Db;
+use think\facade\Validate;
 
 class Menu extends BaseController{
     public function __construct(App $app) {
@@ -23,8 +24,7 @@ class Menu extends BaseController{
             return app_show(0,"获取成功",[]);
         }
         $action = Db::name("action")->where(['id'=>explode(",",$role['action_conllect']),"status"=>1,"is_del"=>0])
-        ->column
-        ("id,menuid,action_code");
+        ->column("id,menuid,action_code");
         if (empty($action)){
             return app_show(0,"获取成功",[]);
         }
@@ -34,7 +34,8 @@ class Menu extends BaseController{
         }
 
         $menuid= array_column($action,"menuid");
-        $menuAll =Db::name("admin_menu")->where(["id"=>$menuid,"status"=>1,"is_del"=>0])->column("id,menu_name,menu_img,menu_route,menu_url,pid,is_show,is_private,menu_type,status,weight");
+        $menuAll =Db::name("admin_menu")->where(["id"=>$menuid,"status"=>1,"is_del"=>0])->where("level",">=",$role['level'])
+        ->column("id,menu_name,menu_img,menu_route,menu_url,pid,is_show,is_private,menu_type,status,weight");
         $list=[];
         foreach ($menuAll as $value){
            $value['action']=$MenuAction[$value['id']];
@@ -53,7 +54,11 @@ class Menu extends BaseController{
     * @throws \think\exception\DbException
     */
      public function   MenuAllList(){
-       $data = Db::name("admin_menu")->where(["is_del"=>0])->field("id,menu_name,menu_img,menu_route,menu_url,pid,is_show,is_private,menu_type,status,weight")->order("weight desc,id asc")->select();
+		$role = Db::name("role_action")->where("role_id","=",$this->roleid)->find();
+        if($role==false){
+            return app_show(0,"获取成功",[]);
+        }
+       $data = Db::name("admin_menu")->where([["is_del","=",0],["level",">=",$role['level']]])->field("id,menu_name,menu_img,menu_route,menu_url,pid,is_show,is_private,menu_type,status,weight")->order("weight desc,id asc")->select();
         $l= MenuTree($data,0);
         return app_show(0,"获取成功",$l);
     }
@@ -67,33 +72,46 @@ class Menu extends BaseController{
      * @throws \think\exception\DbException
      */
     public function MenuAdd(){
-        $post  =$this->post;
-        $name = isset($post['menu_name']) ?trim($post['menu_name']) :"";
-        if($name==""){
-            return error_show(1002,"菜单名称不能为空");
-        }
-        $url = isset($post['menu_url']) ?trim($post['menu_url']) :"";
-        $route = isset($post['menu_route']) ?trim($post['menu_route']) :"";
-        $code = isset($post['menu_code']) ?trim($post['menu_code']) :"";
-        $img = isset($post['menu_img']) ?trim($post['menu_img']) :"";
-        $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==""){
+        $post  =$this->request->only([
+        	"menu_name"=>"",
+        	"menu_url"=>"",
+        	"menu_route"=>"",
+        	"menu_code"=>"",
+        	"menu_img"=>"",
+        	"pid"=>"0",
+        	"private"=>"0",
+        	"weight"=>"1",
+        	"menu_type"=>"1",
+        	"level"=>"",
+        	],"post","trim");
+        $valite =Validate::rule([
+        	"menu_name|菜单名称"=>"require|max:255",
+        	"menu_url|菜单链接"=>"max:255",
+        	"menu_route|菜单路由"=>"max:255",
+        	"menu_code|菜单编号"=>"max:255",
+        	"menu_img|菜单图标"=>"require|max:255",
+        	"pid|父级ID"=>"require|number",
+        	"private|是否私有"=>"require|number|in:0,1",
+        	"weight|权重"=>"require|number",
+        	"menu_type|菜单类型"=>"require|number|in:1,2",
+        	"level|菜单级别"=>"require|max:255",
+        ]);
+        if($valite->check($post)==false)return error_show(1004,$valite->getError());
+        if($post['pid']!=0 && $post['menu_route']==""){
             return error_show(1002,"子级菜单路由不能为空");
         }
         $data=[
-            "menu_name"=>$name,
-            "menu_url"=>$url,
-            "menu_route"=>$route,
-            "menu_code"=>$code,
-            "menu_img"=>$img,
-            "pid"=>$pid,
-            "weight"=>$weight,
+            "menu_name"=>$post['menu_name'],
+            "menu_url"=>$post['menu_url'],
+            "menu_route"=>$post['menu_route'],
+            "menu_code"=>$post['menu_code'],
+            "menu_img"=>$post['menu_img'],
+            "pid"=>$post['pid'],
+            "weight"=>$post['weight'],
             "is_show"=>1,
-            "is_private"=>$private,
-            "menu_type"=>$menu_type,
+            "is_private"=>$post['private'],
+            "menu_type"=>$post['menu_type'],
+            "level"=>$post['level'],
             "status"=>1,
             "addtime"=>date("Y-m-d H:i:s"),
             "updatetime"=>date("Y-m-d H:i:s"),
@@ -109,49 +127,62 @@ class Menu extends BaseController{
 	    * @throws \think\db\exception\ModelNotFoundException
      */
      public function MenuEdit(){
-        $post  =$this->post;
-        $id = isset($post['id']) ?intval($post['id']) :"";
-        if($id!=""){
-            $menu = Db::name("admin_menu")->where([["id","=",$id],["is_del","=",0]])->find();
-            if($menu==false){
+           $post  =$this->request->only([
+           	"id"=>"",
+        	"menu_name"=>"",
+        	"menu_url"=>"",
+        	"menu_route"=>"",
+        	"menu_code"=>"",
+        	"menu_img"=>"",
+        	"pid"=>"0",
+        	"private"=>"0",
+        	"weight"=>"1",
+        	"menu_type"=>"1",
+        	"level"=>"",
+        	],"post","trim");
+        $valite =Validate::rule([
+        	"menu_name|菜单名称"=>"require|max:255",
+        	"menu_url|菜单链接"=>"max:255",
+        	"menu_route|菜单路由"=>"max:255",
+        	"menu_code|菜单编号"=>"max:255",
+        	"menu_img|菜单图标"=>"require|max:255",
+        	"pid|父级ID"=>"require|number",
+        	"private|是否私有"=>"require|number|in:0,1",
+        	"weight|权重"=>"require|number",
+        	"menu_type|菜单类型"=>"require|number|in:1,2",
+        	"level|菜单级别"=>"require|max:255",
+        	"id|菜单ID"=>"require|number|gt:0",
+        ]);
+        if($valite->check($post)==false)return error_show(1004,$valite->getError());
+        if($post['pid']!=0 && $post['menu_route']==""){
+            return error_show(1002,"子级菜单路由不能为空");
+        }
+        $menu = Db::name("admin_menu")->where([["id","=",$post['id']],["is_del","=",0]])->find();
+        if($menu==false){
                 return error_show(1003,"菜单不信息不存在");
             }
-        }
-        $name = isset($post['menu_name']) ?trim($post['menu_name']) :"";
-        if($name==""){
-            return error_show(1002,"菜单名称不能为空");
-        }
-        $url = isset($post['menu_url']) ?trim($post['menu_url']) :"";
-        $route = isset($post['menu_route']) ?trim($post['menu_route']) :"";
-        $code = isset($post['menu_code']) ?trim($post['menu_code']) :"";
-        $img = isset($post['img']) ?trim($post['img']) :"";
-        $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==""){
+        if($post['id']!=0 && $post['menu_route']==""){
             return error_show(1002,"子级菜单路由不能为空");
         }
         $data=[
-            "menu_name"=>$name,
-            "menu_url"=>$url,
-            "menu_route"=>$route,
-            "menu_code"=>$code,
-            "menu_img"=>$img,
-            "pid"=>$pid,
-            'is_show'=>$status,
-            "is_private"=>$private,
-            "menu_type"=>$menu_type,
-            'status'=>1,
-            "weight"=>$weight,
+        	"id"=>$post['id']??null,
+            "menu_name"=>$post['menu_name'],
+            "menu_url"=>$post['menu_url'],
+            "menu_route"=>$post['menu_route'],
+            "menu_code"=>$post['menu_code'],
+            "menu_img"=>$post['menu_img'],
+            "pid"=>$post['pid'],
+            "weight"=>$post['weight'],
+            "is_show"=>1,
+            "is_private"=>$post['private'],
+            "menu_type"=>$post['menu_type'],
+            "level"=>$post['level'],
+            "status"=>1,
             "updatetime"=>date("Y-m-d H:i:s"),
         ];
         $message="新建";
-        if($id!=""){
+        if($post['id']!=""){
             $message="编辑";
-            $data['id']=$id;
         }
         $result = Db::name("admin_menu")->save($data);
         return $result ? app_show(0,"{$message}成功"): error_show(1003,"{$message}失败");

+ 17 - 5
app/admin/controller/Payment.php

@@ -48,6 +48,7 @@ class Payment extends BaseController
         $startTime= isset($post['startTime'])&&$post['startTime']!="" ? trim($post['startTime']) :"";
         $endTime= isset($post['endTime'])&&$post['endTime']!="" ? trim($post['endTime']) :"";
         $supplierNo= isset($post['supplierNo'])&&$post['supplierNo']!="" ? trim($post['supplierNo']) :"";
+        $companyNo= isset($post['companyNo'])&&$post['companyNo']!="" ? trim($post['companyNo']) :"";
         $payNo= isset($post['payNo'])&&$post['payNo']!="" ? trim($post['payNo']) :"";
         $apply= isset($post['apply_name'])&&$post['apply_name']!="" ? trim($post['apply_name']) :"";
         $paystatus= isset($post['status'])&&$post['status']!="" ? $post['status'] :"";
@@ -60,7 +61,10 @@ class Payment extends BaseController
         }
 
         if($supplierNo!=""){
-            $condition.=" and `a`.`supplierNo` like '%{$supplierNo}%'";
+            $condition.=" and `a`.`supplierNo` = '$supplierNo'";
+        }
+        if($companyNo!=""){
+            $condition.=" and `a`.`companyNo` = '$companyNo'";
         }
 
         if($payNo!=""){
@@ -146,7 +150,7 @@ class Payment extends BaseController
         }
 
         if($supplierNo!=""){
-             $condition[]=["supplierNo","like","%$supplierNo%"];
+             $condition[]=["supplierNo","=",$supplierNo];
         }
 
         if($payNo!=""){
@@ -169,7 +173,7 @@ class Payment extends BaseController
         }
          $companyNo =  isset($post['companyNo'])&&$post['companyNo']!=''?trim($post['companyNo']):'';
         if($companyNo!==''){
-            $condition[]=["companyNo","like","%$companyNo%"];
+            $condition[]=["companyNo","=",$companyNo];
         }
         $companyName =  isset($post['companyName'])&&$post['companyName']!=''?trim($post['companyName']):'';
         if($companyName !=''){
@@ -797,7 +801,7 @@ class Payment extends BaseController
         }
         $companyNo = isset($post['companyNo']) && $post['companyNo']!='' ? trim($post['companyNo']) :"";
         if($companyNo!=""){
-          $condition []=["companyNo","like","%$companyNo%"];
+          $condition []=["companyNo","=",$companyNo];
         }
         $companyName = isset($post['companyName']) && $post['companyName']!='' ? trim($post['companyName']) :"";
         if($companyName!=""){
@@ -822,7 +826,7 @@ class Payment extends BaseController
         }
          $supplierNo = isset($post['supplierNo']) && $post['supplierNo']!='' ? trim($post['supplierNo']) :"";
         if($supplierNo!=""){
-          $condition []=["supplierNo","like","%$supplierNo%"];
+          $condition []=["supplierNo","=",$supplierNo];
         }
 		  $cgder= isset($post['cgder']) && $post['cgder']!='' ? trim($post['cgder']) :"";
         if($cgder!='') $condition []=["ownerName","like","%$cgder%"];
@@ -1137,6 +1141,14 @@ class Payment extends BaseController
         if ($invtype!=''){
             $condition[]=["a.invType","=",$invtype];
         }
+        $companyNo = isset($post['companyNo'])&&$post['companyNo']!='' ? trim($post['companyNo']):"";
+        if($companyNo!=""){
+        	 $condition[]=["b.companyNo","=",$companyNo];
+        }
+        $supplierNo = isset($post['supplierNo'])&&$post['supplierNo']!='' ? trim($post['supplierNo']):"";
+        if($supplierNo!=""){
+        	 $condition[]=["b.supplierNo","=",$supplierNo];
+        }
         $hpNo = isset($post['hpNo'])&&$post['hpNo']!='' ? trim($post['hpNo']):"";
         if ($hpNo!=''){
             $condition[]=["a.hpNo","like","%$hpNo%"];

+ 63 - 57
app/admin/controller/Role.php

@@ -19,17 +19,27 @@ class Role extends BaseController{
         * @throws \think\db\exception\ModelNotFoundException
         */
     public function roleList(){
-        $post=$this->post;
+        $post=$this->request->only(["status"=>"","role_name"=>"","relaComNo"=>"","companyName"=>"","level"=>"",
+        "page"=>1,"size"=>10],"post","trim");
         $condition=[];
+
         isset($post['status'])&&$post['status']!=="" ? $condition[]=['a.status',"=",$post['status']]:"";
         isset($post['role_name'])&&$post['role_name']!=="" ? $condition[]=['a.role_name',"like","%".$post['role_name']."%"]:"";
         isset($post['level'])&&$post['level']!=="" ? $condition[]=["a.level","=",$post['level']]:"";
-        $roleList = Db::name("role");
-        $count =$roleList->alias("a")->where($condition)->count();
+        isset($post['relaComNo'])&&$post['relaComNo']!=="" ? $condition[]=["a.companyNo","=",$post['relaComNo']]:"";
+        isset($post['companyName'])&&$post['companyName']!=="" ? $condition[]=["b.name","like","%{$post['companyName']}%"]:"";
+
+        $count =Db::name("role")->alias("a")
+        ->leftJoin("supplier_info b","a.companyNo=b.code")
+        ->where($condition)->count();
         $page = isset($post['page']) ? intval($post['page']) : 1;
         $size = isset($post['size']) ? intval($post['size']) : 10;
         $page >=ceil($count/$size) ? $page= (int)ceil($count/$size) :"";
-        $list=$roleList->alias("a")->leftJoin("cfp_role_action t","a.id=t.role_id")->field("a.*,t.action_conllect as action,t.action_data")->where($condition)->page($page,$size)->select();
+        $list=Db::name("role")->alias("a")
+        ->leftJoin("supplier_info b","a.companyNo=b.code")
+        ->leftJoin("role_action t","a.id=t.role_id")
+        ->field("a.*,b.name as companyName,t.action_conllect as action,t.action_data")
+        ->where($condition)->page($page,$size)->select();
 
         return app_show(0,"获取成功",["list"=>$list,"count"=>$count]);
     }
@@ -46,33 +56,31 @@ class Role extends BaseController{
      */
 
     public function roleAdd(){
-        $post=$this->post;
-        $rolename = isset($post['role_name']) ? trim($post['role_name']) : "";
-        if($rolename==""){
-            return error_show(1002,"角色名称不能为空");
-        }
-        $isT=Db::name("role")->where(['role_name'=>$rolename])->find();
+        $post=$this->request->only(["role_name"=>"","level"=>"","action"=>"","action_data"=>"","private_data"=>"","relaComNo"=>""],"post");
+        $valid =Validate::rule([
+        	"role_name|角色名称"=>"require|max:255|min:3",
+        	"level|角色级别"=>"require|number|in:1,2,3",
+        	"relaComNo|业务公司编号"=>"max:255|min:3",
+        	"action|角色权限"=>"require|array",
+        	]);
+        if($valid->check($post)==false)return error_show(1004,$valid->getError());
+        $isT=Db::name("role")->where(['role_name'=>$post['role_name']])->find();
         if($isT){
             return error_show(1002,"角色名称已存在");
         }
-        $level = isset($post['level']) ? intval($post['level']) : "";
-        if($level==""){
-            return error_show(1003,"角色等级不能为空");
-        }
         $action = isset($post['action'])&&is_array($post['action']) ? implode(",",$post['action']) : "";
-        if($action==""){
-            return error_show(1004,"功能权限不能为空");
-        }
+
         $data = isset($post['action_data']) &&is_array($post['action_data'])?implode(",",$post['action_data']): "";
         $private_data = isset($post['private_data']) &&is_array($post['private_data'])?implode(",",$post['private_data']): "";
         Db::startTrans();
         try {
             $list = [
-                "role_name"=>$rolename,
+                "role_name"=>$post['role_name'],
+                "companyNo"=>$post['relaComNo'],
                 "status"=>1,
                 "addtime"=>date("Y-m-d H:i:s"),
                 "updatetime"=>date("Y-m-d H:i:s"),
-                "level"=>$level,
+                "level"=>$post['level'],
             ];
             $role= Db::name("role")->insert($list,true);
 
@@ -117,10 +125,14 @@ class Role extends BaseController{
         if($roleid==""){
             return error_show(1001,'roleid不能为空');
         }
-        $info =Db::name("role")->alias("a")->leftJoin("cfp_role_action t","a.id=t.role_id")->field("a.*,t.action_conllect,t.action_data,t.private_data")->where("a.id","=",$roleid)->find();
+        $info =Db::name("role")->alias("a")
+        ->leftJoin("cfp_role_action t","a.id=t.role_id")
+        ->field("a.*,t.action_conllect,t.action_data,t.private_data")
+        ->where("a.id","=",$roleid)->find();
         if(!$info){
             return error_show(1002,"未找到对应的数据");
         }
+
         $info['action'] =explode(",",$info['action_conllect']);
         $info['action_data'] =$info['action_data']!=""?explode(",",$info['action_data']):"";
         $info['private_data'] =$info['private_data']!=""?explode(",",$info['private_data']) :"";
@@ -139,28 +151,21 @@ class Role extends BaseController{
         * @throws \think\db\exception\ModelNotFoundException
          */
     public function roleSave(){
-        $post=$this->post;
-        $roleid= isset($post['roleid']) ? intval($post['roleid']) : "";
-        if($roleid==""){
-            return error_show(1001,'roleid不能为空');
-        }
-        $info =Db::name("role")->where("id","=",$roleid)->find();
+        $post=$this->request->only(["roleid"=>"","role_name"=>"","relaComNo"=>"","action"=>"","action_data"=>"","private_data"=>""],"post");
+        $valid=Validate::rule([
+        	"role_name|角色名称"=>"require|max:255|min:3",
+        	"relaComNo|业务公司编号"=>"max:255|min:3",
+        	"action|角色权限"=>"require|array",
+        	]);
+         if($valid->check($post)==false)return error_show(1004,$valid->getError());
+        $info =Db::name("role")->where("id","=",$post['roleid'])->find();
         if(!$info){
             return error_show(1002,"未找到对应的数据");
         }
-        $rolename = isset($post['role_name']) ? trim($post['role_name']) : "";
-        if($rolename==""){
-            return error_show(1002,"角色名称不能为空");
-        }
-        $vers= Db::name("role")->where("id",'<>',$roleid)->where("role_name","=",$rolename)->find();
-
+        $vers= Db::name("role")->where([["id",'<>',$post['roleid']],["role_name","=",$post['role_name']],["companyNo","=",$post['relaComNo']]])->find();
         if($vers){
             return error_show(1002,"角色名已存在");
         }
-        $level = isset($post['level']) ? intval($post['level']) : "";
-        if($level==""){
-            return error_show(1003,"角色等级不能为空");
-        }
         $action = isset($post['action'])&&is_array($post['action']) ? implode(",",$post['action']) : "";
         if($action==""){
             return error_show(1004,"功能权限不能为空");
@@ -170,21 +175,21 @@ class Role extends BaseController{
         Db::startTrans();
         try {
             $list = [
-                "role_name"=>$rolename,
-                "level"=>$level,
+                "role_name"=>$post['role_name'],
+                "companyNo"=>$post['relaComNo'],
                 "updatetime"=>date("Y-m-d H:i:s"),
-                'id'=>$roleid
+                'id'=>$post['roleid']
             ];
             $role= Db::name("role")->save($list);
             if($role){
                 $role_action = [
-                    "role_id"=>$roleid,
+                    "role_id"=>$post['roleid'],
                     "action_conllect"=>$action,
                     "action_data"=>$data,
                     "private_data"=>$private_data,
                     "updatetime"=>date("Y-m-d H:i:s")
                 ];
-                $roleaction= Db::name("role_action")->where("role_id","=",$roleid)->update($role_action);
+                $roleaction= Db::name("role_action")->where("role_id","=",$post['roleid'])->update($role_action);
                 if($roleaction){
                     Db::commit();
                     return app_show(0,"更新成功");
@@ -211,29 +216,24 @@ class Role extends BaseController{
      * @throws \think\exception\DbException
      */
     public function roleStatus(){
-        $post=$this->post;
-        $roleid= isset($post['roleid']) ? intval($post['roleid']) : "";
-        if($roleid==""){
-            return error_show(1001,'roleid不能为空');
-        }
-        $status = isset($post['status']) ? intval($post['status']) : "";
-        if($status===""){
-            return error_show(1001,'status不能为空');
-        }
-        if(!in_array($status,[0,1])){
-            return error_show(1001,'status参数非法');
-        }
+        $post=$this->request->only(["roleid"=>"","status"=>""],"post","intval");
+        $valid=Validate::rule([
+        	"roleid|角色id"=>"require|number|gt:0",
+        	"status|状态"=>"require|number|in:0,1"
+        	]);
+        if($valid->check($post)==false)return error_show(1004,$valid->getError());
+
         Db::startTrans();
         try {
             $dat=[
-                'status'=>$status,'updatetime'=>date("Y-m-d H:i:s"),  'id'=>$roleid
+                'status'=>$post['status'],'updatetime'=>date("Y-m-d H:i:s"),  'id'=>$post['roleid']
             ];
             $re = Db::name("role")->save($dat);
             if($re){
                 $dat2=[
-                    'status'=>$status,'updatetime'=>date("Y-m-d H:i:s")
+                    'status'=>$post['status'],'updatetime'=>date("Y-m-d H:i:s")
                 ];
-                $action =  Db::name("role_action")->where("role_id","=",$roleid)->update($dat2);
+                $action =  Db::name("role_action")->where("role_id","=",$post['roleid'])->update($dat2);
                 if($action){
                     Db::commit();
                     return app_show(0,"状态更新成功");
@@ -253,7 +253,13 @@ class Role extends BaseController{
      * @throws \think\exception\DbException
      */
     public function RoleAll(){
-        $list =Db::name("role")->select();
+    	$post=$this->request->only(["relaComNo"=>""],"post","trim");
+    	$where=[];
+    	if(isset($post['relaComNo']))$where[]=["companyNo","=",$post['relaComNo']];
+        $list =Db::name("role")->alias("a")
+        ->leftJoin("supplier_info b","a.companyNo=b.code")
+        ->field("a.*,b.name as companyName")
+        ->where($where)->select();
         return app_show(0,"获取成功",$list);
     }
 

+ 1 - 1
app/admin/controller/Sale.php

@@ -96,7 +96,7 @@ class Sale extends BaseController{
         }
          $companyNo =  isset($post['companyNo'])&&$post['companyNo']!=''?trim($post['companyNo']):'';
         if($companyNo!==''){
-            $condition[]=["a.companyNo","like","%$companyNo%"];
+            $condition[]=["a.companyNo","=",$companyNo];
         }
         $companyName =  isset($post['companyName'])&&$post['companyName']!=''?trim($post['companyName']):'';
         if($companyName !=''){

+ 20 - 3
app/admin/controller/TagGood.php

@@ -15,6 +15,10 @@ class TagGood extends BaseController{
         if($type==''){
             return error_show(1004,"参数 type 不能未空");
         }
+        $companyNo = isset($post['companyNo'])&& $post['companyNo']!="" ? trim($post['companyNo']) :"";
+        if($companyNo==''){
+            return error_show(1004,"参数 companyNo 不能未空");
+        }
         $tagName =isset($post['tag_name'])&&$post['tag_name']!='' ? trim($post['tag_name']):"";
         if($tagName==''){
             return error_show(1004,"参数 tag_name 不能未空");
@@ -27,6 +31,7 @@ class TagGood extends BaseController{
             "type"=>$type,
             "tag_name"=>$tagName,
             "status"=>1,
+            "companyNo"=>$companyNo,
             "apply_id"=>$this->uid,
             "apply_name"=>$this->uname,
             "addtime"=>date("Y-m-d H:i:s"),
@@ -41,6 +46,7 @@ class TagGood extends BaseController{
         $size = isset($this->post['size'])&&$this->post['size']!=''?intval($this->post['size']):15;
         $type = isset($this->post['type'])&&$this->post['type']!=''?intval($this->post['type']):'';
         $status = isset($this->post['status'])&&$this->post['status']!==''?intval($this->post['status']):'';
+         $companyNo = isset($post['companyNo'])&& $post['companyNo']!="" ? trim($post['companyNo']) :"";
         $condition =[["is_del","=",0]];
         if($type!=''){
             $condition[]=["type","=",$type];
@@ -51,6 +57,9 @@ class TagGood extends BaseController{
          $tagName =isset($this->post['tag_name'])&&$this->post['tag_name']!='' ? trim($this->post['tag_name']):"";
         if($tagName!=''){
           $condition[]=["tag_name","like","%$tagName%"];
+        }
+          if($companyNo!=''){
+          $condition[]=["companyNo","=",$companyNo];
         }
         $count =Db::name("order_tag")->where($condition)->count();
         $total=ceil($count/$size);
@@ -64,6 +73,10 @@ class TagGood extends BaseController{
         $condition =[["is_del","=",0]];
         if($type!=''){
             $condition[]=["type","=",$type];
+        }
+        $companyNo = isset($post['companyNo'])&& $post['companyNo']!="" ? trim($post['companyNo']) :"";
+         if($companyNo!=''){
+          $condition[]=["companyNo","=",$companyNo];
         }
          $tagName =isset($this->post['tag_name'])&&$this->post['tag_name']!='' ? trim($this->post['tag_name']):"";
         if($tagName!=''){
@@ -112,7 +125,11 @@ class TagGood extends BaseController{
         if($type==''){
            return error_show(1004,"参数 type 不能为空");
         }
-        $tag =Db::name("order_tag")->where([['tag_name',"=",$tagName],['type',"=",$type],["id","<>",$id],["is_del","=",0]])->find();
+         $companyNo = isset($post['companyNo'])&& $post['companyNo']!="" ? trim($post['companyNo']) :"";
+         if($companyNo==''){
+          return error_show(1004,"参数 companyNo 不能为空");
+        }
+        $tag =Db::name("order_tag")->where([['tag_name',"=",$tagName],['companyNo',"=",$companyNo],['type',"=",$type],["id","<>",$id],["is_del","=",0]])->find();
         if($tag!=false){
              return error_show(1004,"标签名称已存在");
         }
@@ -203,9 +220,9 @@ class TagGood extends BaseController{
 	* @param $tagId 标签类型 1 付款2回票
 	* @param $code  对账单编号
 	* @param $total_fee 标签金额
-	 * @return \think\response\Json|void
+	* @return \think\response\Json|void
 	* @throws \think\db\exception\DbException
-	 */
+	*/
     private  function payTag($tagId,$code,$total_fee){
 		 $pay=Db::name("pay")->where(["payNo"=>$code,"is_del"=>0])->findOrEmpty();
 		 if(empty($pay)){

+ 223 - 215
app/admin/controller/User.php

@@ -2,255 +2,263 @@
 
 declare (strict_types = 1);
 namespace app\admin\controller;
-use app\admin\BaseController;use think\App;use think\facade\Db;
+use app\admin\BaseController;use think\App;use think\facade\Db;use think\facade\Validate;
 
 class User extends BaseController{
  public function __construct(App $app) {parent::__construct($app);}
- //获取用户列表分页
- public  function  userList(){
-     if(isset($this->post['status'])&&$this->post['status']!==''){
-            $uid =Db::name("user_role")->where(["status"=>1,"is_del"=>0])->column("uid");
-            if($this->post['status']==1){
-                $this->post['uid']= isset($uids)?array_unique(array_merge($uids,$uid)):$uid;
+	/**
+      * 设置供应商信息
+	  * @return \think\response\Json|void
+	  */
+    public function  EditUserCompany(){
+        	$post = $this->request->only(["token"=>"","nickname"=>"","id"=>"","mobile"=>"","companyArr"=>[]],"post");
+        	$valide = $validate=Validate::rule([
+    		'nickname|真实姓名' => 'require|max:255',
+    		'id|账户ID' => 'require|number|gt:0',
+    		'mobile|手机号' => 'require|number|mobile',
+    		'companyArr|业务公司' => 'require|array',
+            ]);
+
+        	if($valide->check($post)==false) return json_show(1004,$valide->getError());
+        	$saveinfo =[
+				"id"=>$post['id'],
+				"nickname"=>$post['nickname'],
+				"mobile"=>$post['mobile'],
+				"token"=>$post['token']
+			];
+        	$saev= resetinfo($saveinfo);
+
+        	if(!isset($saev['code'])||$saev['code']!=0){
+				return error_show(1004,$saev['message']);
+        	}
+
+        	$companyinfo = ["id"=>$post['id'],"company"=>$post['companyArr'],"token"=>$post['token']];
+			$companyset =setUserCompany($companyinfo);
+			if(!isset($companyset['code'])||$companyset['code']!=0){
+				return error_show(1004,$companyset['message']);
+        	}
+			return app_show(0,"设置成功");
+    }
+    /**
+	 * 用户列表
+	 */
+    public function  userList(){
+    	$post=$this->request->only(["token"=>"","nickname"=>"","relaComNo"=>"","username"=>"","status"=>"","page"=>1,
+    	"size"=>10],"post");
+    	if($post['status']!==''){
+    		 $uid =Db::name("user_role")->where(["status"=>1,"is_del"=>0])->column("uid");
+            if($post['status']==1){
+                $post['uid']= isset($uids)?array_unique(array_merge($uids,$uid)):$uid;
             }else{
-                $this->post['nouid']=$uid;
+                $post['nouid']=$uid;
             }
-            unset($this->post['status']);
-        }
-        $userinfo=GetList($this->post['token'],$this->post);
+            unset($post['status']);
+    	}
+    	$post['companyNo'] =$post['relaComNo']??"";
+    	unset($post['relaComNo']);
+    	$userinfo=GetUserList($post);
         if(empty($userinfo)||$userinfo['code']!=0){
             return app_show($userinfo['code'],$userinfo['msg']);
         }
         $data = $userinfo['data']['list'];
-        $role = Db::name("role")->column("role_name","id");
-        $roleArr = Db::name("user_role")->where(["status"=>1,"is_del"=>0])->column("roleid,status","uid");
-        $role[0]="";
+        $roleArr = Db::name("user_role")->alias("a")
+        ->leftJoin("role b","a.roleid=b.id")
+        ->where(["a.status"=>1,"a.is_del"=>0])
+        ->column("role_name,roleid,a.status","a.companyNo");
         $list=[];
         foreach ($data as $value){
-            $value['roleid']=isset($roleArr[$value['id']]['roleid'])?$roleArr[$value['id']]['roleid'] :"";
-            $value['status']=isset($roleArr[$value['id']]['status'])?$roleArr[$value['id']]['status']:"";
-            $value["role_name"] = isset($role[$value["roleid"]]) ? $role[$value["roleid"]]:"";
+            $value['roleid']=$roleArr[$value['companyCode']]['roleid']??"";
+            $value['com_status']=$roleArr[$value['companyCode']]['status']??"";
+            $value["role_name"] =$roleArr[$value['companyCode']]['role_name']??"";
             $list[]=$value;
         }
         return app_show(0,"获取成功",["list"=>$list,"count"=>$userinfo['data']["count"]]);
     }
 
-    /**获取当前访问用户的信息
+        /**获取当前访问用户的信息
      * @param token
      * @return \think\response\Json
      * @throws \think\exception\DbException
      */
     public function userInfo(){
-        $userinfo=GetUserInfo($this->post['token']);
+    	$post =$this->request->only(["token"=>""],"post","trim");
+        $userinfo=GetUserInfo($post['token']);
         if(empty($userinfo)||$userinfo['code']!=0){
             return app_show(1002,"员工信息不存在");
         }
         $data = $userinfo['data'];
-        $data['roleid']= $this->roleid;
-        $role = Db::name("role")->where("id","=",$data['roleid'])->find();
-        $data['role_name']=isset($role['role_name']) ? $role['role_name'] :"";
+
+         $roleArr = Db::name("user_role")->alias("a")
+        ->leftJoin("role b","a.roleid=b.id")
+        ->where(["a.status"=>1,"a.is_del"=>0,"a.uid"=>$data['id']])
+        ->column("role_name,roleid,a.status","a.companyNo");
+         if(!empty($data['company_relaton'])){
+         	foreach ($data['company_relaton'] as &$item){
+         		$item['roleid'] =isset($roleArr[$item['companyCode']])?$roleArr[$item['companyCode']]['roleid']:"";
+         		$item['role_name'] =isset($roleArr[$item['companyCode']])?$roleArr[$item['companyCode']]['role_name']:"";
+         		$item['role_status'] =isset($roleArr[$item['companyCode']])?$roleArr[$item['companyCode']]['status']:"";
+         	}
+         }
         return app_show(0,"获取成功",$data);
     }
-    //修改用户状态 status 0 禁用1启用
-    /**
-     * @return \think\response\Json|void
-    * @throws \think\db\exception\DataNotFoundException
-    * @throws \think\db\exception\DbException
-    * @throws \think\db\exception\ModelNotFoundException
-    */
-    public function setStatus(){
-        $post =$this->post;
-       $userid = isset($post['id'])&&$post['id']!==""?intval($post['id']):"";
-        if($userid==""){
-            return error_show(1004,"参数id 不能为空");
-        }
-        $status = isset($post['status'])&&$post['status']!=""?intval($post['status']):"";
+		/**
+		* @return \think\response\Json|void
+		* @throws \think\db\exception\DataNotFoundException
+		* @throws \think\db\exception\DbException
+		* @throws \think\db\exception\ModelNotFoundException
+		*/
+		public function setStatus(){
+	        $post =$this->request->only(["id"=>"","status"=>"","relaComNo"=>"","token"=>""],"post");
+	        $valide =Validate::rule([
+	            'id|账户ID' => 'require|number|gt:0',
+	            'status|状态' => 'require|number|in:0,1',
+	            'relaComNo|业务公司' => 'require|max:255',
+	            ]);
+	        if($valide->check($post)==false) return error_show(1004,$valide->getError());
+	        $message = $post['status']==1?"启用":"禁用";
+	        $userinfo =Db::name("user_role")->where(["uid"=>$post['id'],"companyNo"=>$post['relaComNo'],"is_del"=>0])
+	        ->find();
+	        if($userinfo==false){
+	            return error_show(1005,"未找到有关账户信息");
+	        }else{
+	            $userinfo['status']=$post['status'];
+	            $userinfo['updatetime']=date("Y-m-d H:i:s");
+	            $sa=Db::name("user_role")->save($userinfo);
+	        }
+	       if($sa==false){
+	            return error_show(1005,"{$message}失败");
+	        }else{
+	            return app_show(0,"{$message}成功");
+	        }
+    }
 
-        if($status===""){
-            return error_show(1004,"参数status 不能为空");
-        }
-        if(!in_array($status,[0,1])){
-            return error_show(1004,"参数status无效");
-        }
-        $message = $status==1?"启用":"禁用";
-        $userinfo =Db::name("user_role")->where(["uid"=>$userid,"is_del"=>0])->find();
-        if($userinfo==false){
-            $data=[
-                "uid"=>$userid,
-                "roleid"=>0,
-                "status"=>$status,
-                "is_del"=>0,
-                "addtime"=>date("Y-m-d H:i:s"),
-                "updatetime"=>date("Y-m-d H:i:s"),
-            ];
-            $sa=Db::name("user_role")->save($data);
-        }else{
-            $userinfo['status']=$status;
-            $userinfo['updatetime']=date("Y-m-d H:i:s");
-            $sa=Db::name("user_role")->save($userinfo);
-        }
-       if($sa==false){
-            return error_show(1005,"{$message}失败");
-        }else{
+  //获取所有用户的信息
+   public  function  userAll(){
+    	$post=$this->request->only(['relaComNo'=>"","nickname"=>"","roleid"=>"","status"=>""],"post","trim");
+    	$condition = [["is_del","=",0]];
 
-            return app_show(0,"{$message}成功");
-        }
-    }
-    //获取所有用户的信息
-     public  function  userAll(){
-     if(isset($this->post['status'])&&$this->post['status']!==''){
-                $uid =Db::name("user_role")->where(["status"=>1,"is_del"=>0])->column("uid");
-                if($this->post['status']==1){
-                    $this->post['uid']= isset($uids)?array_unique(array_merge($uids,$uid)):$uid;
-                }else{
-                    $this->post['nouid']=$uid;
-                }
-                unset($this->post['status']);
-            }
-        $userinfo=GetAccountall($this->post['token'],$this->post);
-        if(empty($userinfo)||$userinfo['code']!=0){
-            return app_show(1002,"员工信息不存在");
-        }
-        $data = $userinfo['data'];
-        $role = Db::name("role")->column("role_name","id");
-        $roleArr = Db::name("user_role")->where(["status"=>1,"is_del"=>0])->column("roleid,status","uid");
-        $role[0]="";
-        $list=[];
-        foreach ($data as $value){
-                    $value['roleid']=isset($roleArr[$value['id']]['roleid'])?$roleArr[$value['id']]['roleid'] :"";
-            $value['status']=isset($roleArr[$value['id']]['status'])?$roleArr[$value['id']]['status']:"";
-            $value["role_name"] = isset($role[$value["roleid"]]) ? $role[$value["roleid"]]:"";
-            $list[]=$value;
-        }
+    	$rolecond=" level in (1,2,3)";
+    	if($post['relaComNo']!=""){
+    		$condition[]=["companyNo","=",$post['relaComNo']];
+    		$rolecond = "level=1 or (level in (2,3) and companyNo ='{$post['relaComNo']}' )";
+    	}
+    	if($post['roleid']!=""){
+    		$condition[]=["roleid","=",$post['roleid']];
+    		$rolecond = "id={$post['roleid']}";
+    	}
+    	if($post['status']!="")$condition[]=["status","=",$post['status']];
+    	if($post['nickname']!="")$condition[]=["nickname","like","%{$post['nickname']}%"];
+    	$list=Db::name("user_role")->where($condition)->select()->toArray();
+    	 $role = Db::name("role")->whereRaw($rolecond)->column("role_name","id");
+    	foreach ($list as &$value){
+			$value['role_name']= $role[$value['roleid']]??"";
+			$value['companyName']= Db::name("supplier_info")->where(["code"=>$value['companyNo']])->value("name",'');
+    	}
         return app_show(0,"获取成功",$list);
     }
-    /**
-    * 修改用户基础信息
-    */
-    public  function  userSave(){
-        $post=$this->post;
-        $userid = isset($post['id'])&&$post['id']!==""?intval($post['id']):"";
-        if($userid==""){
-            return error_show(1004,"参数id 不能为空");
-        }
 
-        $nickname= isset($post['nickname'])? trim($post['nickname']):"";
-        if ($nickname==""){
-            return app_show(1001,"昵称不能为空");
-        }
-        $mobile= isset($post['mobile'])? trim($post['mobile']):"";
-        if ($mobile==""){
-            return app_show(1002,"手机号不能为空");
-        }
-        if (checkMobile($mobile)==false){
-            return app_show(1002,"手机号格式不正确");
-        }
-        $email= isset($post['email'])? trim($post['email']):"";
-        $role =isset($post['role'])? intval($post['role']):0;
-        if($role!=0){
-            $roleinfo =Db::name("role")->where("id","=",$role)->find();
-            if(empty($roleinfo)){
-                return error_show(1002,"角色不存在");
-            }
-            if($roleinfo['status']==0){
-                return error_show(1002,"角色已禁用");
-            }
-        }
-        $userrole = Db::name("user_role")->where(["uid"=>$userid,"is_del"=>0])->find();
+      /**
+	    * 修改用户基础信息
+	    */
+	    public  function  setRole(){
+	        $post=$this->request->only(["id"=>"","nickname"=>"","relaComNo"=>"","company_type"=>"","roleid"=>""],"post","trim");
 
-        Db::startTrans();
-        try{
-             if(empty($userrole)){
-                $roledata =[
-                    "uid"=>$userid,
-                    "roleid"=>$role,
-                    "nickname"=>$nickname,
-                    "status"=>1,
-                    "addtime"=>date("Y-m-d H:i:s"),
-                    "updatetime"=>date("Y-m-d H:i:s")
-                ];
-               $up= Db::name("user_role")->insert($roledata);
-            }else{
-                $userrole['roleid'] = $role;
-                $userrole['updatetime'] = date("Y-m-d H:i:s");
-                $up=Db::name("user_role")->save($userrole);
-            }
-              if($up==false){
-                   Db::rollback();
-                return error_show(1004,'用户信息更新失败');
-              }
-             $data=[
-                "id"=>$userid,
-                "nickname"=>$nickname,
-                "mobile"=>$mobile,
-                "email"=>$email
-            ];
-            $save =resetinfo($post['token'],$data);
-            if(!empty($save) && $save['code']!=0){
-                Db::rollback();
-                return error_show($save['code'],$save['message']);
-            }
-            Db::commit();
-            return app_show(0,'用户信息更新成功');
-        }catch (\Exception $e){
-             Db::rollback();
-             return error_show(1004,$e->getMessage());
-        }
-    }
-        //角色设置
-        /** id roleid
-        * @return \think\response\Json|void
-        * @throws \think\db\exception\DataNotFoundException
-        * @throws \think\db\exception\DbException
-        * @throws \think\db\exception\ModelNotFoundException
-         */
-        public function setRole(){
-        $post  =$this->post;
-        $uid = isset($post['id'])&&$post['id']!=='' ? intval($post['id']) :"";
-        if($uid===''){
-            return error_show(1004,"参数id 不能为空");
-        }
-        $roleinfo = Db::name("user_role")->where(["uid"=>$uid])->find();
-        $role =isset($post['roleid']) && $post['roleid']!=="" ? intval($post['roleid']) :"";
-        if($role===''){
-            return error_show(1004,"参数roleid 不能为空");
-        }
-        $isRole = Db::name('role')->where([['id',"=",$role],['status',"=",1]])->find();
-        if(empty($isRole)){
-            return error_show(1004,"所选角色不存在");
-        }
-        if($roleinfo==false){
-        $data = [
-            'uid'=>$uid,
-            'roleid'=>$role,
-            'status'=>1,
-            'addtime'=>date('Y-m-d H:i:s'),
-            'updatetime'=>date('Y-m-d H:i:s'),
-        ];
-        $insert = Db::name('user_role')->insert($data);
-        }else{
-            $roleinfo['roleid']=$role;
-            $roleinfo['status']=1;
-            $roleinfo['is_del']=0;
-            $roleinfo['updatetime']=date('Y-m-d H:i:s');
-        $insert = Db::name('user_role')->save($roleinfo);
-        }
-        return $insert? app_show(0,'数据新建成功'):error_show(1004,'数据新建失败');
-    }
-        //密码设置
-        public  function setPwd(){
-        $post  =$this->post;
-
-        $userid = isset($post['id'])&&$post['id']!==""?intval($post['id']):"";
-        if($userid==""){
-            return error_show(1004,"参数id 不能为空");
-        }
-        $newPwd= isset($post['password']) ? trim($post['password']) : "";
-        if($newPwd==""){
-            return error_show(1001,'密码不能为空');
-        }
+	        $valide=Validate::rule([
+	        	"id|账户ID"=>"require|number|gt:0",
+	        	"nickname|名称"=>"require|max:255",
+	        	"relaComNo|业务公司"=>"require|max:255",
+	        	"company_type|业务公司类型"=>"require|number|in:1,2",
+	        	"roleid|角色ID"=>"require|number",
+	        	]);
+	        if($valide->check($post)==false) return error_show(1004,$valide->getError());
+	        if($post['roleid']!=0){
+	            $roleinfo =Db::name("role")->where("id","=",$post['roleid'])->find();
+	            if(empty($roleinfo)){
+	                return error_show(1002,"角色不存在");
+	            }
+	            if($roleinfo['status']==0){
+	                return error_show(1002,"角色已禁用");
+	            }
+	        }
+	        $userrole = Db::name("user_role")
+	        ->where(["uid"=>$post['id'],"companyNo"=>$post['relaComNo'],"is_del"=>0])
+	        ->find();
 
-        $data = resetpwd($post['token'],["id"=>$userid,'password'=>$newPwd]);
+	        Db::startTrans();
+	        try{
+	             if(empty($userrole)){
+	                $roledata =[
+	                    "uid"=>$post['id'],
+	                    "roleid"=>$post['roleid'],
+	                    "nickname"=>$post['nickname'],
+	                    "companyNo"=>$post['relaComNo'],
+	                    "company_type"=>$post['company_type'],
+	                    "status"=>1,
+	                    "addtime"=>date("Y-m-d H:i:s"),
+	                    "updatetime"=>date("Y-m-d H:i:s")
+	                ];
+	               $up= Db::name("user_role")->insert($roledata);
+	            }else{
+	                $userrole['roleid'] = $post['roleid'];
+	                $userrole['companyNo'] = $post['relaComNo'];
+	                $userrole['company_type'] =$post['company_type'];
+	                $userrole['updatetime'] = date("Y-m-d H:i:s");
+	                $up=Db::name("user_role")->save($userrole);
+	            }
+	              if($up==false){
+	                   Db::rollback();
+	                return error_show(1004,'用户信息更新失败');
+	              }
+	            Db::commit();
+	            return app_show(0,'用户信息更新成功');
+	        }catch (\Exception $e){
+	             Db::rollback();
+	             return error_show(1004,$e->getMessage());
+	        }
+	    }
+	    /**获取用户关联业务公司
+		* @return \think\response\Json|void
+		* @throws \think\db\exception\DataNotFoundException
+		* @throws \think\db\exception\DbException
+		* @throws \think\db\exception\ModelNotFoundException
+		*/
+	    public function GetCompany(){
+	    	$post=$this->request->only(["token"=>"","uid"=>"","companyName"=>"","page"=>1,"size"=>20],"post","trim");
+	    	$where=[];
+	    	if($post['uid']!=""){
+	    		$where[]=["a.uid","=",$post['uid']];
+	    	}else{
+	    		$where[]=["a.uid","=",$this->uid];
+	    	}
+	    	if($post['companyName']!=""){
+				$where[]=["b.name","like","%{$post['companyName']}%"];
+	    	}
+	    	$count = Db::name("user_role")->alias("a")
+	    	->leftJoin("supplier_info b","a.companyNo=b.code")
+	    	->where($where)
+	    	->count();
+	    	$total =ceil($count/$post['size']);
+	    	$page = $post['page']>$total ? intval($total):intval($post['page']);
+	    	$list = Db::name("user_role")->alias("a")
+	    	->leftJoin("supplier_info b","a.companyNo=b.code")
+	    	->where($where)
+	    	->field("a.uid,a.nickname,roleid,companyNo,b.name as companyName,a.status,a.company_type")
+	    	->page($page,intval($post['size']))
+	    	->select()->toArray();
+	    	foreach ($list as &$value){
+	    		$value['role_name'] = Db::name("role")->where(["id"=>$value["roleid"]])->value("role_name","");
+	    	}
+	    	 return app_show(0,'获取成功',["list"=>$list,"count"=>$count]);
+	    }
+        //密码设置
+      public  function setPwd(){
+        $post=$this->request->only(["id"=>"","password"=>""],"post","trim");
+         $validate=Validate::rule([
+    		'id|账户ID' => 'require|number',
+    		'password|密码' => 'require|min:6|max:200',
+            ]);
+    	if($validate->check($post)==false) return error_show(1004,$validate->getError());
+        $data = resetpwd($post);
         if(empty($data)||$data['code']!=0){
             return error_show($data['code'],$data['message']);
         }else{

+ 5 - 1
app/admin/route/app.php

@@ -22,10 +22,11 @@ Route::rule("menulist","admin/Menu/MenuAllList");
 Route::rule('userlist', 'admin/User/userList');
 Route::rule('userall', 'admin/User/userAll');
 Route::rule('userinfo', 'admin/User/userInfo');
-Route::rule('usersave', 'admin/User/userSave');
+Route::rule('usersave', 'admin/User/EditUserCompany');
 Route::rule('setrole', 'admin/User/setRole');
 Route::rule('setpwd', 'admin/User/setPwd');
 Route::rule('setstatus', 'admin/User/setStatus');
+Route::rule('getcompany', 'admin/User/GetCompany');
 
 Route::rule('rolelist', 'admin/Role/roleList');
 Route::rule('roleall', 'admin/Role/roleAll');
@@ -177,6 +178,9 @@ route::rule('deleteDataShare', 'admin/DataShare/deleteDataShare');//删除数据
 route::rule('statusDataShare', 'admin/DataShare/statusDataShare');//启/禁用数据共享
 
 
+route::rule('login', 'admin/Login/login');//启/禁用数据共享
+
+
 
 
 

+ 52 - 35
app/common.php

@@ -18,7 +18,7 @@ function error_show($code=0,$message=""){
 
 function GetUserInfo($token){
     $host = Config::get("app");
-    $url = $host["api_host"]."/Api/userinfo";
+    $url = $host["api_host"]."/verifyToken";
     $data=[
         "token"=>$token
     ];
@@ -27,6 +27,14 @@ function GetUserInfo($token){
     return json_decode($response,true);
 }
 
+function setUserCompany($condition){
+    $host = Config::get("app");
+    $url = $host["api_host"]."/setcompany";
+    $response=curl_request($url,$condition);
+
+    return json_decode($response,true);
+}
+
 /**手机号验证
  * @param $mobile
  * @return bool
@@ -75,7 +83,7 @@ function makeSalt(){
  */
 function VerifyTokens($token){
     $host = Config::get("app");
-    $url = $host["api_host"]."/Api/verify_token";
+    $url = $host["api_host"]."/verifyToken";
     $data=[
         "token"=>$token
     ];
@@ -90,36 +98,34 @@ function VerifyTokens($token){
  * @param $condition
  * @return mixed
  */
-function GetUserlist($token,$condition){
-    $host = Config::get("app");
-
-    $url = $host["api_host"]."/Api/getuserlist";
-    $condition['token']=$token;
-    $response=curl_request($url,$condition);
-
-    return json_decode($response,true);
-}
-
-/**
- * @param $token
- * @param $condition
- * @return mixed
- */
-function GetAccountall($token, $condition){
+function GetUserlist($condition){
     $host = Config::get("app");
 
-    $url = $host["api_host"]."/Api/userall";
-    $condition['token']=$token;
+    $url = $host["api_host"]."/userlistbycompany";
     $response=curl_request($url,$condition);
 
     return json_decode($response,true);
 }
 
-function GetList($token,$condition){
+///**
+// * @param $token
+// * @param $condition
+// * @return mixed
+// */
+//function GetAccountall($token, $condition){
+//    $host = Config::get("app");
+//
+//    $url = $host["api_host"]."/Api/userall";
+//    $condition['token']=$token;
+//    $response=curl_request($url,$condition);
+//
+//    return json_decode($response,true);
+//}
+
+function GetList($condition){
     $host = Config::get("app");
 
-    $url = $host["api_host"]."/Api/userlist";
-    $condition['token']=$token;
+    $url = $host["api_host"]."/userlist";
     $response=curl_request($url,$condition);
 
     return json_decode($response,true);
@@ -132,7 +138,7 @@ function GetList($token,$condition){
  */
 function GetInfoById($token,$condition){
     $host = Config::get("app");
-    $url = $host["api_host"]."/Api/userinfobyid";
+    $url = $host["api_host"]."/userinfo";
     $condition['token']=$token;
     $response=curl_request($url,$condition);
     return json_decode($response,true);
@@ -171,11 +177,10 @@ function randomkeys($length) {
  * @param $condition
  * @return mixed
  */
- function resetpwd($token,$condition){
+ function resetpwd($condition){
      $host = Config::get("app");
 
-     $url = $host["api_host"]."/Api/passset";
-     $condition['token']=$token;
+     $url = $host["api_host"]."/setpasswd";
      $response=curl_request($url,$condition);
 
      return json_decode($response,true);
@@ -190,24 +195,37 @@ function resetpasswd($token,$condition){
 
     return json_decode($response,true);
 }
+ /**
+* @param $condition
+ * @return array|bool|float|int|mixed|\stdClass|string|null
+ */
+function checkLogin($condition){
+    $host = Config::get("app");
+
+    $url = $host["api_host"]."/login";
+    $response=curl_request($url,$condition);
+
+    return json_decode($response,true);
+}
 
 /**
  * @param $token
  * @param $condition
  * @return mixed
  */
-function resetinfo($token,$condition){
+function resetinfo($condition){
     $host = Config::get("app");
 
-    $url = $host["api_host"]."/Api/usersave";
-    $condition['token']=$token;
+    $url = $host["api_host"]."/usersave";
     $response=curl_request($url,$condition);
 
     return json_decode($response,true);
 }
 
 //参数1:访问的URL,参数2:post数据(不填则为GET),参数3:提交的$cookies,参数4:是否返回$cookies
-function curl_request($url,$post=''){
+function curl_request($url,$post='',$header=["Content-Type: multipart/json;charset=utf-8"]){
+	$header = empty($header) ? '' : $header;
+	if(is_array($post)) $post=json_encode($post,JSON_UNESCAPED_UNICODE);
     $curl = curl_init();
     curl_setopt($curl, CURLOPT_URL, $url);
     curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)');
@@ -216,10 +234,11 @@ function curl_request($url,$post=''){
     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
     if($post) {
         curl_setopt($curl, CURLOPT_POST, 1);
-        curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));
+        curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
     }
     curl_setopt($curl, CURLOPT_TIMEOUT, 10);
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
+     curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
     $data = curl_exec($curl);
     if (curl_errno($curl)) {
         return curl_error($curl);
@@ -284,13 +303,11 @@ function upload($files,$extend="xls")
     try {
         validate([
             'file' => [
-                // 限制文件大小(单位b),这里限制为4M
-                //fileSize' => 4 * 1024 * 1024,
                 'fileExt' => 'xlsx,xls'
             ]
         ],
             [
-                //'file.fileSize' => '文件太大',
+
                 'file.fileExt' => '不支持的文件',
             ]
         )->check(['file' => $files]);

+ 1 - 1
config/app.php

@@ -30,5 +30,5 @@ return [
     'error_message'    => '页面错误!请稍后再试~',
     // 显示错误信息
     'show_error_msg'   => false,
-     "api_host"=>"http://inv.test241.wanyuhengtong.com"
+     "api_host"=>"http://user.test241.wanyuhengtong.com"
 ];