From acf111c53912a96da9d142225a08ac20c6f1f454 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <913652501@qq.com>
Date: Tue, 14 Apr 2020 18:10:29 +0800
Subject: [PATCH] 添加  组织结构的功能

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysOrganizationMapper.xml                               |    2 
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysOrganizationService.java         |   16 +
 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java                               |    4 
 kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java                                 |   19 +
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java |   11 +
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysOrganizationVo.java                    |    9 +
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html                                                |  294 ++++++++++++++++++++++++++++++++++++
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java |   98 ++++++++++++
 8 files changed, 444 insertions(+), 9 deletions(-)

diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysOrganizationVo.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysOrganizationVo.java
new file mode 100644
index 0000000..787b70d
--- /dev/null
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysOrganizationVo.java
@@ -0,0 +1,9 @@
+package com.kidgrow.usercenter.vo;
+
+import com.kidgrow.common.model.SysOrganization;
+import lombok.Data;
+
+@Data
+public class SysOrganizationVo extends SysOrganization {
+    private String orgParentName;
+}
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysOrganizationService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysOrganizationService.java
index 0b7dac8..c6df0c7 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysOrganizationService.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysOrganizationService.java
@@ -39,7 +39,21 @@
      * @return
      */
     List<SysOrganization> findListByUserId(Long userId);
-
+    /**
+     * 根据map  查询,  将参数中的  access_token 去掉
+     * @param params
+     * @return
+     */
     ResultBody getListByMap(Map<String, Object> params);
+
+
+    ResultBody updateEnabled(Map<String, Object> params);
+
+    /**
+     * 获取树状图
+     * @param params
+     * @return
+     */
+    ResultBody getTree(Map<String, Object> params);
 }
 
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java
index 9df73fd..9174b7a 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java
@@ -1,5 +1,6 @@
 package com.kidgrow.usercenter.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.kidgrow.common.model.PageResult;
 import com.kidgrow.common.model.ResultBody;
@@ -7,12 +8,19 @@
 import com.kidgrow.common.service.impl.SuperServiceImpl;
 import com.kidgrow.usercenter.mapper.SysOrganizationMapper;
 import com.kidgrow.usercenter.service.ISysOrganizationService;
+import com.kidgrow.usercenter.vo.SysOrganizationVo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.cglib.beans.BeanCopier;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
@@ -47,14 +55,102 @@
         return baseMapper.findByObject(sysOrganization);
     }
 
+    /**
+     * 根据用户  获取组织
+     * @param userId
+     * @return
+     */
     @Override
     public List<SysOrganization> findListByUserId(Long userId) {
         return baseMapper.findListByUserId(userId);
     }
 
