From 293d5042a773595ded45bdc9c69c4555ab9c5dd5 Mon Sep 17 00:00:00 2001
From: 侯瑞军 <411269194@kidgrow.com>
Date: Thu, 14 May 2020 18:39:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html                                                 |   37 +++-
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/role.html                                                     |   28 ++-
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/businessRecords.html                                        |    2 
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java |   14 +
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user.html                                                     |   32 ++--
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml                               |   34 ++++
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java            |    2 
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java |    6 
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/sysArea.html                                                  |  116 ++++++++--------
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java         |    2 
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/menus.html                                                    |   68 +++++----
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html                                         |    2 
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/tokens.html                                                   |    7 
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html                                        |   23 +-
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/attestation/app.html                                                 |   11 +
 15 files changed, 238 insertions(+), 146 deletions(-)

diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java
index 7d38e14..5329d86 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java
+++ b/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);
 }
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java
index 28c445c..d0eaaba 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java
+++ b/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);
 }
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
index fab718c..2bdf1cd 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
+++ b/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);
+    }
 }
\ No newline at end of file
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml
index dfb7a15..f2691bb 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml
+++ b/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>
\ No newline at end of file
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java
index 0bd18d0..57ee9a2 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java
+++ b/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);
+    }
     /**
      * 获取当前用的 组织下的所有人员
      */
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/attestation/app.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/attestation/app.html
index 4ba4d01..25cb240 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/attestation/app.html
+++ b/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();
+            }
         });
 
         // 工具条点击事件
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/businessRecords.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/businessRecords.html
index b8ca7d6..af3527c 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/businessRecords.html
+++ b/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>" }
             ]]
         });
 
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
index b56f6e5..c9642a3 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
+++ b/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 = "";
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html
index fc2013c..4c9b43c 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html
+++ b/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: '操作' },
             ]],
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
index 6c05b53..55df504 100644
--- 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
@@ -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 });
                 }
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/menus.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/menus.html
index ae9c51f..ea5e862 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/menus.html
+++ b/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>
\ No newline at end of file
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/role.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/role.html
index 66ee95e..2bc67be 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/role.html
+++ b/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);//分配数据权限
             }
         });
 
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/sysArea.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/sysArea.html
index 2782d31..8806195 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/sysArea.html
+++ b/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>
\ No newline at end of file
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/tokens.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/tokens.html
index f217537..4186bc3 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/tokens.html
+++ b/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();
+            }
         });
 
         // 获取应用列表
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user.html
index ffc58cf..bcdfd79 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user.html
+++ b/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();
+            }
         });
 
         // 添加按钮点击事件

--
Gitblit v1.8.0