forked from kidgrow-microservices-platform

侯瑞军
2020-05-14 293d5042a773595ded45bdc9c69c4555ab9c5dd5
Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
# kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html
# kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/dataNeed.html
# kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/feedback.html
# kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/product.html
# kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/productdetail.html
# kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysdictionaries.html
# kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/verifyRecharge.html
15 files modified
384 ■■■■■ changed files
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java 2 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java 2 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java 6 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml 34 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java 14 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/attestation/app.html 11 ●●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/businessRecords.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html 37 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html 23 ●●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/menus.html 68 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/role.html 28 ●●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/sysArea.html 116 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/tokens.html 7 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user.html 32 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java
@@ -24,4 +24,6 @@
     * @return
     */
    List<SysUser> findList(Page<SysUser> page, @Param("u") Map<String, Object> params);
    Integer selectCountByMap(@Param("u")Map<String, Object> map);
}
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java
@@ -111,4 +111,6 @@
    ResultBody findAll(Map<String, Object> map);
    ResultBody getThisUserOrganizationUser(HttpServletRequest request);
    ResultBody findCountByMap(Map<String, Object> map);
}
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
@@ -324,4 +324,10 @@
        }
        return ResultBody.ok().data(sysUsers);
    }
    @Override
    public ResultBody findCountByMap(Map<String, Object> map) {
        Integer integer = baseMapper.selectCountByMap(map);
        return ResultBody.ok().data(integer);
    }
}
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml
@@ -34,10 +34,44 @@
            </if>
        </where>
    </sql>
    <sql id="where_map">
        <where>
            <if test="u.id != null and u.id != ''">
                and t.id like concat('%', #{u.id}, '%')
            </if>
            <if test="u.username != null and u.username != ''">
                and t.username = #{u.username}
            </if>
            <if test="u.nickname != null and u.nickname != ''">
                and t.nickname like concat('%', #{u.nickname}, '%')
            </if>
            <if test="u.enabled != null and u.enabled != ''">
                and t.enabled = #{u.enabled}
            </if>
            <if test="u.type != null and u.type != ''">
                and t.type = #{u.type}
            </if>
            <if test="u.searchKey != null and u.searchKey != '' and u.searchKey=='user_id'">
                and t.id  like concat('%', #{u.searchValue}, '%')
            </if>
            <if test="u.searchKey != null and u.searchKey != '' and u.searchKey=='username'">
                and t.username  like concat('%', #{u.searchValue}, '%')
            </if>
            <if test="u.searchKey != null and u.searchKey != '' and u.searchKey=='nick_name'">
                and t.nickname  like concat('%', #{u.searchValue}, '%')
            </if>
            <if test="u.searchKey != null and u.searchKey != '' and u.searchKey=='mobile'">
                and t.mobile  like concat('%', #{u.searchValue}, '%')
            </if>
        </where>
    </sql>
    <select id="findList" resultType="com.kidgrow.common.model.SysUser">
        select * from sys_user t
        <include refid="where" />
        order by t.id desc
    </select>
    <select id="selectCountByMap" parameterType="map" resultType="integer">
        select count(*) from  sys_user t <include refid="where_map" />
    </select>
</mapper>
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java
@@ -327,15 +327,25 @@
    }
    /**
     * 是否超级管理员
     * 根据map查询
     */
    private boolean checkAdmin(long id) {
        return id == 1L;
    }
    @PostMapping("/users/findAll")
    public ResultBody findAll(@RequestParam Map<String,Object> map) {
    public ResultBody findAll( @RequestBody  Map<String,Object> map) {
        return appUserService.findAll(map);
    }
    /**
     * 根据map查询   总个数
     * @param map
     * @return
     */
    @PostMapping("/users/findCountByMap")
    public ResultBody findCountByMap( @RequestBody  Map<String,Object> map) {
        return appUserService.findCountByMap(map);
    }
    /**
     * 获取当前用的 组织下的所有人员
     */
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/attestation/app.html
@@ -10,7 +10,7 @@
        <div class="layui-form toolbar">
        搜索:<input id="app-edit-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="app-btn-add" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
        <button id="app-btn-add" class="layui-btn icon-btn permissions" permissions="saveOrUpdate"><i class="layui-icon">&#xe654;</i>添加</button>
        </div>
        <!-- 数据表格 -->
@@ -20,8 +20,8 @@
<!-- 表格操作列 -->
<script type="text/html" id="app-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>
    <a class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="saveOrUpdate" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs permissions" permissions="clients-del" lay-event="del">删除</a>
</script>
<!-- 表单弹窗 -->
@@ -86,7 +86,10 @@
                {field: 'webServerRedirectUri',sort: true, title: '回调地址'},
                {field: 'authorizedGrantTypes',width:250, sort: true, title: 'oauth授权方式'},
                {align: 'center',width:150, toolbar: '#app-table-bar', title: '操作'}
            ]]
            ]],
            done:function(){
                permissionsInput();
            }
        });
        // 工具条点击事件
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/businessRecords.html
@@ -125,7 +125,7 @@
                { field: 'recordIp', width: 180, sort: true, title: 'IP' },
                { field: 'recordTitle', width: 300, sort: true, title: '标题' },
                { field: 'id', width: 250, align: 'center', toolbar: '#businessRecords-table-bar', sort: true, title: '查看详情' },// 0就诊数据 1筛查
                { field: 'createTime', width: 250, sort: true, title: '时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy年MM月dd日 HH:mm:ss')}}</div>" }
                { field: 'createTime', width: 250, sort: true, title: '时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" }
            ]]
        });
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
@@ -18,14 +18,14 @@
                        <option value="false">试用</option>
                    </select>&emsp;
                    <input name="hospitalName-seach" id="hospitalName-seach" placeholder="请输入医院名称" type="text"
                    class="layui-input search-input" maxlength="50" autocomplete="off" />&emsp;
                        class="layui-input search-input" maxlength="50" autocomplete="off" />&emsp;
                </div>
                <button id="app-btn-search" class="layui-btn icon-btn permissions" layt="abc"
                    permissions="sysdoctor-list"><i class="layui-icon">&#xe615;</i>搜索</button>
                <button id="doctor-btn-add" class="layui-btn icon-btn permissions" permissions="sysdoctor-edit"><i
                        class="layui-icon">&#xe654;</i>添加</button>
            <!-- 数据表格 -->
            <table class="layui-table" id="app-table" lay-filter="app-table"></table>
                <!-- 数据表格 -->
                <table class="layui-table" id="app-table" lay-filter="app-table"></table>
            </div>
        </div>
    </div>