+    /**
+     * 根据map  查询,  将参数中的  access_token 去掉
+     * @param params
+     * @return
+     */
     @Override
     public ResultBody getListByMap(Map<String, Object> params) {
+        //将access_token  参数去掉
+        params.remove("access_token");
         List<SysOrganization> sysOrganizations = baseMapper.selectByMap(params);
-        return ResultBody.ok().data(sysOrganizations);
+        List<SysOrganizationVo> sysOrganizationVos=new ArrayList<>();
+        sysOrganizations.forEach(e ->{
+            if(e.getOrgParentId()!=null){
+                SysOrganizationVo sysOrganizationVo=new SysOrganizationVo();
+                BeanCopier beanCopier = BeanCopier.create(SysOrganization.class, SysOrganizationVo.class, false);
+                beanCopier.copy(e,sysOrganizationVo,null);
+                SysOrganization sysOrganization = baseMapper.selectById(e.getOrgParentId());
+                if(sysOrganization!=null){
+                    sysOrganizationVo.setOrgParentName(sysOrganization.getOrgName());
+                }
+                sysOrganizationVos.add(sysOrganizationVo);
+            }
+        });
+        return ResultBody.ok().data(sysOrganizationVos);
+    }
+
+    /**
+     * 更新状态
+     * @param params
+     * @return
+     */
+    @Override
+    public ResultBody updateEnabled(Map<String, Object> params) {
+        Long id = MapUtils.getLong(params, "id");
+        if(id==null){
+            return ResultBody.failed("请选取一条数据");
+        }
+        SysOrganization sysOrganization = baseMapper.selectById(id);
+        if (sysOrganization != null) {
+            sysOrganization.setEnabled(MapUtils.getBoolean(params,"enabled"));
+            int i = baseMapper.updateById(sysOrganization);
+            if(i>0){
+                return  ResultBody.ok();
+            }else {
+                return ResultBody.failed("更新失败");
+            }
+        }else {
+            return ResultBody.failed("更新失败");
+        }
+    }
+
+    /**
+     * 获取树状图
+     * @param params
+     * @return
+     */
+    @Override
+    public ResultBody getTree(Map<String, Object> params) {
+        List<SysOrganization> sysOrganizations = baseMapper.selectByMap(params);
+        List<Map<String, Object>> treeData = getTreeData(Long.valueOf("-1"), sysOrganizations);
+        return ResultBody.ok().data(treeData);
+    }
+
+    /**
+     * 将数据  封装成  tree   (递归方式)
+     * @param MyId
+     * @param sysOrganizations
+     * @return
+     */
+    public List<Map<String,Object>> getTreeData(Long MyId,List<SysOrganization> sysOrganizations){
+        List<Map<String,Object>> listMap=new ArrayList<>();
+        Map<Long, SysOrganization> collect = sysOrganizations.stream().collect(Collectors.toMap(SysOrganization::getId, SysOrganization -> SysOrganization));
+        List<Long> idList = sysOrganizations.stream().filter(e -> e.getOrgParentId()==MyId).map(e -> e.getId()).collect(Collectors.toList());
+        for (Long id:idList
+             ) {
+            Map<String,Object> map=new HashMap<>();
+            map.put("id",id);
+            map.put("name",collect.get(id).getOrgName());
+            map.put("level",collect.get(id).getOrgLevel());
+            List<Long> childs = sysOrganizations.stream().filter(e -> e.getOrgParentId() == id).map(e -> e.getId()).collect(Collectors.toList());
+            if(childs.size()>0){
+                List<Map<String, Object>> treeData = getTreeData(id, sysOrganizations);
+                map.put("children",treeData);
+            }
+            listMap.add(map);
+        }
+        return listMap;
     }
 }
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysOrganizationMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysOrganizationMapper.xml
index 6ce2b6d..df3f4fe 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysOrganizationMapper.xml
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysOrganizationMapper.xml
@@ -25,7 +25,7 @@
                 and org_parent_id = #{p.orgParentId}
             </if>
             <if test="p.orgName != null and p.orgName !=''">
-                and org_name = #{p.orgName}
+                and org_name like '%${p.orgName}%'
             </if>
             <if test="p.orgOrder != null and p.orgOrder !=''">
                 and org_order = #{p.orgOrder}
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java
index 706b955..43d1c19 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java
@@ -58,6 +58,17 @@
         return sysOrganizationService.getListByMap(params);
     }
 
+    @ApiOperation(value = "获取tree")
+    @GetMapping("getTree")
+    public ResultBody getTree(@RequestParam Map<String, Object> params) {
+        return sysOrganizationService.getTree(params);
+    }
+    @ApiOperation(value = "更新状态")
+    @GetMapping("updateEnabled")
+    public ResultBody updateEnabled(@RequestParam Map<String, Object> params) {
+        return sysOrganizationService.updateEnabled(params);
+    }
+
     /**
      * 查询
      */
diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java
index 7c300f1..8df2cad 100644
--- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java
@@ -11,6 +11,8 @@
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import org.hibernate.validator.constraints.*;
+
+import javax.validation.constraints.NotNull;
 import java.util.Date;
 
 /**
@@ -32,7 +34,7 @@
             /**
     * 节点级别取值 0-9
     */
