From 9a50a7ea9688a1e777f98713560e9c599d5064ae Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 08 三月 2023 18:01:34 +0800
Subject: [PATCH] 省市区三级联动修改

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java |   69 ++++++++++++++++++++++++++++------
 1 files changed, 56 insertions(+), 13 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java
index 55f20e3..a4b60b0 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java
@@ -13,6 +13,7 @@
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Controller;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -115,22 +116,13 @@
      * 跳转区域页面新增
      */
     @RequestMapping("/areaPageAdd")
-    public String areaPageAdd(Model model) {
-        List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0));
-        model.addAttribute("provinceList",tRegions);
-        return PREFIX + "tBranchOfficeAreaAdd.html";
-    }
-
-    /**
-     * 跳转区域页面编辑
-     */
-    @RequestMapping("/areaPageUpdate")
-    public String areaPageUpdate(String area,String areaId,Model model) {
+    public String areaPageAdd(String area,String areaId,Model model) {
+        String[] split1 = areaId.split("/");
         List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0));
         model.addAttribute("provinceList",tRegions);
         List<Integer> provinceIds = tRegions.stream().map(TRegion::getId).collect(Collectors.toList());
         // 查询市
-        List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", provinceIds));
+        List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", split1[0]));
         model.addAttribute("cityList",tRegions1);
 
         // 查询区
@@ -148,7 +140,6 @@
                 model.addAttribute("districtName","");
             }
 
-            String[] split1 = areaId.split("/");
             model.addAttribute("provinceId",split1[0]);
             model.addAttribute("cityId",split1[1]);
             if(split1.length>2) {
@@ -156,7 +147,55 @@
             }else {
                 model.addAttribute("districtId", "");
             }
+        }else {
+            model.addAttribute("provinceName","");
+            model.addAttribute("cityName","split[1]");
+            model.addAttribute("districtName","");
+
+            model.addAttribute("provinceId","");
+            model.addAttribute("cityId","split1[1]");
+            model.addAttribute("districtId", "");
         }
+        return PREFIX + "tBranchOfficeAreaAdd.html";
+    }
+
+    /**
+     * 跳转区域页面编辑
+     */
+    @RequestMapping("/areaPageUpdate")
+    public String areaPageUpdate(String area,String areaId,Model model) {
+
+        String[] split = area.split("/");
+        model.addAttribute("provinceName",split[0]);
+        model.addAttribute("cityName",split[1]);
+        if(split.length>2){
+            model.addAttribute("districtName",split[2]);
+        }else {
+            model.addAttribute("districtName","");
+        }
+
+        String[] split1 = areaId.split("/");
+        String provinceId = split1[0];
+        model.addAttribute("provinceId",split1[0]);
+        model.addAttribute("cityId",split1[1]);
+        if(split1.length>2) {
+            model.addAttribute("districtId", split1[2]);
+        }else {
+            model.addAttribute("districtId", "");
+        }
+
+        List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0));
+        model.addAttribute("provinceList",tRegions);
+//        List<Integer> provinceIds = tRegions.stream().map(TRegion::getId).collect(Collectors.toList());
+        // 查询市
+        List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", provinceId));
+        model.addAttribute("cityList",tRegions1);
+
+        // 查询区
+        List<Integer> cityIds = tRegions1.stream().map(TRegion::getId).collect(Collectors.toList());
+        List<TRegion> tRegions2 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", cityIds));
+        model.addAttribute("districtList",tRegions2);
+
         return PREFIX + "tBranchOfficeAreaUpdate.html";
     }
 
@@ -177,6 +216,10 @@
     @ResponseBody
     public Object areaCity(Integer parentId,Model model) {
         List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", parentId));
+        /*if(CollectionUtils.isEmpty(tRegions) && StringUtils.hasLength(parentName)){
+            TRegion parent = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("name", parentName));
+            tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", parentId));
+        }*/
         model.addAttribute("list",tRegions);
         return tRegions;
     }

--
Gitblit v1.7.1