@@ -290,7 +290,7 @@
        <div class="layui-form-item">
            <label class="layui-form-label" >登录帐号</label>
            <div class="layui-input-block">
                <input name="username"  type="text" class="layui-input" maxlength="15" lay-verify="required" required/>
                <input name="username" id="username" type="text" class="layui-input" maxlength="15" lay-verify="required" required/>
            </div>
        </div>
    </div>
@@ -467,9 +467,9 @@
            headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
            page: true,
            cols: [[
                { field: 'hospitalName', width: 260, title: '医院名称' },
                { field: 'hospitalName', width: 180, title: '医院名称' },
                { field: 'doctorName', width: 120, title: '医生姓名' },
                { field: 'doctorRank', width: 180, title: '职称' },
                { field: 'doctorRank', width: 100, title: '职称' },
                { field: 'username', width: 150, title: '登录帐号' },
                { field: 'doctorTel', width: 150, title: '联系方式' },
                {
@@ -483,9 +483,10 @@
                    }
                },
                { field: 'enabled', width: 100, align: 'center', templet: '#doctor-tpl-state', title: '状态' },
                { field: 'createTime', width: 150, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy-MM-dd HH:mm')}}</div>" },
                // { field: 'createTime', width: 150, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy-MM-dd HH:mm')}}</div>" },
                { field: 'createTime', width: 100, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" },
                { field: 'serverUserName', width: 100, title: '销售代表' },
                { width: 200,align: 'center', toolbar: '#doctor-table-bar', title: '操作' },
                { width: 300, align: 'center', toolbar: '#doctor-table-bar', title: '操作' },
            ]],
            done: function (res, curr, count) {
                permissionsInput();
@@ -532,8 +533,7 @@
        // 搜索按钮点击事件
        $('#app-btn-search').click(function () {
            if(strUtil.isEmpty($("#hospitalName-seach").val()))
            {
            if (strUtil.isEmpty($("#hospitalName-seach").val())) {
                $("#hospitalId").val("");
            }
            var doctorState = $('#doctorState').val();
@@ -594,9 +594,26 @@
                        $('#hospitalName-add').append(new Option(item.hospitalName, item.id, false, selected));
                    })
                    form.render();
                    $("#username").blur(function () {
                        username_is_usered("username");
                    })
                }
            });
        };
        //判断用户名是否被使用
        var username_is_usered=function(username_id){
            var username=$("#"+username_id).val()
            admin.req('api-user/users/findCountByMap',JSON.stringify({username:username}),  function (data) {
                        if (data.code == 0) {
                            if(data.data>0){
                                $("#"+username_id).val("")
                                layer.msg("该登录帐号已经使用",{ icon: 2, time: 500 })
                            }
                        } else {
                            layer.msg(data.msg, { icon: 2, time: 500 });
                        }
                    }, 'post');
        }
        // 显示编辑弹窗
        var showEditModel = function (data, flag) {
            var title = "";
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html
@@ -133,7 +133,7 @@
                    }
                },
                { field: 'createUserName', width: 300, sort: true, title: '创建者' },
                { field: 'createTime', width: 250, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy年MM月dd日 HH:mm:ss')}}</div>" },
                { field: 'createTime', width: 250, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" },
                { field: 'enabled', width: 100, sort: true, templet: '#doctor-templete-tpl-state', title: '状态' },
                { field: 'recordTitle', width: 300, toolbar: '#doctor-templete-table-bar', sort: true, title: '操作' },
            ]],
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html
@@ -9,8 +9,8 @@
    <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>
            <button id="app-btn-search" class="layui-btn icon-btn permissions" permissions="sysorganization-list"><i class="layui-icon">&#xe615;</i>搜索</button>
            <button id="organization-add" class="layui-btn icon-btn permissions" permissions="sysorganization-edit"><i class="layui-icon">&#xe654;</i>添加</button>
        </div>
        <!-- 数据表格 -->
