前端添加导入名单动画,区域管理添加区域树形图
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/RegionZTreeNodes.java b/src/main/java/com/supwisdom/dlpay/system/bean/RegionZTreeNodes.java
new file mode 100644
index 0000000..635ea74
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/system/bean/RegionZTreeNodes.java
@@ -0,0 +1,49 @@
+package com.supwisdom.dlpay.system.bean;

+

+public class RegionZTreeNodes {

+    private String id;

+    private String pId;

+    private String  name;

+    private boolean isParent;

+    private boolean open;

+

+    public String getId() {

+        return id;

+    }

+

+    public void setId(String id) {

+        this.id = id;

+    }

+

+    public String getpId() {

+        return pId;

+    }

+

+    public void setpId(String pId) {

+        this.pId = pId;

+    }

+

+    public String getName() {

+        return name;

+    }

+

+    public void setName(String name) {

+        this.name = name;

+    }

+

+    public boolean isParent() {

+        return isParent;

+    }

+

+    public void setParent(boolean parent) {

+        isParent = parent;

+    }

+

+    public boolean isOpen() {

+        return open;

+    }

+

+    public void setOpen(boolean open) {

+        this.open = open;

+    }

+}

diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java b/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java
index c5409c5..605449e 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java
@@ -9,6 +9,7 @@
 import com.supwisdom.dlpay.system.bean.AllotBuildingBean;

 import com.supwisdom.dlpay.system.bean.BuildingBean;

 import com.supwisdom.dlpay.system.bean.RegionBean;

+import com.supwisdom.dlpay.system.bean.RegionZTreeNodes;

 import com.supwisdom.dlpay.system.domain.*;

 import com.supwisdom.dlpay.system.page.Pagination;

 import com.supwisdom.dlpay.system.service.SystemService;

@@ -423,6 +424,21 @@
         return map;

     }

 

+

+    /**

+     * 填充区域树

+     * @param operator

+     * @return

+     */

+    @ResponseBody

+    @RequestMapping("/fillRegionTree")

+    public Map fillRegionTree(@AuthenticationPrincipal TOperator operator){

+        Map map = new HashMap();

+        List<RegionZTreeNodes> regionTreeList = systemService.getAllRegionTreeList();

+        map.put("regionTree", regionTreeList);

+        return map;

+    }

