Browse Source

角色,架构

wufeng 2 years ago
parent
commit
6e6179a7cc

+ 1 - 0
app/admin/common/User.php

@@ -61,6 +61,7 @@ class User
         //组织架构
         'ulist'=>'ulist',
         'add'=>'add',
+        'query'=>'query',
 
     ];
 

+ 17 - 11
app/admin/controller/Newfill.php

@@ -255,28 +255,34 @@ class Newfill extends Base
     /*查询*/
     public function query()
     {
-        $companyNo = isset($this->post['companyNo']) ? trim($this->post['companyNo']) : "";
-        if ($companyNo == "") return error_show(1004, '所属企业不能为空');
+
+        $userCommon = new \app\admin\common\User();
+        $rs = $userCommon->handle('query');
+
+        return json_show($rs['code'], $rs['message'],$rs['data']);
+
+//        $companyNo = isset($this->post['companyNo']) ? trim($this->post['companyNo']) : "";
+//        if ($companyNo == "") return error_show(1004, '所属企业不能为空');
 
 //        $effetc = VerifyTokens($token);
 //        if (!empty($effetc) && $effetc['code'] != 0) {
 //            return error_show($effetc['code'], $effetc['message']);
 //        }
 
-        $dati = Db::name("company_item")
-            ->where(['pid' => 0, 'is_del' => 0, 'companyNo' => $companyNo])
-            ->order("weight desc")
-            ->select()
-            ->toArray();
+//        $dati = Db::name("company_item")
+//            ->where(['pid' => 0, 'is_del' => 0, 'companyNo' => $companyNo])
+//            ->order("weight desc")
+//            ->select()
+//            ->toArray();
         $k = [];
-        foreach ($dati as $key => $value) {
+//        foreach ($dati as $key => $value) {
             // $temp=[];
             //$temp= Db::name("company_item")->where(['pid'=>$value['id'],'is_del'=>0])->order("weight desc")->select();
             // $value['child'] =$temp;
             // $k[]=$value;
-            $k[] = crea($value);
-        }
-        return app_show(0, "获取成功", $k);
+//            $k[] = crea($value);
+//        }
+//        return app_show(0, "获取成功", $k);
     }
 
     public function itemdel()

+ 12 - 12
app/admin/controller/Role.php

@@ -72,28 +72,29 @@ class Role extends Base
 
     public function roleAdd()
     {
-        $post = $this->request->only(["role_name", "level", "action", "action_data" => "", "private_data" => "", "relaComNo" => "", "companyNo" => "",'is_allow_see_price','private_field'], "post");
+        $post = $this->request->only(["role_name", "action", "action_data" => "", "private_data" => "", "relaComNo" => "", "companyNo" => "", 'is_allow_see_price', 'private_field'], "post");
         $valid = Validate::rule([
             "role_name|角色名称" => "require|max:255|min:2",
-            "level|角色级别" => "require|number|in:1,2,3",
-            "relaComNo|业务公司编号" => "max:255",
-            "companyNo|业务公司编号" => "max:255",
+            "relaComNo|业务公司编号" => "requireWithout:companyNo|max:255",
+            "companyNo|业务公司编号" => "requireWithout:relaComNo|max:255",
             "action|角色权限" => "require|array",
             "is_allow_see_price|是否允许查看价格" => "require|in:0,1",
-            'private_field|关键字段权限'=>'require|array|max:3'
+            'private_field|关键字段权限' => 'require|array|max:3'
         ]);
         if ($valid->check($post) == false) return error_show(1004, $valid->getError());
-        if ($post['relaComNo'] != "" && $post["level"] == 1) return error_show(1002, "超管权限角色不可关联业务公司");
+//        if ($post['relaComNo'] != "" && $post["level"] == 1) return error_show(1002, "超管权限角色不可关联业务公司");
+
+//        if ($this->level == 1) $companyNo = $post['companyNo'] ?? "";
+//        else $companyNo = $post['relaComNo'] ?? "";
 
-        if ($this->level == 1) $companyNo = $post['companyNo'] ?? "";
-        else $companyNo = $post['relaComNo'] ?? "";
+        $companyNo = $post['relaComNo'] ?? $post['companyNo'];
 
         $where = [["role_name", "=", $post['role_name']]];
         if ($companyNo != "") $where[] = ["companyNo", "=", $companyNo];
 
 
         $isT = Db::name("role")->field('id')->where($where)->find();
-        if ($isT)  return error_show(1002, "角色名称已存在");
+        if ($isT) return error_show(1002, "角色名称已存在");
 
         $action = isset($post['action']) && is_array($post['action']) ? implode(",", $post['action']) : "";
 
@@ -109,8 +110,7 @@ class Role extends Base
                 "status" => 1,
                 "addtime" => $date,
                 "updatetime" => $date,
-                "level" => $post['level'],
-                'is_allow_see_price'=>$post['is_allow_see_price']
+                'is_allow_see_price' => $post['is_allow_see_price']
             ];
             $role = Db::name("role")->insert($list, true);
 