@@ -20,8 +20,8 @@
<!-- 表格操作列 -->
<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>
    <a class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="sysorganization-edit" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs permissions" permissions="sysorganization-del" lay-event="del">删除</a>
</script>
<!-- 表格状态列 -->
@@ -142,14 +142,17 @@
                                return "公司/医院";
                            } else if (d.orgAttr == 2) {
                                return "部门/科室";
                            }else{
                            } else {
                                return "子部门/子科室";
                            }
                        }
                    },
                    { field: 'enabled', align: 'right', sort: true, templet: '#organization-tpl-state', title: '状态' },
                    { toolbar: '#organization-table-bar', align: 'right', align: 'center', title: '操作' }
                ]]
                ]],
                done: function () {
                    permissionsInput();
                }
            });
        };
@@ -195,8 +198,8 @@
                }
            }, 'GET');
        });
         // 添加按钮点击事件
         $('#organization-add').click(function () {
        // 添加按钮点击事件
        $('#organization-add').click(function () {
            showEditModel();
        });
        // 表单提交事件
@@ -257,11 +260,11 @@
                            //将数据赋值
                            $("#orgParentId").val(node.id)
                            $("#orgParentName").val(node.name)
                            $("#orgLevel").val(node.level+1)
                            $("#orgLevel").val(node.level + 1)
                            form.render('select');
                        }
                    });
                } else {
                    layer.msg(data.msg, { icon: 2, time: 500 });
                }
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/menus.html
@@ -2,16 +2,17 @@
    <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>
            <a href="#!home_console">首页</a>
            <a><cite>菜单管理</cite></a>
        </span>
    </div>
    <div class="layui-card-body">
        <div class="layui-form toolbar">
            所属应用:<select id="menu_clients" lay-filter="menu_clients"></select>
            &emsp;搜索:<input id="menus-edit-search" class="layui-input search-input" type="text" placeholder="输入关键字"/>&emsp;
            &emsp;搜索:<input id="menus-edit-search" class="layui-input search-input" type="text"
                placeholder="输入关键字" />&emsp;
            <button id="menus-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
            <button id="menus-btn-add" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
            <button id="menus-btn-add" class="layui-btn icon-btn permissions" permissions="saveOrUpdate"><i class="layui-icon">&#xe654;</i>添加</button>
            <button id="menus-btn-expand" class="layui-btn">全部展开</button>
            <button id="menus-btn-fold" class="layui-btn">全部折叠</button>
        </div>
@@ -24,8 +25,8 @@
<!-- 表格操作列 -->
<script type="text/html" id="menus-state">
<!--    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="add">下级</a>-->
    <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>
