From f91e3a2507c6972fb15d7d91f0d0380dd4be0bef Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 19 九月 2022 08:37:56 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/crm/common/utils/TreeUtils.java           |   21 ++++++++++++++++-----
 src/main/java/com/zy/crm/system/controller/DeptController.java |    2 +-
 src/main/webapp/static/js/cstmr/cstmr.js                       |   12 +++++++-----
 src/main/webapp/views/cstmr/cstmr.html                         |    1 +
 4 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/crm/common/utils/TreeUtils.java b/src/main/java/com/zy/crm/common/utils/TreeUtils.java
index 7c534bb..3f5872a 100644
--- a/src/main/java/com/zy/crm/common/utils/TreeUtils.java
+++ b/src/main/java/com/zy/crm/common/utils/TreeUtils.java
@@ -7,8 +7,10 @@
 import com.zy.crm.manager.service.NodeService;
 import com.zy.crm.manager.service.TagService;
 import com.zy.crm.system.entity.Dept;
+import com.zy.crm.system.entity.Role;
 import com.zy.crm.system.entity.User;
 import com.zy.crm.system.service.DeptService;
+import com.zy.crm.system.service.RoleService;
 import com.zy.crm.system.service.UserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.Cacheable;
@@ -31,6 +33,8 @@
     private DeptService deptService;
     @Autowired
     private UserService userService;
+    @Autowired
+    private RoleService roleService;
 
     /******************************** 褰掔被鏍� *********************************/
 
@@ -176,7 +180,7 @@
      * 鑾峰彇鏍戝浘鏁版嵁缁撴瀯
      */
     @Cacheable(cacheNames="deptUserTree",key="#id")
-    public ArrayList<Map<String, Object>> getDeptUserTree(String id, Long hostId){
+    public ArrayList<Map<String, Object>> getDeptUserTree(String id, Long hostId, Long userId){
         ArrayList<Map<String, Object>> result = new ArrayList<>();
         Dept dept = deptService.selectById(id);
         // 涓昏妭鐐�
@@ -188,12 +192,12 @@
 //        map.put("icon", "layui-icon layui-icon-star-fill");
         List<Map<String, Object>> childrens = new ArrayList<>();
         map.put("children", childrens);
-        dealUserDept(dept, childrens, hostId);
+        dealUserDept(dept, childrens, hostId, userId);
         result.add(map);
         return result;
     }
 
-    public void dealUserDept(Dept parent, List<Map<String, Object>> list, Long hostId) {
+    public void dealUserDept(Dept parent, List<Map<String, Object>> list, Long hostId, Long userId) {
         Wrapper<Dept> wrapper = new EntityWrapper<Dept>()
                 .eq("parent_id", parent.getId())
                 .eq("status", 1);
@@ -202,7 +206,14 @@
         }
         List<Dept> depts = deptService.selectList(wrapper);
 
-        List<User> users = userService.getUserByDept(hostId, parent.getId());
+        List<User> users = new ArrayList<>();
+        Role role = roleService.selectById(userService.selectById(userId).getRoleId());
+        if (role.getCode().equals("salesman")) {
+            users.add(userService.selectById(userId));
+        } else {
+            users = userService.getUserByDept(hostId, parent.getId());
+        }
+
         for (User user : users) {
             Map<String, Object> map = new HashMap<>();
             map.put("title", user.getNickname());
@@ -221,7 +232,7 @@
 //            map.put("icon", "layui-icon layui-icon-star-fill");
             List<Map<String, Object>> childrens = new ArrayList<>();
             map.put("children", childrens);
-            dealUserDept(dept, childrens, hostId);
+            dealUserDept(dept, childrens, hostId, userId);
             list.add(map);
         }
     }
diff --git a/src/main/java/com/zy/crm/system/controller/DeptController.java b/src/main/java/com/zy/crm/system/controller/DeptController.java
index c4f4143..cb904f3 100644
--- a/src/main/java/com/zy/crm/system/controller/DeptController.java
+++ b/src/main/java/com/zy/crm/system/controller/DeptController.java
@@ -185,7 +185,7 @@
     @PostMapping(value = "/dept/user/tree/auth")
     @ManagerAuth
     public R deptUserTree(@RequestParam(required = false, defaultValue = "") String condition) throws IOException, ClassNotFoundException {
-        ArrayList<Map<String, Object>> tree = treeUtils.getDeptUserTree(String.valueOf(getDeptId()), getHostId());
+        ArrayList<Map<String, Object>> tree = treeUtils.getDeptUserTree(String.valueOf(getDeptId()), getHostId(), getUserId());
         // 娣辨嫹璐�
         List<Map<String, Object>> result = ListUtils.deepCopy(tree);
         if (!Cools.isEmpty(condition)) {
diff --git a/src/main/webapp/static/js/cstmr/cstmr.js b/src/main/webapp/static/js/cstmr/cstmr.js
index f0c5137..dbd9232 100644
--- a/src/main/webapp/static/js/cstmr/cstmr.js
+++ b/src/main/webapp/static/js/cstmr/cstmr.js
@@ -64,9 +64,10 @@
                     break
                 case 2:
                     // 瀵煎叆 Excel
-                    let arrFileHandle = await window.showOpenFilePicker()
-                    let file = await arrFileHandle[0].getFile();
-                    upload(file);
+                    $("#importExcel").trigger("click");
+                    // let arrFileHandle = await window.showOpenFilePicker()
+                    // let file = await arrFileHandle[0].getFile();
+                    // upload(file);
                     break
                 case 3:
                     // 瀵煎嚭 Excel
@@ -385,10 +386,11 @@
     }
 }
 
-function upload(file){
-    if(!file) {
+function upload(obj){
+    if(!obj.files) {
         return;
     }
+    var file = obj.files[0];
     admin.confirm('纭鍚屾 [' + file.name +'] 鏂囦欢鍚楋紵', function (index) {
         layer.load(1, {shade: [0.1,'#fff']});
         var url = baseUrl + "/cstmr/excel/import/auth";
diff --git a/src/main/webapp/views/cstmr/cstmr.html b/src/main/webapp/views/cstmr/cstmr.html
index a244bcb..3c414bd 100644
--- a/src/main/webapp/views/cstmr/cstmr.html
+++ b/src/main/webapp/views/cstmr/cstmr.html
@@ -84,6 +84,7 @@
                 </div>
             </div>
             <table class="layui-hide" id="cstmr" lay-filter="cstmr"></table>
+            <input style="display:none" id="importExcel" type="file" onchange="upload(this)" >
         </div>
     </div>
     <div class="layui-card" style="margin-bottom: 0">

--
Gitblit v1.9.1