+

     /**

      * 根据查询条件分页获取楼栋

      * @param request

diff --git a/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java b/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
index d9402a6..ff84e30 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
@@ -3,6 +3,7 @@
 

 import com.supwisdom.dlpay.ncmgr.domain.TBuilding;

 import com.supwisdom.dlpay.system.bean.AllotBuildingBean;

+import com.supwisdom.dlpay.system.bean.RegionZTreeNodes;

 import com.supwisdom.dlpay.system.domain.*;

 import com.supwisdom.dlpay.system.page.Pagination;

 

@@ -80,6 +81,9 @@
     //修改区域

     public boolean updateRegion(TRegion bean);

 

+    //获取区域树形数据

+    public List<RegionZTreeNodes> getAllRegionTreeList();

+

 

     //根据查询条件分页获取所有楼栋

     public Pagination getSystemBuildingList(String regionid,String buildingname,int pageNo,int pageSize);

diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java b/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java
index 9205dda..3cbe761 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java
@@ -2,6 +2,7 @@
 

 import com.supwisdom.dlpay.ncmgr.domain.TBuilding;

 import com.supwisdom.dlpay.system.bean.AllotBuildingBean;

+import com.supwisdom.dlpay.system.bean.RegionZTreeNodes;

 import com.supwisdom.dlpay.system.dao.BuildingDao;

 import com.supwisdom.dlpay.system.dao.DictionaryDao;

 import com.supwisdom.dlpay.system.dao.OperatorDao;

@@ -12,6 +13,7 @@
 import org.springframework.beans.factory.annotation.Autowired;

 import org.springframework.stereotype.Service;

 

+import java.util.ArrayList;

 import java.util.List;

 

 @Service

@@ -149,6 +151,22 @@
         return regionDao.updateRegion(bean);

     }

 

+    @Override

+    public List<RegionZTreeNodes> getAllRegionTreeList() {

+        List<RegionZTreeNodes> regionZTreeNodesList = new ArrayList<>();

+        List<TRegion> regions = regionDao.getAllRegions();

+        for (TRegion region:regions){

+            RegionZTreeNodes node = new RegionZTreeNodes();

+            node.setId(region.getRegionid());

+            node.setName(region.getRegionname()+"-"+region.getLevel()+"级");

+            node.setpId(region.getParentid());

+            node.setParent(false);

+            regionZTreeNodesList.add(node);

+        }

+

+        return regionZTreeNodesList;

+    }

+

 

     @Override

     public Pagination getSystemBuildingList(String regionid, String buildingname, int pageNo, int pageSize) {

diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index b17f28c..3421309 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -31,6 +31,8 @@
 server.tomcat.uri-encoding=UTF-8
 
 ################################################
+
+spring.servlet.multipart.max-file-size=10MB
 # user password
 auth.password.bcrypt.length=10
 
diff --git a/src/main/resources/templates/doorlist/impCustomerlist.html b/src/main/resources/templates/doorlist/impCustomerlist.html
index 884f36b..89a31b4 100644
--- a/src/main/resources/templates/doorlist/impCustomerlist.html
+++ b/src/main/resources/templates/doorlist/impCustomerlist.html
@@ -7,7 +7,10 @@
         </span>
     </div>
     <div class="layui-card-body">
-        <div id="impCustomerlist">
+        <div id="impCustomerlist" v-loading.lock="loading"
+             element-loading-text="拼命导入ing不要取消~~~"
+             element-loading-spinner="el-icon-loading"
+             element-loading-background="rgba(0, 0, 0, 0.8)">
             <el-alert
                     title="人员名单导入步骤:"
                     type="info"
@@ -56,6 +59,8 @@
             exceltable:[],
             textfield:'',
 
+            loading:false,
+
             per_sheetname:'sheet1',
             impDoorForm:{
             }
@@ -81,16 +86,23 @@
                 var path=JSON.parse(JSON.stringify(this.textfield));
                 console.log(path);
                 var file=path.substring(path.lastIndexOf(".") + 1);
+
                 impCustomerlist_uploadExcel(path,file);
                 this.textfield='';
 
+
             },
+
+
+
         },
         created:function(){
 
         }
     });
 
+
+
     function impCustomerlist_uploadExcel(path,file) {
         if (path.length == 0) {
             layer.msg('请选择要上传的文件!', {icon: 2, time: 1000});
@@ -113,6 +125,7 @@
 
                     $('#excelTable').show();
                     var token=$("meta[name='_csrf_token']").attr("value");
+                    impCustomerlist_vue.loading = true;
                     var options = {
                         success:   "",
                         type:      'post',
@@ -126,6 +139,7 @@
                         //data: formData,
                         success:function(data){
                             //console.log(data);
+                            impCustomerlist_vue.loading = false;
                             if (data.flag==1){
                                 var tmpStr = "共:"+data.imp_totCnt+"条,成功:"+data.imp_succCnt+"条,失败:"+data.imp_errCnt+"条";
                                 layer.alert('人员名单导入完成-->'+tmpStr, {icon: 6});
diff --git a/src/main/resources/templates/system/region.html b/src/main/resources/templates/system/region.html
index bdcb65d..5bdffbe 100644
--- a/src/main/resources/templates/system/region.html
+++ b/src/main/resources/templates/system/region.html
@@ -19,11 +19,11 @@
                         </div>
                     </div>
                 </div>
-                <div class="col-md-3">
+                <div class="col-md-6">
                     <div class="form-group">
                         <button type="button" class="btn btn-info" @click="query" id="region_qrybtn">查 询</button>
                         <button class="btn btn-primary" type="button" @click="addRegion">添加区域</button>
-                        <!--<button class="btn btn-info" type="button" @click="lookTree">查看区域树形图</button>-->
+                        <button class="btn btn-info" type="button" @click="lookTree">查看区域树形图</button>
                     </div>
                 </div>
             </el-form>
@@ -143,6 +143,23 @@
                     <el-button type="primary" @click="saveRegion('regionDiaForm')">确 定</el-button>
                 </div>
             </el-dialog>
+
+            <!--区域树形图-->
+            <el-dialog :title="regionTreetitile" :visible.sync="dialogTreeVisible"  :modal-append-to-body='false' >
+                <el-input
+                        placeholder="输入关键字进行过滤"
+                        v-model="filterText">
+                </el-input>
+
+                <el-tree
+                        class="filter-tree"
+                        :data="regionTreeList"
+                        :props="defaultProps"
+                        default-expand-all
+                        :filter-node-method="filterNode"
+                        ref="tree">
+                </el-tree>
+            </el-dialog>
         </div>
     </div>
 </div>
@@ -161,6 +178,7 @@
                 regionname:''
             },
             dialogFormVisible: false,
+            dialogTreeVisible: false,
             regionidDis:false,
             dlgAllotDevVisible:false,
             parentRegions:[],
@@ -186,6 +204,19 @@
                 ]
             },
             regiontitile:'添加区域',
+            regionTreetitile:'区域树形图',
+
+            filterText: '',
+            regionTreeList: [],
+            defaultProps: {
+                children: 'children',
+                label: 'label'
+            }
+        },
+        watch:{
+            filterText(val) {
+                this.$refs.tree.filter(val);
+            }
         },
         methods:{
             handleSizeChange:function(val) {
@@ -247,6 +278,15 @@
             },
             levelform: function (row, column, cellValue) {
                 return row.level+"级";
+            },
+            lookTree:function () {
+                region_fillTree(this);
+                this.dialogTreeVisible = true;
+
+            },
+            filterNode(value, data) {
+                if (!value) return true;
+                return data.label.indexOf(value) !== -1;
             }
         },
         created:function(){
@@ -355,9 +395,59 @@
         })
     }
 
-   /* function lookTree(){
-        alert(tree);
-    }*/
+    function region_fillTree(_self){
+        $.ajax({
+            type: "get",
+            url: encodeURI("[[@{/system/fillRegionTree}]]"),
+            dataType: "json",
+            contentType: "application/json",
+            success: function (data) {
+
+                _self.regionTreeList = getTreeData(data.regionTree) ;
+            }
+        });
+    }
+
+    function getTreeData(regionlst){
+        var f = [];
+
+        //获取第一级
+        for(var i=0;i<regionlst.length;i++){
+            if(regionlst[i].pId == 0){
+                f.push({
+                    id:regionlst[i].id,
+                    label:regionlst[i].name,
+                    children:[]
+                })
+            }
+        }
+        if(f.length>0){
+            //获取第二级
+            pushRegion(regionlst,f);
+        }
+        for(var i in f){
+            var s = f[i].children;
+            if(s.length>0){
+                pushRegion(regionlst,s);
+            }
+        }
+
+        return f;
+    }
+
+    function pushRegion(regionlst,pRe){
+        for(var i in regionlst){
+            for(var j in pRe){
+                if(regionlst[i].pId == pRe[j].id){
+                    pRe[j].children.push({
+                        id:regionlst[i].id,
+                        label:regionlst[i].name,
+                        children:[]
+                    })
+                }
+            }
+        }
+    }
 
 
     function region_saveData(_that,formdata,formName){