<a class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="saveOrUpdate" lay-event="edit">修改</a>
<a class="layui-btn layui-btn-danger layui-btn-xs permissions" permissions="menus-del" lay-event="del">删除</a>
</script>
@@ -37,7 +38,7 @@
<script>
    layui.use(['form', 'table', 'util', 'config', 'admin', 'formSelects', 'treetable'],function () {
    layui.use(['form', 'table', 'util', 'config', 'admin', 'formSelects', 'treetable'], function () {
        let table = layui.table;
        let layer = layui.layer;
        let admin = layui.admin;
@@ -64,13 +65,13 @@
                where: param,
                page: false,
                cols: [[
                    {type: 'numbers'},
                    {field: 'name', minWidth: 200, title: '菜单名称'},
                    {field: 'tenantId', minWidth: 80, title: '应用标识'},
                    {field: 'url', title: '菜单url'},
                    {field: 'path', title: '菜单path'},
                    {field: 'css',  align: 'center', title: '样式'},
                    {field: 'sort', width: 80, align: 'center', title: '排序号'},
                    { type: 'numbers' },
                    { field: 'name', minWidth: 200, title: '菜单名称' },
                    { field: 'tenantId', minWidth: 80, title: '应用标识' },
                    { field: 'url', title: '菜单url' },
                    { field: 'path', title: '菜单path' },
                    { field: 'css', align: 'center', title: '样式' },
                    { field: 'sort', width: 80, align: 'center', title: '排序号' },
                    {
                        field: 'type', width: 80, align: 'center', templet: function (d) {
                            if (d.type === 2) {
@@ -83,12 +84,15 @@
                            }
                        }, title: '类型'
                    },
                    {field: 'enabled', width: 100,sort: true, templet: '#menu-tpl-state', title: '状态'},
                    {templet: '#menus-state', width: 120, align: 'center', title: '操作'}
                ]]
                    { field: 'enabled', width: 100, sort: true, templet: '#menu-tpl-state', title: '状态' },
                    { templet: '#menus-state', width: 120, align: 'center', title: '操作' }
                ]],
                done: function () {
                    permissionsInput();
                }
            });
        };
        renderTable({tenantId: config.clientId});
        renderTable({ tenantId: config.clientId });
        // 获取应用列表
        layer.load(2);
@@ -96,7 +100,7 @@
            layer.closeAll('loading');
            if (0 === data.code) {
                let selected = false;
                $.each(data.data,function(index,item){
                $.each(data.data, function (index, item) {
                    if (config.clientId === item.clientId) {
                        selected = true;
                    } else {
@@ -107,7 +111,7 @@
                })
                form.render();
            } else {
                layer.msg(data.msg, {icon: 2, time: 500});
                layer.msg(data.msg, { icon: 2, time: 500 });
            }
        }, 'GET');
@@ -120,9 +124,9 @@
            }, function (data) {
                layer.closeAll('loading');
                if (data.code == 0) {
                    layer.msg(data.msg, {icon: 1, time: 500});
                    layer.msg(data.msg, { icon: 1, time: 500 });
                } else {
                    layer.msg(data.msg, {icon: 2, time: 500});
                    layer.msg(data.msg, { icon: 2, time: 500 });
                    $(obj.elem).prop('checked', !obj.elem.checked);
                    form.render('checkbox');
                }
@@ -140,13 +144,13 @@
                layer.confirm('确定删除此菜单吗?', function () {
                    layer.load(2);
                    let tenantId = $('#menu_clients').val();
                    admin.req('api-user/menus/'+obj.data.id+'?tenantId='+tenantId, {}, function (data) {
                    admin.req('api-user/menus/' + 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});
                            layer.msg(data.msg, { icon: 1, time: 500 });
                            renderTable({ tenantId: tenantId });
                        } else {
                            layer.msg(data.msg, {icon: 2, time: 500});
                            layer.msg(data.msg, { icon: 2, time: 500 });
                        }
                    }, 'DELETE');
                });
@@ -157,7 +161,7 @@
        var showEditModel = function (data) {
            let tenantId = $('#menu_clients').val();
            let title = data ? '修改菜单' : '添加菜单';
            if (data){
            if (data) {
                data.type = data.type.toString();
                data.hidden = data.hidden.toString();
            } else {
@@ -170,7 +174,7 @@
                title: title,
                path: 'pages/system/menus_form.html',
                finish: function () {
                    renderTable({tenantId: tenantId});
                    renderTable({ tenantId: tenantId });
                }
            });
        };