-        @NotBlank(message = "节点级别取值 0-9不能为空")
+        @NotNull(message = "节点级别取值 0-9不能为空")
         private Integer orgLevel;
             /**
     * 节点属性(集团/公司/部门等,取值0,1,2,3,4)
diff --git a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java
index 6032036..287b8d5 100644
--- a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java
+++ b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java
@@ -3,6 +3,7 @@
 import cn.hutool.core.collection.CollectionUtil;
 import com.kidgrow.common.constant.CommonConstant;
 import com.kidgrow.common.constant.SecurityConstants;
+import com.kidgrow.common.model.ResultBody;
 import com.kidgrow.common.model.SysOrganization;
 import com.kidgrow.common.model.SysUser;
 import com.kidgrow.common.utils.AddrUtil;
@@ -69,11 +70,19 @@
                 List<SysOrganization> organizations = (List<SysOrganization>)user.getOrganizations();
                 //如果有组织架构
                 if(organizations!=null && organizations.size()==2){
-                    ctx.addZuulRequestHeader(SecurityConstants.USER_ORG_ID_HEADER,String.valueOf(organizations.get(0).getId()));
-                    ctx.addZuulRequestHeader(SecurityConstants.USER_ORG_NAME_HEADER, URLEncoder.encode(organizations.get(0).getOrgName(),"UTF-8"));
-                    ctx.addZuulRequestHeader(SecurityConstants.USER_DEP_ID_HEADER,String.valueOf(organizations.get(1).getId()));
-                    ctx.addZuulRequestHeader(SecurityConstants.USER_DEP_NAME_HEADER,URLEncoder.encode(organizations.get(1).getOrgName(),"UTF-8"));
-                    tenantId=String.valueOf(organizations.get(0).getId());
+                   if(organizations.get(0)!=null){
+                       ctx.addZuulRequestHeader(SecurityConstants.USER_ORG_ID_HEADER,String.valueOf(organizations.get(0).getId()));
+                       ctx.addZuulRequestHeader(SecurityConstants.USER_ORG_NAME_HEADER, URLEncoder.encode(organizations.get(0).getOrgName(),"UTF-8"));
+                       tenantId=String.valueOf(organizations.get(0).getId());
+                   }else{
+                        return ResultBody.failed("您的组织,已经被禁用,请联系管理员");
+                   }
+                   if(organizations.get(1)!=null){
+                       ctx.addZuulRequestHeader(SecurityConstants.USER_DEP_ID_HEADER,String.valueOf(organizations.get(1).getId()));
+                       ctx.addZuulRequestHeader(SecurityConstants.USER_DEP_NAME_HEADER,URLEncoder.encode(organizations.get(1).getOrgName(),"UTF-8"));
+                   }else {
+                       return ResultBody.failed("您组织部门或者科室,已经被禁用,请联系管理员");
+                   }
                 }
 //                log.error("用户ID写入Header成功,用户ID为:"+String.valueOf(user.getId()));
             }
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html
new file mode 100644
index 0000000..1f9bee4
--- /dev/null
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html
@@ -0,0 +1,294 @@
+<div class="layui-card">
+    <div class="layui-card-header">
+        <h2 class="header-title">组织结构</h2>
+        <span class="layui-breadcrumb pull-right">
+            <a href="#!home_console">首页</a>
+            <a><cite>组织结构</cite></a>
+        </span>
+    </div>
+    <div class="layui-card-body">
+        <div class="layui-form toolbar">
+            <input id="orgName-search" class="layui-input search-input" type="text" placeholder="请输入名称" />&emsp;
+            <button id="app-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
+            <button id="organization-add" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
+        </div>
+
+        <!-- 数据表格 -->
+        <table class="layui-table" id="organization-table" lay-filter="organization-table"></table>
+    </div>
+</div>
+
+<!-- 表格操作列 -->
+<script type="text/html" id="organization-table-bar">
+    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
+</script>
+
+<!-- 表格状态列 -->
+<script type="text/html" id="organization-tpl-state">
+    <input type="checkbox" lay-filter="organization-tpl-state" value="{{d.id}}" lay-skin="switch" lay-text="正常|锁定"
+           {{d.enabled==true?'checked':''}}/>
+</script>
+
+<!-- 表单弹窗 -->
+<script type="text/html" id="app-model">
+    <form id="app-form" lay-filter="app-form" class="layui-form model-form">
+        <input name="id" type="hidden"/>
+        <div class="layui-form-item">
+            <label class="layui-form-label">请选择:</label>
+            <div class="layui-input-block">
+                <div id="orgParentId-tree" class="demo-tree demo-tree-box"></div>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">上级组织:</label>
+            <div class="layui-input-block">
+                <input name="orgParentId" id="orgParentId" type="hidden" value="-1" class="layui-input" maxlength="20"/>
+            <input name="orgParentName" id="orgParentName" type="text"  class="layui-input" maxlength="20"/>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">组织类型:</label>
+            <div class="layui-input-block">
+                <select id="doctorRankId" name="orgAttr"   placeholder="选择一个职称" >
+                    <option value="">-请选择-</option>
+                    <option value="0">集团</option>
+                    <option value="1">公司/医院</option>
+                    <option value="2">部门/科室</option>
+                    <option value="3">子部门/子科室</option>
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">组织层级:</label>
+            <div class="layui-input-block">
+                       <select  name="orgLevel" id='orgLevel' disabled="true" placeholder="选择一个职称" >
+                        <option value="">-请选择-</option>
+                        <option value="0">1级</option>
+                        <option value="1">2级</option>
+                        <option value="2">3级</option>
+                        <option value="3">4级</option>
+                        <option value="4">5级</option>
+                        <option value="5">6级</option>
+                        <option value="6">7级</option>
+                        <option value="7">8级</option>
+                        <option value="8">9级</option>
+                    </select>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">组织名称:</label>
+            <div class="layui-input-block">
+                <input name="orgName"  type="text" class="layui-input" maxlength="20"/>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">组织状态:</label>
+            <div class="layui-input-block">
+                <input id="orgName-shi" name="enabled" value="true" title="启用" type="radio" class="layui-input" maxlength="20"/>
+                <input id="orgName-fou" name="enabled" value="false" title="禁用" type="radio" class="layui-input" maxlength="20"/>
+            </div>
+        </div>
+        <div class="layui-form-item model-form-footer">
+            <button class="layui-btn layui-btn-primary"  ew-event="closeDialog" type="button">取消</button>
+            <button class="layui-btn" id="sure" lay-filter="user-form-submit" lay-submit>保存</button>
+        </div>
+    </form>
+</script>
+
+
+<script>
+    layui.use(['form', 'table', 'laydate', 'util', 'tree', 'config', 'admin', 'treetable'], function () {
+        var form = layui.form;
+        var table = layui.table;
+        var config = layui.config;
+        var layer = layui.layer;
+        var util = layui.util;
+        var admin = layui.admin;
+        let treetable = layui.treetable;
+        //树形插件
+        var tree = layui.tree;
+        var layer = layui.layer
+            , $ = layui.jquery;
+
+        // 渲染表格
+        // 渲染表格
+        var renderTable = function (param) {
+            if (param) {
+                param.access_token = config.getToken().access_token;
+            } else {
+                param = {
+                    access_token: config.getToken().access_token
+                };
+            }
+            treetable.render({
+                treeColIndex: 1,
+                treeSpid: -1,
+                treeIdName: 'id',
+                treePidName: 'orgParentId',
+                elem: '#organization-table',
+                url: config.base_server + 'api-user/sysorganization/getListByMap',
+                where: param,
+                page: false,
+                cols: [[
+                    { type: 'numbers' },
+                    { field: 'orgName', align: 'right', title: '组织名称' },
+                    {
+                        field: 'orgAttr', align: 'right', title: '所属类型', templet: function (d) {
+                            //节点属性(集团/公司/部门等,取值0,1,2,3,4)
+                            if (d.orgAttr == 0) {
+                                return "集团";
+                            } else if (d.orgAttr == 1) {
+                                return "公司";
+                            } else if (d.orgAttr == 2) {
+                                return "部门";
+                            }
+                        }
+                    },
+                    { field: 'enabled', align: 'right', sort: true, templet: '#organization-tpl-state', title: '状态' },
+                    { toolbar: '#organization-table-bar', align: 'right', align: 'center', title: '操作' }
+                ]]
+            });
+        };
+
+        renderTable({ access_token: config.clientId, is_del: 0 });
+        // 工具条点击事件
+        table.on('tool(organization-table)', function (obj) {
+            var data = obj.data;
+            var layEvent = obj.event;
+            if (layEvent === 'edit') { // 查看详情
+                showEditModel(data);
+            } else if (layEvent === 'del') {
+                layer.confirm('确定删除此菜单吗?', function () {
+                    layer.load(2);
+                    let tenantId = $('#menu_clients').val();
+                    admin.req('api-user/sysorganization/' + obj.data.id + '?tenantId=' + tenantId, {}, function (data) {
+                        layer.closeAll('loading');
+                        if (0 === data.code) {
+                            layer.msg(data.msg, { icon: 1, time: 500 });
+                            renderTable({ tenantId: tenantId });
+                        } else {
+                            layer.msg(data.msg, { icon: 2, time: 500 });
+                        }
+                    }, 'DELETE');
+                });
+            }
+        });
+        // 修改menu状态
+        form.on('switch(organization-tpl-state)', function (obj) {
+            layer.load(2);
+            admin.req('api-user/sysorganization/updateEnabled', {
+                id: obj.elem.value,
+                enabled: obj.elem.checked ? true : false
+            }, function (data) {
+                layer.closeAll('loading');
+                if (data.code == 0) {
+
+                    layer.msg(data.msg, { icon: 1, time: 500 });
+                    renderTable({ access_token: config.clientId, is_del: 0 });
+                } else {
+                    layer.msg(data.msg, { icon: 2, time: 500 });
+                    $(obj.elem).prop('checked', !obj.elem.checked);
+                    form.render('checkbox');
+                }
+            }, 'GET');
+        });
+         // 添加按钮点击事件
+         $('#organization-add').click(function () {
+            showEditModel();
+        });
+        // 表单提交事件
+        form.on('submit(user-form-submit)', function (data) {
+            layer.load(2);
+            admin.req('api-user/sysorganization', JSON.stringify(data.field), function (data) {
+                layer.closeAll('loading');
+                if (data.code == 0) {
+                    // layer.msg(data.msg, { icon: 1, time: 500 });
+                    layer.closeAll();
+                    // treetable.reload('organization-table', {});
+                    renderTable({ access_token: config.clientId, is_del: 0 });
+                } else {
+                    layer.msg(data.msg, { icon: 2, time: 500 });
+                }
+            }, "POST");
+            return false;
+        });
+        // 搜索按钮点击事件
+        $('#app-btn-search').click(function () {
+            var keyword = $('#orgName-search').val();
+            var searchCount = 0;
+            $('#organization-table').next('.treeTable').find('.layui-table-body tbody tr td').each(function () {
+                $(this).css('background-color', 'transparent');
+                var text = $(this).text();
+                if (keyword !== '' && text.indexOf(keyword) >= 0) {
+                    $(this).css('background-color', 'rgba(250,230,160,0.5)');
+                    if (searchCount === 0) {
+                        $('.layui-tab-item.layui-show').stop(true);
+                        $('.layui-tab-item.layui-show').animate({ scrollTop: $(this).offset().top - 150 }, 500);
+                    }
+                    searchCount++;
+                }
+            });
+            if (keyword !== '' && searchCount === 0) {
+                layer.msg("没有匹配结果", { icon: 5, time: 500 });
+            } else {
+                treetable.expandAll('#organization-table');
+            }
+        });
+        var getData = function () {
+            admin.req('api-user/sysorganization/getTree', { is_del: 0 }, function (data) {
+                layer.closeAll('loading');
+                var data1 = [{
+                    name: '常用文件夹',
+                    id: 1,
+                    children: [
+                        { name: '所有未读', id: 11 },
+                        { name: '置顶邮件', id: 12 },
+                        { name: '标签邮件', id: 13 }]
+                }];
+                if (0 === data.code) {
+                    console.log(JSON.stringify(data.data))
+                    tree({
+                        elem: "#orgParentId-tree",
+                        nodes: data.data,
+                        click: function (node) {
+                            //将数据赋值
+                            $("#orgParentId").val(node.id)
+                            $("#orgParentName").val(node.name)
+                            $("#orgLevel").val(node.level+1)
+                            form.render('select');
+                        }
+                    });
+                    
+                } else {
+                    layer.msg(data.msg, { icon: 2, time: 500 });
+                }
+            }, 'get');
+        }
+        // // 显示编辑弹窗
+        var showEditModel = function (data) {
+            layer.open({
+                type: 1,
+                title: '查看详情',
+                area: '450px',
+                offset: '120px',
+                content: $('#app-model').html(),
+                success: function () {
+                    $('#app-form')[0].reset();
+                    $('#app-form').attr('method', 'POST');
+                    getData();
+                    if (data) {
+                        //
+                        form.val('app-form', data);
+                        $("#orgParentId").val(data.orgParentId);
+                        if (data.enabled) {
+                            $("#orgName-shi").prop("checked", true);
+                        } else {
+                            $("#orgName-fou").prop("checked", true);
+                        }
+                    }
+                }
+            });
+        };
+    });
+</script>
\ No newline at end of file

--
Gitblit v1.8.0