@@ -120,7 +120,7 @@ class Role extends Base
                     "action_conllect" => $action,
                     "action_data" => $data,
                     "private_data" => $private_data,
-                    'private_field'=>is_array($post['private_field'])?implode(',',$post['private_field']):$post['private_field'],
+                    'private_field' => is_array($post['private_field']) ? implode(',', $post['private_field']) : $post['private_field'],
                     "status" => 1,
                     "addtime" => $date,
                     "updatetime" => $date,

+ 21 - 6
app/admin/controller/UserCompany.php

@@ -40,13 +40,12 @@ class UserCompany extends Base
     //编辑
     public function update()
     {
-        $param = $this->request->only(['account_id', 'companyNo', 'roleid', 'itemid'], 'post');
+        $param = $this->request->only(['account_id', 'companyNo', 'roleid'], 'post');
 
         $val = Validate::rule([
             'account_id|账户id' => 'require|number|gt:0',
             'companyNo|公司编码' => 'require|length:18',
             'roleid|角色' => 'require|number|gt:0',
-            'itemid|部门id' => 'require|number|gt:0',
         ]);
 
         if (!$val->check($param)) return json_show(1004, $val->getError());
@@ -72,10 +71,25 @@ class UserCompany extends Base
 
         $date = date('Y-m-d H:i:s');
 
-        $rs = Db::name('user_role')
+        $tmp = Db::name('user_role')
+            ->field('id')
             ->where(['uid' => $param['account_id'], 'companyNo' => $param['companyNo'], 'is_del' => 0])
-            ->update(['roleid' => $param['roleid'], 'itemid' => $param['itemid'], 'updatetime' => $date]);
-
+            ->findOrEmpty();
+
+        if (empty($tmp)) {
+            $rs = Db::name('user_role')
+                ->insert([
+                    'uid' => $param['account_id'],
+                    'roleid' => $param['roleid'],
+                    'companyNo' => $param['companyNo'],
+                    'addtime' => $date,
+                    'updatetime' => $date,
+                ]);
+        } else {
+            $rs = Db::name('user_role')
+                ->where('id', $tmp['id'])
+                ->update(['roleid' => $param['roleid'], 'updatetime' => $date]);
+        }
 
 //        $userCommon = new UserCommon();
 //        $rs = json_decode($userCommon->handle('userCompanyUpdate', $param), true);
@@ -125,12 +139,13 @@ class UserCompany extends Base
 
             $tmp = Db::name('user_role')
                 ->alias('a')
-                ->field('b.role_name')
+                ->field('a.roleid,b.role_name')
                 ->leftJoin('role b', 'b.id=a.roleid')
 //                ->leftJoin('company_item c', 'c.id=a.itemid and c.companyNo=a.companyNo')
                 ->where(['a.uid' => $rs['data']['account_id'], 'is_del' => 0, 'a.companyNo' => $rs['data']['companyCode']])
                 ->findOrEmpty();
 
+            $rs['data']['roleid'] = $tmp['roleid'] ?? '';
             $rs['data']['role_name'] = $tmp['role_name'] ?? '';
 //            $rs['data']['item_name'] = $tmp['item_name'] ?? '';
         }

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

@@ -109,7 +109,7 @@ class UserCompanyBasic extends Base
     //编辑
     public function update()
     {
-        $param = $this->request->only(['id', 'nickname', 'mobile', 'email' => '', 'portrait' => '', 'sex' => '',], 'post');
+        $param = $this->request->only(['id', 'itemid'], 'post');
 
         $userCommon = new UserCommon();
         $rs = $userCommon->handle('userCompanyBasicUpdate', $param);