@@ -191,13 +195,13 @@
                    $(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);
                        $('.layui-tab-item.layui-show').animate({ scrollTop: $(this).offset().top - 150 }, 500);
                    }
                    searchCount++;
                }
            });
            if (keyword !== '' && searchCount === 0) {
                layer.msg("没有匹配结果", {icon: 5, time: 500});
                layer.msg("没有匹配结果", { icon: 5, time: 500 });
            } else {
                treetable.expandAll('#menus-table');
            }
@@ -212,8 +216,8 @@
        });
        // 应用下来框点击事件
        form.on('select(menu_clients)', function(data){
            renderTable({tenantId: data.value});
        form.on('select(menu_clients)', function (data) {
            renderTable({ tenantId: data.value });
        });
    });
</script>
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/role.html
@@ -18,7 +18,7 @@
            </select>&emsp;
            <input id="role-edit-value" class="layui-input search-input" type="text" placeholder="输入关键字" />&emsp;
            <button id="role-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
            <button id="role-btn-add" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
            <button id="role-btn-add" class="layui-btn icon-btn permissions" permissions="saveOrUpdate"><i class="layui-icon">&#xe654;</i>添加</button>
        </div>
        <!-- 数据表格 -->
@@ -102,10 +102,10 @@
<!-- 表格操作列 -->
<script type="text/html" id="role-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>
    <a class="layui-btn layui-btn-xs" lay-event="auth">权限分配</a>
    <a class="layui-btn layui-btn-xs" lay-event="auth_role">分配数据权限</a>
    <a class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="updateEnabled" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs permissions" permissions="role-del" lay-event="del">删除</a>
    <a class="layui-btn layui-btn-xs permissions" permissions="menus-granted" lay-event="auth">权限分配</a>
    <a class="layui-btn layui-btn-xs permissions" permissions="sysroleorganization" lay-event="auth_role">分配数据权限</a>
</script>
<!-- 表格状态列 -->
@@ -143,14 +143,18 @@
                { field: 'name', sort: true, title: '角色名' },
                { field: 'code', sort: true, title: 'Code' },
                { field: 'tenantId', sort: true, title: '应用标识' },
                {
                    field: 'createTime', sort: true, templet: function (d) {
                        return util.toDateString(d.createTime);
                    }, title: '创建时间'
                },
                // {
                //     field: 'createTime', sort: true, templet: function (d) {
                //         return util.toDateString(d.createTime);
                //     }, title: '创建时间'
                // },
                { field: 'createTime', width: 250, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" },
                { field: 'enabled', width: 100, sort: true, templet: '#role-tpl-state', title: '状态' },
                { align: 'center', toolbar: '#role-table-bar', title: '操作', width: 320 }
            ]]
            ]],
            done:function(){
                permissionsInput();
            }
        });
        // 获取应用列表
@@ -239,7 +243,7 @@
            } else if (obj.event === 'auth') {  // 权限分配
                showMenuDialog(obj.data.id, obj.data.tenantId);
            } else if (obj.event === 'auth_role') {
                showEditModelRole(data);
                showEditModelRole(data);//分配数据权限
            }
        });
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/sysArea.html
@@ -2,15 +2,15 @@
    <div class="layui-card-header">
        <h2 class="header-title">地区管理</h2>
        <span class="layui-breadcrumb pull-right">
          <a href="#!console">首页</a>
          <a><cite>地区管理</cite></a>
            <a href="#!console">首页</a>
            <a><cite>地区管理</cite></a>
        </span>
    </div>
    <div class="layui-card-body">
        <div class="layui-form toolbar">&emsp;
            <input id="area-search-value" class="layui-input search-input" type="text" placeholder="输入地区名称"/>&emsp;
            <input id="area-search-value" class="layui-input search-input" type="text" placeholder="输入地区名称" />&emsp;
            <button id="area-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
            <button id="area-btn-add" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
            <button id="area-btn-add" class="layui-btn icon-btn permissions" permissions="save-area"><i class="layui-icon">&#xe654;</i>添加</button>
            <button id="area-btn-expand" class="layui-btn">全部展开</button>
            <button id="area-btn-fold" class="layui-btn">全部折叠</button>
        </div>
@@ -21,8 +21,8 @@
<!-- 表格操作列 -->
<script type="text/html" id="area-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>
    <a class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="save-area" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs permissions" permissions="del-sysarea" lay-event="del">删除</a>
