Преглед изворни кода

feat(user): 在用户树结构中添加身份信息显示

- 查询用户数据时增加 user_group 字段
- 添加用户身份映射数组,定义从1到7的身份级别
- 在用户名称后添加身份信息显示,格式为"(身份:X)"
- 修改 buildTree 方法参数以传递身份映射
- 更新父节点名称构造逻辑以包含身份信息
shichen пре 5 месеци
родитељ
комит
b24734de2c
1 измењених фајлова са 20 додато и 9 уклоњено
  1. 20 9
      app/common/repositories/user/UserRepository.php

+ 20 - 9
app/common/repositories/user/UserRepository.php

@@ -4930,21 +4930,32 @@ class UserRepository extends BaseRepository
4930
     public function getUserForTree($field,$parentId = 0)
4930
     public function getUserForTree($field,$parentId = 0)
4931
     {
4931
     {
4932
         // 获取所有用户数据
4932
         // 获取所有用户数据
4933
-        $users = $this->dao->selectWhere(['is_del'=>0], 'uid,' . $field . ',nickname,account');
4933
+        $users = $this->dao->selectWhere(['is_del'=>0], 'uid,' . $field . ',nickname,account,user_group');
4934
         if (empty($users)) {
4934
         if (empty($users)) {
4935
             return [];
4935
             return [];
4936
         }
4936
         }
4937
         $users = $users->toArray();
4937
         $users = $users->toArray();
4938
-        
4938
+
4939
+        // 用户身份
4940
+        $userGroup = [
4941
+            1 => '用户',
4942
+            2 => '业务员',
4943
+            3 => '业务经理',
4944
+            4 => '初级合伙人',
4945
+            5 => '中级合伙人',
4946
+            6 => '高级合伙人',
4947
+            7 => '董事',
4948
+        ];
4949
+
4939
         // 创建uid到昵称的映射
4950
         // 创建uid到昵称的映射
4940
         $idToName = [];
4951
         $idToName = [];
4941
         foreach ($users as $user) {
4952
         foreach ($users as $user) {
4942
-            $idToName[$user['uid']] = $user['nickname'] . '(' . $user['account'] .')' ?? ('用户' . $user['uid']);
4953
+            $idToName[$user['uid']] = $user['nickname'] . '(' . $user['account'] .')(身份:' . $userGroup[$user['user_group']] . ')' ?? ('用户' . $user['uid']);
4943
         }
4954
         }
4944
         
4955
         
4945
         // 构建树
4956
         // 构建树
4946
-        $tree = $this->buildTree($users, $parentId, $field, $idToName);
4947
-        
4957
+        $tree = $this->buildTree($users, $parentId, $field, $idToName, $userGroup);
4958
+
4948
         // 如果parentId大于0,需要返回以该用户为根节点的树
4959
         // 如果parentId大于0,需要返回以该用户为根节点的树
4949
         if ($parentId > 0) {
4960
         if ($parentId > 0) {
4950
             // 查找parentId对应的用户
4961
             // 查找parentId对应的用户
@@ -4963,7 +4974,7 @@ class UserRepository extends BaseRepository
4963
                 
4974
                 
4964
                 // 构建以该用户为根节点的树
4975
                 // 构建以该用户为根节点的树
4965
                 $parentNode = [
4976
                 $parentNode = [
4966
-                    'name' => $parentUser['nickname']. '(' . $parentUser['account'] .')' ?? ('用户' . $parentUser['uid']),
4977
+                    'name' => $parentUser['nickname']. '(' .')(身份:' . $userGroup[$user['user_group']] . ')' ?? ('用户' . $parentUser['uid']),
4967
                     'parent' => $userParentName,
4978
                     'parent' => $userParentName,
4968
                     'parentId' => $userParentId > 0 ? $userParentId : null,
4979
                     'parentId' => $userParentId > 0 ? $userParentId : null,
4969
                     'children' => $tree // 子节点就是之前构建的树
4980
                     'children' => $tree // 子节点就是之前构建的树
@@ -4986,14 +4997,14 @@ class UserRepository extends BaseRepository
4986
      * @param array $idToName uid到昵称的映射
4997
      * @param array $idToName uid到昵称的映射
4987
      * @return array
4998
      * @return array
4988
      */
4999
      */
4989
-    private function buildTree($users, $parentId, $field, $idToName)
5000
+    private function buildTree($users, $parentId, $field, $idToName,$userGroup)
4990
     {
5001
     {
4991
         $branch = [];
5002
         $branch = [];
4992
         foreach ($users as $user) {
5003
         foreach ($users as $user) {
4993
             if ($user[$field] == $parentId) {
5004
             if ($user[$field] == $parentId) {
4994
-                $children = $this->buildTree($users, $user['uid'], $field, $idToName);
5005
+                $children = $this->buildTree($users, $user['uid'], $field, $idToName,$userGroup);
4995
                 $node = [
5006
                 $node = [
4996
-                    'name' => $user['nickname']. '(' . $user['account'] .')' ?? ('用户' . $user['uid']),
5007
+                    'name' => $user['nickname']. '(' . $user['account'] .')(身份:' . $userGroup[$user['user_group']] . ')' ?? ('用户' . $user['uid']),
4997
                     'parent' => $parentId == 0 ? null : ($idToName[$parentId] ?? null),
5008
                     'parent' => $parentId == 0 ? null : ($idToName[$parentId] ?? null),
4998
                     'parentId' => $parentId == 0 ? null : $parentId,
5009
                     'parentId' => $parentId == 0 ? null : $parentId,
4999
                     'children' => $children
5010
                     'children' => $children