</script>
<!-- 表格状态列 -->
@@ -32,13 +32,13 @@
</script>
<script>
    layui.use(['form', 'util', 'config', 'admin','treetable','table'],function () {
    layui.use(['form', 'util', 'config', 'admin', 'treetable', 'table'], function () {
        let layer = layui.layer;
        let admin = layui.admin;
        let treetable = layui.treetable;
        let config = layui.config;
        let form = layui.form;
        let table=layui.table;
        let table = layui.table;
        // 渲染表格
        var renderTable = function (param) {
@@ -60,75 +60,75 @@
                where: param,
                page: false,
                cols: [[
                    {field: 'areaName', minWidth: 200, title: '区域名称'},
                    {field: 'areaCh',  align: 'center', title: '拼音'},
                    {field: 'areaShortname', minWidth: 80, title: '简称'},
                    {field: 'areaCitycode', title: '区号'},
                    {field: 'areaZipcode', title: '邮编'},
                    {field: 'sort', width: 80, align: 'center', title: '排序号'},
                    { field: 'areaName', minWidth: 200, title: '区域名称' },
                    { field: 'areaCh', align: 'center', title: '拼音' },
                    { field: 'areaShortname', minWidth: 80, title: '简称' },
                    { field: 'areaCitycode', title: '区号' },
                    { field: 'areaZipcode', title: '邮编' },
                    { field: 'sort', width: 80, align: 'center', title: '排序号' },
                    {
                        field: 'areaLeveltype', width: 80, align: 'center', templet: function (d) {
                            switch(d.areaLeveltype){
                            switch (d.areaLeveltype) {
                                case 0:
                                return '<span class="layui-badge layui-bg-red">国家</span>';
                                break;
                                    return '<span class="layui-badge layui-bg-red">国家</span>';
                                    break;
                                case 1:
                                return '<span class="layui-badge layui-bg-blue">省/行政区</span>';
                                break;
                                    return '<span class="layui-badge layui-bg-blue">省/行政区</span>';
                                    break;
                                case 2:
                                return '<span class="layui-badge layui-bg-gray">市</span>';
                                break;
                                    return '<span class="layui-badge layui-bg-gray">市</span>';
                                    break;
                                case 3:
                                return '<span class="layui-badge layui-bg-green">区/县</span>';
                                break;
                                    return '<span class="layui-badge layui-bg-green">区/县</span>';
                                    break;
                            }
                        }, title: '级别'
                    },
                    {field: 'enabled', width: 100,sort: true, templet: '#area-tpl-state', title: '状态'},
                    {templet: '#area-table-bar', width: 120, align: 'center', title: '操作'}
                    { field: 'enabled', width: 100, sort: true, templet: '#area-tpl-state', title: '状态' },
                    { templet: '#area-table-bar', width: 120, align: 'center', title: '操作' }
                ]],
                    done: function () {
                        layer.closeAll('loading');
                    }
                done: function () {
                    layer.closeAll('loading');
                    permissionsInput();
                }
            });
        };
        renderTable();
        // 修改状态
        form.on('switch(area-tpl-state)', function (obj) {
        layer.load(2);
        admin.req('api-user/sysarea/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});
            } else {
                layer.msg(data.msg, {icon: 2, time: 500});
                $(obj.elem).prop('checked', !obj.elem.checked);
                form.render('checkbox');
            }
        }, 'GET');
            layer.load(2);
            admin.req('api-user/sysarea/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 });
                } else {
                    layer.msg(data.msg, { icon: 2, time: 500 });
                    $(obj.elem).prop('checked', !obj.elem.checked);
                    form.render('checkbox');
                }
            }, 'GET');
        });
        // 工具条点击事件
        table.on('tool(area-table)', function (obj) {
            if (obj.event === 'del') { // 删除
                layer.confirm('确定要删除吗?', function (i) {
                layer.close(i);
                layer.load(2);
                admin.req('api-user/sysarea/'+obj.data.id, {}, function (data) {
                    layer.closeAll('loading');
                    layer.msg(data.msg, {icon: 1, time: 800},function(){
                        renderTable();
                    });
                    obj.del();
                }, 'DELETE');
            });
                    layer.close(i);
                    layer.load(2);
                    admin.req('api-user/sysarea/' + obj.data.id, {}, function (data) {
                        layer.closeAll('loading');
                        layer.msg(data.msg, { icon: 1, time: 800 }, function () {
                            renderTable();
                        });
                        obj.del();
                    }, 'DELETE');
                });
            }
            else if(obj.event=='edit')
            {
            else if (obj.event == 'edit') {
                showEditModel(obj.data);
            }
        });
@@ -136,7 +136,7 @@
        // 显示编辑弹窗
        var showEditModel = function (data) {
            let title = data ? '修改区域' : '添加区域';
            if (!data){
            if (!data) {
                data = {};
            }
            admin.putTempData('t_area', data);
@@ -161,13 +161,13 @@
                    $(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);
                        $('.layui-tab-item.layui-show').animate({ scrollTop: $(this).offset().top - 150 }, 500);
                    }
                    searchCount++;
                }
            });
            if (keyword !== '' && searchCount === 0) {
                layer.msg("没有匹配结果", {icon: 5, time: 500});
                layer.msg("没有匹配结果", { icon: 5, time: 500 });
            } else {
                treetable.expandAll('#area-table');
            }
@@ -184,4 +184,4 @@
            showEditModel();
        });
    });
</script>
</script>
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/tokens.html
@@ -20,7 +20,7 @@
<!-- 表格操作列 -->
<script type="text/html" id="tokens-table-bar">
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs permissions" permissions="token-del" lay-event="del">删除</a>
</script>
<script>
@@ -52,7 +52,10 @@
                {field: 'grantType',width:180, sort: true, title: '授权类型'},
                {field: 'clientId',width:180, sort: true, title: '所属应用'},
                {align: 'center',width:100, toolbar: '#tokens-table-bar', title: '操作'}
            ]]
            ]],
            done:function(){
                permissionsInput();
            }
        });
        // 获取应用列表
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user.html
@@ -17,11 +17,11 @@
                <option value="mobile">手机号</option>
            </select>&emsp;
            <input id="user-search-value" class="layui-input search-input" type="text" placeholder="输入关键字" />&emsp;
            <button id="user-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
            <button id="user-btn-add" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
            <button id="user-btn-export" class="layui-btn icon-btn"><i class="layui-icon">&#xe601;</i>导出</button>
            <button id="user-btn-search" class="layui-btn icon-btn"><i class="layui-icon" >&#xe615;</i>搜索</button>
            <button id="user-btn-add" class="layui-btn icon-btn"><i class="layui-icon permissions" permissions="user-btn-add">&#xe654;</i>添加</button>
            <button id="user-btn-export" class="layui-btn icon-btn"><i class="layui-icon permissions" permissions="user-btn-export">&#xe601;</i>导出</button>
            <button type="button" class="layui-btn" id="user-btn-import">
                <i class="layui-icon">&#xe67c;</i>导入
                <i class="layui-icon permissions" permissions="user-btn-import">&#xe67c;</i>导入
            </button>
        </div>
@@ -32,10 +32,10 @@
<!-- 表格操作列 -->
<script type="text/html" id="user-table-bar">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-xs" lay-event="reset">重置密码</a>
    <a class="layui-btn layui-btn-xs" lay-event="org">分配组织</a>
    <a class="layui-btn layui-btn-xs" lay-event="del">删除</a>
    <a class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="user-btn-add" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-xs permissions" permissions="user-default-password" lay-event="reset">重置密码</a>
    <a class="layui-btn layui-btn-xs permissions" permissions="userorg-save" lay-event="org">分配组织</a>
    <a class="layui-btn layui-btn-xspermissions" permissions="user-del" lay-event="del">删除</a>
</script>
<!-- 表格状态列 -->
@@ -72,14 +72,18 @@
                        return d.sex == 0 ? "男" : "女"
                    }, width: 100
                },
                {
                    sort: true, width: 200, templet: function (d) {
                        return util.toDateString(d.createTime);
                    }, title: '创建时间'
                },
                // {
                //     sort: true, width: 200, templet: function (d) {
                //         return util.toDateString(d.createTime);
                //     }, title: '创建时间'
                // },
                { field: 'createTime', width: 250, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" },
                { field: 'enabled', width: 100, sort: true, templet: '#user-tpl-state', title: '状态' },
                { fixed: 'right', align: 'center', toolbar: '#user-table-bar', title: '操作', width: 300 }
            ]]
            ]],
            done:function(){
                permissionsInput();
            }
        });
        // 添加按钮点击事件