From 8307349c631324c11dd8c54c177ca615d205e36e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 19 十二月 2023 11:18:58 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/webapp/views/permission/permission_detail.html |   79 +
 zy-asrs-wms/src/main/webapp/views/tpl/theme/img/icon_date.png       |    0 
 zy-asrs-wms/src/main/webapp/views/tpl/tpl-theme.html                |  229 ++++
 zy-asrs-wms/src/main/webapp/views/tpl/alarm-detl.html               |   52 +
 zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-blue.png      |    0 
 zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-admin.png     |    0 
 zy-asrs-wms/src/main/webapp/views/role/role_power_detail.html       |   37 
 zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-white.png     |    0 
 zy-asrs-wms/src/main/webapp/views/api/api_detail.html               |   95 +
 zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-pink.png      |    0 
 zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-purple.png    |    0 
 zy-asrs-wms/src/main/webapp/views/login.html                        |  157 +++
 zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-colorful.png  |    0 
 zy-asrs-wms/src/main/webapp/views/password.html                     |  146 ++
 zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-my.png        |    0 
 zy-asrs-wms/src/main/webapp/views/404.html                          |    9 
 zy-asrs-wms/src/main/webapp/views/user/user_detail.html             |   87 +
 zy-asrs-wms/src/main/webapp/views/home/navigation.html              |  146 ++
 zy-asrs-wms/src/main/webapp/views/tpl/tpl-note.html                 |  206 +++
 zy-asrs-wms/src/main/webapp/views/userLogin/userLogin.html          |   61 +
 zy-asrs-wms/src/main/webapp/views/detail.html                       |  172 +++
 zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-red.png       |    0 
 zy-asrs-wms/src/main/webapp/views/user/user.html                    |  177 +++
 zy-asrs-wms/src/main/webapp/views/api/api.html                      |   56 +
 zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-green.png     |    0 
 zy-asrs-wms/src/main/webapp/views/role/role.html                    |   60 +
 zy-asrs-wms/src/main/webapp/views/permission/permission.html        |   66 +
 zy-asrs-wms/src/main/webapp/views/config/config_detail.html         |   83 +
 zy-asrs-wms/src/main/webapp/views/role/role_detail.html             |   82 +
 zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-cyan.png      |    0 
 zy-asrs-wms/src/main/webapp/views/config/config.html                |   55 +
 zy-asrs-wms/src/main/webapp/views/home/console.html                 |  333 ++++++
 zy-asrs-wms/src/main/webapp/views/tpl/theme/img/icon_search.png     |    0 
 zy-asrs-wms/src/main/webapp/views/resource/resource.html            |  309 +++++
 zy-asrs-wms/src/main/webapp/views/tpl/theme/img/ic_loading.gif      |    0 
 zy-asrs-wms/src/main/webapp/views/userLogin/userLogin_detail.html   |   69 +
 zy-asrs-wms/src/main/webapp/views/host/host.html                    |   55 +
 zy-asrs-wms/src/main/webapp/views/host/host_detail.html             |   79 +
 zy-asrs-wms/src/main/webapp/views/index.html                        |  180 +++
 39 files changed, 3,080 insertions(+), 0 deletions(-)

diff --git a/zy-asrs-wms/src/main/webapp/views/404.html b/zy-asrs-wms/src/main/webapp/views/404.html
new file mode 100644
index 0000000..b31eb87
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/404.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+</head>
+<body background="../static/image/404.jpg" style="background-repeat:no-repeat; background-size:100% 100%; background-attachment:fixed;">
+</body>
+</html>
\ No newline at end of file
diff --git a/zy-asrs-wms/src/main/webapp/views/api/api.html b/zy-asrs-wms/src/main/webapp/views/api/api.html
new file mode 100644
index 0000000..d00a864
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/api/api.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 鎼滅储鏍� -->
+<div id="search-box" class="layui-form layui-card-header">
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
+        </div>
+    </div>
+
+    <!-- 寰呮坊鍔� -->
+    <div id="data-search-btn" class="layui-btn-container layui-form-item">
+        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+    </div>
+</div>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-hide" id="api" lay-filter="api"></table>
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
+        <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button>
+    </div>
+</script>
+
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>
+    <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/api/api.js" charset="utf-8"></script>
+
+
+<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
+
+</body>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/api/api_detail.html b/zy-asrs-wms/src/main/webapp/views/api/api_detail.html
new file mode 100644
index 0000000..bd2c161
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/api/api_detail.html
@@ -0,0 +1,95 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form">
+        <div class="layui-inline"  style="display: none">
+            <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label>
+            <div class="layui-input-inline">
+                <input id="id" class="layui-input" type="text" placeholder="缂栧彿">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鍛藉悕绌洪棿锛�</label>
+            <div class="layui-input-inline">
+                <input id="namespace" class="layui-input" type="text" placeholder="鍛藉悕绌洪棿" lay-verify="required" >
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鎺堛��銆�鏉冿細</label>
+            <div class="layui-input-inline">
+                <select id="oauth" lay-verify="required">
+                    <option value="" style="display: none"></option>
+                    <option value="0">鏃犻渶鎺堟潈</option>
+                    <option value="1">闇�瑕佹巿鏉�</option>
+                </select>
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label">璇锋眰缁撴瀯锛�</label>
+            <div class="layui-input-inline">
+                <input id="request" class="layui-input" type="text" placeholder="璇锋眰缁撴瀯">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label">鍝嶅簲缁撴瀯锛�</label>
+            <div class="layui-input-inline">
+                <input id="response" class="layui-input" type="text" placeholder="鍝嶅簲缁撴瀯">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>娣诲姞鏃堕棿锛�</label>
+            <div class="layui-input-inline">
+                <input id="createTime$" class="layui-input" type="text" placeholder="娣诲姞鏃堕棿" lay-verify="required"  autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label">淇敼鏃堕棿锛�</label>
+            <div class="layui-input-inline">
+                <input id="updateTime$" class="layui-input" type="text" placeholder="淇敼鏃堕棿" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鐘躲��銆�鎬侊細</label>
+            <div class="layui-input-inline">
+                <select id="status" lay-verify="required">
+                    <option value="" style="display: none"></option>
+                    <option value="1">鏈夋晥</option>
+                    <option value="0">绂佺敤</option>
+                </select>
+            </div>
+        </div>
+
+
+        <hr class="layui-bg-gray">
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+        <div id="prompt">
+            娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span>
+        </div>
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/api/api.js" charset="utf-8"></script>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/config/config.html b/zy-asrs-wms/src/main/webapp/views/config/config.html
new file mode 100644
index 0000000..fb4d8df
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/config/config.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 鎼滅储鏍� -->
+<div id="search-box" class="layui-form layui-card-header">
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
+        </div>
+    </div>
+
+    <!-- 寰呮坊鍔� -->
+    <div id="data-search-btn" class="layui-btn-container layui-form-item">
+        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+    </div>
+</div>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-hide" id="config" lay-filter="config"></table>
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
+        <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button>
+    </div>
+</script>
+
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>
+    <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/config/config.js" charset="utf-8"></script>
+
+<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
+
+</body>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/config/config_detail.html b/zy-asrs-wms/src/main/webapp/views/config/config_detail.html
new file mode 100644
index 0000000..2838e7b
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/config/config_detail.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form">
+        <div class="layui-inline"  style="display: none">
+            <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label>
+            <div class="layui-input-inline">
+                <input id="id" class="layui-input" type="text" placeholder="缂栧彿">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鍚嶃��銆�绉帮細</label>
+            <div class="layui-input-inline">
+                <input id="name" class="layui-input" type="text" placeholder="鍚嶇О" lay-verify="required" >
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鐮侊細</label>
+            <div class="layui-input-inline">
+                <input id="code" class="layui-input" type="text" placeholder="缂栫爜" lay-verify="required" >
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:97%;">
+            <label class="layui-form-label"><span class="not-null">*</span>瀵� 搴� 鍊硷細</label>
+            <div class="layui-input-inline">
+                <input id="value" class="layui-input" type="text" placeholder="瀵瑰簲鍊�" lay-verify="required" >
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>绫汇��銆�鍨嬶細</label>
+            <div class="layui-input-inline">
+                <select id="type" lay-verify="required">
+                    <option value="" style="display: none"></option>
+                    <option value="1">String</option>
+                    <option value="2">JSON</option>
+                </select>
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鐘躲��銆�鎬侊細</label>
+            <div class="layui-input-inline">
+                <select id="status" lay-verify="required">
+                    <option value="" style="display: none"></option>
+                    <option value="1">姝e父</option>
+                    <option value="0">绂佺敤</option>
+                </select>
+            </div>
+        </div>
+
+
+        <hr class="layui-bg-gray">
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+        <div id="prompt">
+            娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span>
+        </div>
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/config/config.js" charset="utf-8"></script>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/detail.html b/zy-asrs-wms/src/main/webapp/views/detail.html
new file mode 100644
index 0000000..ed3397d
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/detail.html
@@ -0,0 +1,172 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../static/layui/css/layui.css" media="all">
+    <script type="text/javascript" src="../static/js/common.js"></script>
+    <style>
+        body {
+            background-color: #fff;
+        }
+        #container {
+            padding: 15px;
+            margin-top: 15px
+        }
+        .layui-card-body {
+            padding: 20px 15px 5px 15px;
+        }
+        .layui-form-item {
+            margin-bottom: 18px;
+        }
+        .layui-form-label {
+            color: #999!important;;
+            width: 60px;
+        }
+        .layui-input-block {
+            margin-left: 90px;
+        }
+        #update-password {
+            padding: 0 20px 0 15px;
+        }
+        .layui-btn .layui-icon {
+            margin-right: 0;
+        }
+    </style>
+</head>
+<body id="body">
+<div id="container">
+    <fieldset class="layui-elem-field">
+        <legend>璁剧疆鎴戠殑璧勬枡</legend>
+        <div class="layui-card-body">
+            <div id="person-detail" class="layui-form">
+                <div class="layui-form-item" style="display: none">
+                    <label class="layui-form-label">缂栧彿</label>
+                    <div class="layui-input-inline">
+                        <input id="id" class="layui-input" type="text" placeholder="璇疯緭鍏�" autocomplete="off">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">瑙掕壊</label>
+                    <div class="layui-input-inline">
+                        <input id="roleName" class="layui-input" type="text" placeholder="璇疯緭鍏�" autocomplete="off" disabled="disabled">
+                    </div>
+                    <div class="layui-form-mid layui-word-aux">褰撳墠瑙掕壊涓嶅彲鏇存敼涓哄叾瀹冭鑹�</div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍚嶇О</label>
+                    <div class="layui-input-inline">
+                        <input id="username" class="layui-input" type="text" placeholder="璇疯緭鍏�" autocomplete="off">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">璐﹀彿</label>
+                    <div class="layui-input-inline">
+                        <input id="mobile" class="layui-input" type="text" placeholder="璇疯緭鍏�" autocomplete="off">
+                    </div>
+                    <div class="layui-form-mid layui-word-aux">閲嶈锛佷竴鑸敤浜庡悗鍙扮櫥鍏�</div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">瀵嗙爜</label>
+                    <div class="layui-input-inline">
+                        <input id="password" class="layui-input" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none">
+                        <button id="update-password" class="layui-btn layui-btn-primary">
+                            <i class="layui-icon">&#xe620;</i>
+                            淇敼瀵嗙爜
+                        </button>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">娉ㄥ唽鏃堕棿</label>
+                    <div class="layui-input-inline">
+                        <input id="createTime$" class="layui-input" type="text" placeholder="璇疯緭鍏�" autocomplete="off" disabled="disabled">
+                    </div>
+                    <div class="layui-form-mid layui-word-aux">涓嶅彲淇敼</div>
+                </div>
+                <div class="layui-form-item">
+                    <div class="layui-input-block">
+                        <button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">纭淇敼</button>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </fieldset>
+</div>
+</body>
+<script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script src="../static/layui/layui.js"></script>
+<script>
+    layui.use(['form'], function(){
+        var form = layui.form,
+            layer = layui.layer,
+            $ = layui.jquery;
+
+        // 鍒濆鍖栬〃鍗曟暟鎹�
+        $.ajax({
+            url: baseUrl+"/user/detail/auth",
+            headers: {'token': localStorage.getItem('token')},
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    var user = res.data;
+                    for (var val in user) {
+                        $('#person-detail').find(":input[id='" + val + "']").val(user[val]);
+                    }
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                } else {
+                    layer.msg(res.msg);
+                }
+            }
+        });
+
+        // 淇敼瀵嗙爜
+        $(document).on('click','#update-password', function () {
+            layer.open({
+                type: 2,
+                title: '淇敼瀵嗙爜',
+                maxmin: true,
+                area: ['350px', '310px'],
+                shadeClose: false,
+                content: 'password.html',
+                success: function(layero, index){
+                    layer.iframeAuto(index);
+                }
+            })
+        });
+
+
+        // 淇濆瓨淇敼
+        form.on('submit(save)', function (data) {
+            var user = {
+                id: $('#id').val(),
+                username: $('#username').val(),
+                mobile: $("#mobile").val(),
+            };
+            layer.confirm('纭畾淇敼璧勬枡鍚楋紵', function(){
+                $.ajax({
+                    url: baseUrl+"/user/update/auth",
+                    headers: {'token': localStorage.getItem('token')},
+                    data: user,
+                    method: 'POST',
+                    success: function (res) {
+                        if (res.code === 200){
+                            layer.msg(res.msg);
+                            localStorage.setItem("username", user.username);
+                            parent.$('#person-username').text(localStorage.getItem('username'));
+                        } else if (res.code === 403){
+                            top.location.href = baseUrl+"/";
+                        } else {
+                            layer.msg(res.msg);
+                        }
+                    }
+                });
+            });
+            return false;
+        });
+    });
+</script>
+</html>
\ No newline at end of file
diff --git a/zy-asrs-wms/src/main/webapp/views/home/console.html b/zy-asrs-wms/src/main/webapp/views/home/console.html
new file mode 100644
index 0000000..ce1ed60
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/home/console.html
@@ -0,0 +1,333 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>棣栭〉</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <script type="text/javascript" src="../../static/js/common.js"></script>
+    <script type="text/javascript" src="../../static/layui/layui.js"></script>
+    <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+    <script type="text/javascript" src="../../static/js/echarts/echarts.min.js"></script>
+    <script type="text/javascript" src="../../static/js/echarts/highcharts.js"></script>
+    <style>
+        body {
+            background-color: #f1f1f1;
+        }
+        .home-elem {
+            background-color: #fff;
+            height: 30%;
+            margin: 15px 15px 45px 15px;
+            border-radius: 5px;
+            box-shadow: 0 0 3px rgba(0,0,0,.3);
+        }
+        .home-elem:first-child{
+            margin-bottom: 0;
+        }
+        .chart-elem {
+            box-sizing: border-box;
+            display: inline-block;
+            width: 49%;
+        }
+        .chart-elem div {
+            padding-top: 15px;
+            padding-bottom: 5px;
+        }
+        .chart-elem:first-child {
+            padding: 0 50px;
+        }
+        .chart-elem:last-child {
+            padding: 0 50px;
+            border-left: 1px solid rgba(0,0,0,.1);
+        }
+        /*琛ㄦ牸宸ュ叿鏍�*/
+        .layui-table-tool {
+            display: none;
+        }
+        /*琛ㄦ牸*/
+        .layui-table thead th {
+            font-weight: bold;
+            text-align: center;
+        }
+        div .layui-table-tool .layui-table-tool-self .layui-inline[title='瀵煎嚭']{
+            display: none;
+        }
+        .layui-form.layui-border-box.layui-table-view{
+            margin: 15px 0 35px 0;
+            width: 100%;
+            border-width: 0;
+        }
+        .layui-table-box{
+            padding-bottom: 10px;
+        }
+        .layui-table-body.layui-table-main{
+            overflow: hidden;
+        }
+        .layui-table-page{
+            border-width: 0;
+        }
+        .layui-table tbody tr:hover, .layui-table thead tr, .layui-table-click, .layui-table-header, .layui-table-hover, .layui-table-mend, .layui-table-patch, .layui-table-tool, .layui-table-total, .layui-table-total tr, .layui-table[lay-even] tr:nth-child(even) {
+            background-color: #f9f9f9;
+        }
+        .layui-table thead tr {
+            background-color: #fff;
+        }
+        #form-header {
+            font-size: 18px;
+            color: #377bb5;
+            font-weight: bold;
+            height: 30px;
+            box-sizing: border-box;
+            padding: 10px 0 10px 20px;
+        }
+        .layui-form.layui-border-box.layui-table-view {
+            border-top: 1px solid rgba(0,0,0,.1);
+        }
+    </style>
+</head>
+<body>
+
+<!--鎶ヨ〃鏁版嵁-->
+<div class="home-elem charts-contain">
+    <div class="chart-elem">
+        <div id="pie"></div>
+    </div>
+    <div class="chart-elem">
+        <div id="line"></div>
+    </div>
+</div>
+
+<!--琛ㄦ牸鏁版嵁-->
+<div class="home-elem loc-retention">
+    <div class="layui-form">
+        <div id="form-header">搴撳瓨婊炵暀鏃堕棿缁熻琛�</div>
+        <table class="layui-hide" id="stayTime" lay-filter="stayTime"></table>
+    </div>
+</div>
+</body>
+<script>
+    pieCharts();
+    lineCharts();
+    // 楗煎浘
+    function pieCharts(){
+        $.ajax({
+            url:baseUrl+'/console/loc/pie/charts',
+            headers: {'token': localStorage.getItem('token')},
+            dataType: 'json',
+            contentType: 'application/json;charset=UTF-8',
+            crossDomain: true,
+            method: 'POST',
+            success:function(res){
+                var data = res.data;
+                var dataPie=eval(data.rows);
+                var chart = {
+                    plotBackgroundColor: null,
+                    plotBorderWidth: null,
+                    plotShadow: false
+                };
+                var title = {
+                    text: '搴撲綅浣跨敤姣斾緥',
+                    margin:1,
+                    style: {fontSize: '18px',color: '#777',fontWeight: 'bold'},
+                    y: 5
+                };
+                var tooltip = {
+                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
+                };
+                var plotOptions = {
+                    pie: {
+                        allowPointSelect: true,
+                        cursor: 'pointer',
+                        dataLabels: {
+                            enabled: true,
+                            format: '<b>{point.name}</b>: {point.percentage:.1f} %',
+                            style: {
+                                color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
+                            }
+                        }
+                    }
+                };
+                var series= [{
+                    type: 'pie',
+                    name: '搴撲綅鍗犳瘮',
+                    data: dataPie
+                }];
+                var loading = {
+                    hideDuration: 3,
+                    showDuration: 3
+                };
+                var json = {};
+                json.chart = chart;
+                json.title = title;
+                json.tooltip = tooltip;
+                json.series = series;
+                json.plotOptions = plotOptions;
+                json.loading = loading;
+                json.credits = {enabled: false};
+                $('#pie').highcharts(json);
+
+            },
+            error:function(){
+            }
+        });
+    }
+
+    // 鎶樼嚎鍥�
+    function lineCharts() {
+        $.ajax({
+            url: baseUrl+'/console/locIo/line/charts',
+            headers: {'token': localStorage.getItem('token')},
+            dataType: 'json',
+            contentType: 'application/json;charset=UTF-8',
+            method: 'POST',
+            success: function (res) {
+                var data = res.data;
+                var dataPie = eval(data.rows);
+                var title = {
+                    text: '鏃ュ叆鍑哄簱鏁伴噺',
+                    margin: 1,
+                    style: {fontSize: '18px',color: '#777',fontWeight: 'bold'},
+                    y: 5
+                };
+                var xAxis = {
+                    categories: [getDate(-11), getDate(-10), getDate(-9), getDate(-8), getDate(-7), getDate(-6),
+                        getDate(-5), getDate(-4), getDate(-3), getDate(-2), getDate(-1), getDate(-0)]
+                };
+                var yAxis = {
+                    title: {
+                        text: '鍏�/鍑哄簱鏁伴噺'
+                    },
+                    plotLines: [{
+                        value: 0,
+                        width: 1,
+                        color: '#808080'
+                    }]
+                };
+                var tooltip = {};
+                var legend = {
+                    layout: 'vertical',
+                    align: 'right',
+                    verticalAlign: 'middle',
+                    borderWidth: 0
+                };
+                var loading = {
+                    hideDuration: 3,
+                    showDuration: 3
+                }
+                var series = dataPie;
+                var json = {};
+                json.title = title;
+                json.xAxis = xAxis;
+                json.yAxis = yAxis;
+                json.tooltip = tooltip;
+                json.legend = legend;
+                json.loading = loading;
+                json.series = series;
+                json.credits = {enabled: false};
+                $('#line').highcharts(json);
+            }
+        });
+    }
+
+    // 琛ㄦ牸
+    var pageCurr;
+    function getCol() {
+        var cols = [
+            {field: 'appeTime$', title: '鍏ュ簱鏃堕棿', align: 'center', width: 200}
+            ,{field: 'stay_time', align: 'center',title: '婊炵暀澶╂暟'}
+            ,{field: 'loc_no', align: 'center',title: '搴撲綅鍙�'}
+        ];
+        cols.push.apply(cols, detlCols);
+        return cols;
+    }
+    layui.use(['table','laydate', 'form'], function() {
+        var table = layui.table;
+        var $ = layui.jquery;
+        var layer = layui.layer;
+
+        // 鏁版嵁娓叉煋
+        tableIns = table.render({
+            elem: '#stayTime',
+            headers: {token: localStorage.getItem('token')},
+            url: baseUrl+'/report/viewStayTimeList.action',
+            page: true,
+            limit: 10,
+            toolbar: '#toolbar',
+            even: true,
+            cellMinWidth: 50,
+            crossDomain: true,
+            cols: [getCol()],
+            request: {
+                pageName: 'curr',
+                pageSize: 'limit'
+            },
+            parseData: function (res) {
+                return {
+                    'code': res.code,
+                    'msg': res.msg,
+                    'count': res.data.total,
+                    'data': res.data.records
+                }
+            },
+            response: {
+                statusCode: 200
+            },
+            done: function(res, curr, count) {
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                pageCurr=curr;
+            }
+        });
+
+        // 鐩戝惉鎺掑簭浜嬩欢
+        table.on('sort(stayTime)', function (obj) {
+            var searchData = {};
+            $.each($('#search-box [name]').serializeArray(), function() {
+                searchData[this.name] = this.value;
+            });
+            searchData['orderByField'] = obj.field;
+            searchData['orderByType'] = obj.type;
+            tableIns.reload({
+                where: searchData,
+                page: {
+                    curr: 1
+                },
+                done: function (res, curr, count) {
+                    if (res.code === 403) {
+                        top.location.href = baseUrl+"/";
+                    }
+                    pageCurr=curr;
+                }
+            });
+        });
+    });
+
+
+    function getDate(value){
+        var date = new Date();// 鑾峰彇褰撳墠鏃堕棿
+        date.setDate(date.getDate() + value);// 璁剧疆澶╂暟 -1 澶�
+        return date.Format("MM-dd");
+    }
+    /**
+     * 鏃ユ湡鏍煎紡鍖�
+     */
+    Date.prototype.Format = function (fmt) {
+        var o = {
+            "M+": this.getMonth() + 1, //鏈堜唤
+            "d+": this.getDate(), //鏃�
+            "h+": this.getHours(), //灏忔椂
+            "m+": this.getMinutes(), //鍒�
+            "s+": this.getSeconds(), //绉�
+            "q+": Math.floor((this.getMonth() + 3) / 3), //瀛e害
+            "S": this.getMilliseconds() //姣
+        };
+        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
+        for (var k in o)
+            if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
+        return fmt;
+    }
+</script>
+</html>
diff --git a/zy-asrs-wms/src/main/webapp/views/home/navigation.html b/zy-asrs-wms/src/main/webapp/views/home/navigation.html
new file mode 100644
index 0000000..64ce2a6
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/home/navigation.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title>浠撳偍绠$悊绯荤粺</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/road.css">
+
+    <style media="screen">
+        *{
+            -webkit-box-sizing: border-box;
+            -moz-box-sizing: border-box;
+            box-sizing: border-box;
+            margin: 0;
+            padding: 0;
+            font-family: 寰蒋闆呴粦;
+            letter-spacing: 1px;
+        }
+        body{
+            background: url(../../static/image/nav/bg_1.png);
+            background-size: cover;
+        }
+        .fn_1{
+            width: 250px; height: 220px;
+            background: url(../../static/image/nav/fn_1.png);
+            background-size: cover;
+        }
+        .fn_1:hover{
+            background: url(../../static/image/nav/fn_1_h.png);
+            background-size: cover;
+        }
+
+        .fn_2{
+            width: 250px; height: 220px;
+            background: url(../../static/image/nav/fn_2.png);
+            background-size: cover;
+        }
+        .fn_2:hover{
+            background: url(../../static/image/nav/fn_2_h.png);
+            background-size: cover;
+        }
+        .fn_3{
+            width: 250px; height: 220px;
+            background: url(../../static/image/nav/fn_3.png);
+            background-size: cover;
+        }
+        .fn_3:hover{
+            background: url(../../static/image/nav/fn_3_h.png);
+            background-size: cover;
+        }
+
+        .sci-wheel{
+            position: absolute;
+            top: 0;
+            right: 0;
+            width: 100px;
+        }
+
+        .header{
+            width: 100%; height: 100px; line-height: 100px;
+            padding: 0 40px;
+            background:rgba(0,0,0,0.3);
+        }
+        .header img{
+            float: left;
+            margin: 10px 10px;
+            width: 100px;
+        }
+        .header p{
+            float: left;
+            font-size: 30px; color: white;
+            letter-spacing: 3px;
+        }
+        .header .home-btn {
+            float: left;
+            margin-top: 20px;
+            width: 74px;
+            height: 74px;
+            border: 1px solid #102262;
+            border-radius: 5px;
+            background: url(../../static/image/nav/icon.png) no-repeat center center;
+            background-size: 45% 45%;
+            cursor: pointer;
+        }
+        .center{
+            position: absolute;
+            top: 0; bottom: 0; left: 0; right: 0;
+            margin: auto;
+            width: 930px; height: 250px;
+            /* bottom: 300px; */
+        }
+        .center .list{
+            display: block;
+            float: left;
+            margin: 0 30px;
+            cursor: pointer;
+        }
+        .center .list p{
+            text-align: center;
+            color: #00BAF1;
+            font-size: 18px;
+            margin-top: 240px;
+        }
+        /* .center .list img{
+          width: 250px;
+          margin: 0 30px;
+        } */
+    </style>
+
+</head>
+<body>
+
+<div class="header">
+    <p style="margin-left:20px">璇烽�夋嫨鎮ㄨ浣跨敤鐨勬ā鍧�</p>
+</div>
+
+<div class="center">
+    <a class="list fn_1 moveUpDownFla1" ew-href="order/order.html?resourceId=40517">
+        <p>鍗曟嵁绠$悊</p>
+    </a>
+    <a class="list fn_2 moveUpDownFla2" ew-href="wrkMast/wrkMast.html?resourceId=214">
+        <p>杩愯浠诲姟</p>
+    </a>
+    <a class="list fn_3 moveUpDownFla1" ew-href="stoMan/stoQue.html?resourceId=10276">
+        <p>搴撳瓨鏄庣粏</p>
+    </a>
+</div>
+
+</body>
+<script type="text/javascript" src="../../static/js/common.js"></script>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js"></script>
+<script>
+    layui.config({
+        base: baseUrl + "/static/layui/lay/modules/"
+    }).use(['layer', 'element', 'admin'], function () {
+        var element = layui.element;
+        var $ = layui.jquery;
+        var layer = layui.layer;
+        var admin = layui.admin;
+    })
+</script>
+</html>
diff --git a/zy-asrs-wms/src/main/webapp/views/host/host.html b/zy-asrs-wms/src/main/webapp/views/host/host.html
new file mode 100644
index 0000000..05a3a59
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/host/host.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 鎼滅储鏍� -->
+<div id="search-box" class="layui-form layui-card-header">
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
+        </div>
+    </div>
+
+    <!-- 寰呮坊鍔� -->
+    <div id="data-search-btn" class="layui-btn-container layui-form-item">
+        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+    </div>
+</div>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-hide" id="host" lay-filter="host"></table>
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
+        <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button>
+    </div>
+</script>
+
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>
+    <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/host/host.js" charset="utf-8"></script>
+
+<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
+
+</body>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/host/host_detail.html b/zy-asrs-wms/src/main/webapp/views/host/host_detail.html
new file mode 100644
index 0000000..9aaead6
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/host/host_detail.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form">
+        <div class="layui-inline"  style="display: none">
+            <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label>
+            <div class="layui-input-inline">
+                <input id="id" class="layui-input" type="text" placeholder="缂栧彿">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鍟嗘埛鍚嶇О锛�</label>
+            <div class="layui-input-inline">
+                <input id="name" class="layui-input" type="text" lay-verify="required" >
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鏍囥��銆�璇嗭細</label>
+            <div class="layui-input-inline">
+                <input id="flag" class="layui-input" type="text" lay-verify="required" >
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>娣诲姞鏃堕棿锛�</label>
+            <div class="layui-input-inline">
+                <input id="createTime$" class="layui-input" type="text" lay-verify="required"  autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label">淇敼鏃堕棿锛�</label>
+            <div class="layui-input-inline">
+                <input id="updateTime$" class="layui-input" type="text" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鐘躲��銆�鎬侊細</label>
+            <div class="layui-input-inline">
+                <select id="status" lay-verify="required">
+                    <option value="" style="display: none"></option>
+                    <option value="1">姝e父</option>
+                    <option value="0">绂佺敤</option>
+                </select>
+            </div>
+        </div>
+
+
+        <hr class="layui-bg-gray">
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+        <div id="prompt">
+            娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span>
+        </div>
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/host/host.js" charset="utf-8"></script>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/index.html b/zy-asrs-wms/src/main/webapp/views/index.html
new file mode 100644
index 0000000..cbe75fb
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/index.html
@@ -0,0 +1,180 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>涓壃 - 鑷姩鍖栫珛浣撲粨搴� - AS / RS</title>
+  <meta name="renderer" content="webkit">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+  <link rel="icon" type="image/x-icon" href="../static/image/favicon.ico" />
+  <link rel="stylesheet" href="../static/layui/css/layui.css" media="all">
+  <link rel="stylesheet" href="../static/css/admin.css?v=318" media="all">
+  <link rel="stylesheet" href="../static/css/loader.css" media="all">
+  <style>
+    .layui-logo img {
+      width: 25px;
+    }
+    .layui-logo cite {
+      font-size: 18px;
+      font-weight: 400;
+      /*margin-left: 5px;*/
+    }
+  </style>
+</head>
+<body class="layui-layout-body">
+<div class="layui-layout layui-layout-admin">
+  <!-- 澶撮儴 -->
+  <div class="layui-header">
+    <div class="layui-logo">
+      <img src="../static/image/logo.png" style="display: inline-block; width: 60%;height: auto">
+      <!--          <span style="margin-top: 0; letter-spacing: 10px">涓壃绔嬪簱</span>-->
+      <!--          <img src="../static/image/logo.svg"/>-->
+      <!--          <cite>涓壃 - Zoneyung</cite>-->
+    </div>
+
+    <ul class="layui-nav layui-layout-left">
+      <li class="layui-nav-item" lay-unselect>
+        <a ew-event="flexible" title="渚ц竟浼哥缉"><i class="layui-icon layui-icon-shrink-right"></i></a>
+      </li>
+      <li class="layui-nav-item" lay-unselect>
+        <a ew-event="refresh" title="鍒锋柊"><i class="layui-icon layui-icon-refresh-3"></i></a>
+      </li>
+    </ul>
+    <ul class="layui-nav layui-layout-right">
+      <li class="layui-nav-item" lay-unselect>
+        <a ew-event="note" title="渚跨"><i class="layui-icon layui-icon-note"></i></a>
+      </li>
+      <li class="layui-nav-item layui-hide-xs" lay-unselect>
+        <a ew-event="fullScreen" title="鍏ㄥ睆"><i class="layui-icon layui-icon-screen-full"></i></a>
+      </li>
+      <li class="layui-nav-item" lay-unselect>
+        <a>
+          <cite id="username" style="margin-right: 5px">绠$悊鍛�</cite>
+        </a>
+        <dl class="layui-nav-child">
+          <dd lay-unselect><a ew-href="detail.html?resourceId=8">鍩烘湰璧勬枡</a></dd>
+          <hr>
+          <dd lay-unselect><a id="logout">閫�鍑�</a></dd>
+        </dl>
+      </li>
+      <li class="layui-nav-item" lay-unselect>
+        <a ew-event="theme" title="涓婚"><i class="layui-icon layui-icon-more-vertical"></i></a>
+      </li>
+    </ul>
+  </div>
+
+  <!-- 渚ц竟鏍� -->
+  <div class="layui-side">
+    <div class="layui-side-scroll">
+      <ul id="menu-main" class="layui-nav layui-nav-tree arrow2" lay-filter="admin-side-nav" lay-shrink="_all">
+      </ul>
+    </div>
+  </div>
+
+  <!-- 涓讳綋閮ㄥ垎 -->
+  <div class="layui-body"></div>
+  <!-- 搴曢儴 -->
+  <div class="layui-footer layui-text">
+    copyright 漏 2022 <a href="http://www.zoneyung.com" target="_blank">娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙�</a> all rights reserved.
+    <span class="pull-right">Version 1.0.0</span>
+  </div>
+
+</div>
+
+<!--鍒濆鍖栧姞杞藉眰-->
+<div class="layuimini-loader">
+  <div class="layuimini-loader-inner"></div>
+</div>
+
+<script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../static/layui/layui.js"></script>
+<script type="text/javascript" src="../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../static/js/common.js"></script>
+<script>
+  console.log('%c 涓壃绔嬪簱骞冲彴 %c 1.0.0','background-color:rgb(53,73,94);color: #fff;border-radius:2px 0 0 2px;padding:2px 4px;','background-color:rgb(25,190,107);color: #fff;border-radius:0 2px 2px 0;padding:2px 4px;font: 9pt "Apercu Regular", Georgia, "Times New Roman", Times, serif;');
+  $(function () {
+    if ("" === localStorage.getItem('token')) {
+      top.location.href = baseUrl + "/login";
+    }
+  });
+
+  layui.config({
+    base: baseUrl + "/static/layui/lay/modules/"
+  }).extend({
+    notice: 'notice/notice',
+  }).use(['index', 'element', 'layer', 'admin', 'notice'], function () {
+    var $ = layui.jquery;
+    var index = layui.index;
+    var element = layui.element;
+    var layer = layui.layer;
+    var admin = layui.admin;
+    var notice = layui.notice;
+
+    var easywebIframeMsg = localStorage.getItem("easyweb-iframe");
+    if (!isEmpty(easywebIframeMsg)) {
+      var easywebIframeObj = JSON.parse(easywebIframeMsg);
+      if (easywebIframeObj.defaultTheme === undefined) {
+        admin.changeTheme("theme-colorful");
+      }
+    }
+
+    $.ajax({
+      url: baseUrl + "/menu/auth",
+      headers: {'token': localStorage.getItem('token')},
+      method: 'POST',
+      // async: false,
+      success: function (res) {
+        // 鍏抽棴鍔犺浇鍔ㄧ敾
+        $('.layuimini-loader').fadeOut();
+        if (res.code === 200) {
+          var tpl = $('#menuTpl').html();
+          var template = Handlebars.compile(tpl);
+          var html = template(res);
+          $("#menu-main").html(html);
+          element.init();
+        } else if (res.code === 403) {
+          top.location.href = baseUrl + "/login";
+        } else {
+          layer.msg(res.msg, {icon: 2});
+        }
+      }
+    });
+
+    // 榛樿鍔犺浇涓婚〉
+    index.loadHome({
+      menuPath: baseUrl+'/views/home/navigation.html',
+      menuName: '<i class="layui-icon layui-icon-home"></i>'
+    });
+
+    $('#username').text(localStorage.getItem('username'));
+
+    $(document).on('click','#logout', function () {
+      window.location.href = "login.html";
+      localStorage.removeItem('token');
+      localStorage.removeItem('username');
+      admin.closeAllTabs();
+    });
+
+    // 鏇挎崲閫�鍑烘寜閽彉閲�
+    var logout = document.getElementById('logout');
+    var url = logout.getAttribute('href');
+    logout.setAttribute('href', baseUrl + "/login");
+
+  });
+</script>
+<script type="text/html" id="menuTpl">
+  {{#each data}}
+  <li class="layui-nav-item">
+    <a><i class="layui-icon {{this.menuIcon}}"></i>&emsp;<cite>{{this.menu}}</cite></a>
+    <dl class="layui-nav-child">
+      {{#each this.subMenu}}
+      <dd><a lay-href="{{this.code}}?resourceId={{this.id}}">{{this.name}}</a></dd>
+      {{/each}}
+    </dl>
+  </li>
+  {{/each}}
+</script>
+</body>
+</html>
+
+
diff --git a/zy-asrs-wms/src/main/webapp/views/login.html b/zy-asrs-wms/src/main/webapp/views/login.html
new file mode 100644
index 0000000..d7aa305
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/login.html
@@ -0,0 +1,157 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>涓壃 鈹� login of zoneyung wms</title>
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1">
+    <meta name="description" content="study of Instancing with three.js">
+    <meta name="keywords" content="undefined, Yoichi Kobayashi, WebGL, three.js">
+    <meta name="theme-color" content="#111111">
+    <meta name="msapplication-TileImage" content="/sketch-threejs/img/common/ms_tileimage.png">
+    <meta name="msapplication-TileColor" content="#111111">
+    <link rel="icon" type="image/x-icon" href="../static/image/favicon.ico" />
+    <link rel="stylesheet" href="../static/css/font/font-awesome-4.7.0/css/font-awesome.css">
+    <link rel="stylesheet" href="../static/css/main.min.css">
+    <link rel="stylesheet" href="../static/css/login.css">
+    <style>
+      #sidebar{
+        /*瀹氫綅*/
+        position: absolute;
+        top: 50%;
+        right: 1%;
+        transform: translateY(-50%);
+        width: 20%;
+        height: 95%;
+        /*鐗规晥*/
+        background: rgba(255,255,255,0.6);
+        border-radius: 5px;
+        color: #ffffff;
+        z-index: 99;
+        box-shadow: 3px 3px 6px 3px rgba(0, 0, 0, .3);
+      }
+
+      .login-contain {
+        position: relative;
+        width: 100%;
+        height: 100%;
+      }
+      .login-box {
+        position: absolute;
+        top: 50%;
+        left: 50%;
+        transform: translate(-50%, -50%);
+        width: 100%;
+        text-align: center;
+      }
+
+    </style>
+  </head>
+  <body>
+    <div class="l-page l-page--white" data-id="instancing">
+      <div style="position: fixed;
+                    z-index: 100;
+                    top: 22px;
+                    left: 20px;">
+        <img src="../static/image/logo.png" alt="" style="width: 20%">
+      </div>
+      <div class="p-sketch-outline">
+        <h2 class="p-sketch-outline__title">Automatic Storage and Retrieval System</h2>
+        <p class="p-sketch-outline__date">posted: 2018.01.01 / update: 2022.03.18
+        </p>
+        <p class="p-sketch-outline__description">wms made with various simple objects.</p>
+      </div>
+      <canvas class="p-canvas-webgl" id="canvas-webgl"></canvas>
+    </div>
+    <!-- 渚ц竟鏍� -->
+    <div id="sidebar">
+      <div class="login-contain">
+        <div class="login-box">
+          <img src="../static/image/logo.png" alt="" style="width: 80%">
+          <span class="login100-form-title p-t-20 p-b-45">涓壃绔嬪簱</span>
+          <span class="login100-form-title p-t-20 p-b-45" style="margin: 15px 0;color: #868686;font-size: 24px">WMS</span>
+          <div class="wrap-input100 validate-input m-b-10" data-validate="璇疯緭鍏ョ敤鎴峰悕">
+            <input id="username" class="input100" type="text" name="username" placeholder="username" autocomplete="off">
+            <span class="focus-input100"></span>
+            <span class="symbol-input100">
+              <i class="fa fa-user"></i>
+            </span>
+          </div>
+          <div class="wrap-input100 validate-input m-b-10" data-validate="璇疯緭鍏ュ瘑鐮�">
+            <input id="password" class="input100" type="password" name="pass" placeholder="password">
+            <span class="focus-input100"></span>
+            <span class="symbol-input100">
+              <i class="fa fa-lock"></i>
+            </span>
+          </div>
+          <div class="container-login100-form-btn p-t-10">
+            <button class="login100-form-btn login-btn">Login</button>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <script type="text/javascript" src="../static/js/tools/main.min.js"></script>
+    <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
+    <script type="text/javascript" src="../static/js/tools/md5.js"></script>
+    <script type="text/javascript" src="../static/layer/layer.js"></script>
+    <script type="text/javascript" src="../static/js/common.js"></script>
+    <script>
+      // remember pwd
+      $(function () {
+        var oldUserName = localStorage.getItem('oldUserName');
+        var oldPass = localStorage.getItem('oldPass');
+        if(oldUserName){
+          $('#username').val(oldUserName);
+        }
+        if(oldPass){
+          $('#password').val(oldPass);
+        }
+      })
+
+      window.onload = function(){document.getElementById("username").focus();}
+
+      $(document).on('click','.login-btn', function () {
+        let username = $("#username").val();
+        if (username === "") {
+          layer.tips('璇疯緭鍏ョ櫥褰曡处鍙�', '#username', {tips: [4, '#ff0000']});
+          return;
+        }
+        let password = $("#password").val();
+        if (password === "") {
+          layer.tips('璇疯緭鍏ュ瘑鐮�', '#password', {tips: [4, '#ff0000']});
+          return;
+        }
+        $.ajax({
+          url: baseUrl+"/login.action",
+          data: {
+            username: username,
+            password: hex_md5(password)
+          },
+          method: 'POST',
+          success: function (res) {
+            if (res.code === 200){
+              localStorage.setItem("token", res.data.token);
+              localStorage.setItem("username", res.data.username);
+              window.location.href = "index.html";
+            } else if (res.code === 10001) {
+              layer.tips(res.msg, '#username', {tips: [4, '#ff0000']});
+            } else if (res.code === 10002) {
+              layer.tips(res.msg, '#username', {tips: [4, '#ff0000']});
+            } else if (res.code === 10003) {
+              layer.tips(res.msg, '#password', {tips: [4, '#ff0000']});
+            } else {
+              layer.tips(res.msg, '.login-btn', {tips: [3, '#ff0000']});
+            }
+          }
+        });
+      });
+
+      $('body').keydown(function () {
+        if (event.keyCode === 13) {
+          $(".login-btn").click();
+        }
+      });
+    </script>
+  </body>
+</html>
diff --git a/zy-asrs-wms/src/main/webapp/views/password.html b/zy-asrs-wms/src/main/webapp/views/password.html
new file mode 100644
index 0000000..70c14d5
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/password.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../static/layui/css/layui.css" media="all">
+    <style>
+        #password-div {
+            padding: 20px 20px 20px 13px;
+        }
+        .layui-form-item {
+            margin-bottom: 8px;
+        }
+        .layui-form-item .layui-input-inline {
+            margin: 0 0 10px 100px
+        }
+        .layui-form-label {
+            color: #999!important;;
+            padding: 9px 0;
+        }
+        #password-btn {
+            padding-top: 5px;
+            margin-left: 40px;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+        }
+        #password-btn.layui-btn-container .layui-btn{
+            margin-right: 30px;
+        }
+    </style>
+</head>
+<body id="body">
+<div id="password-div">
+    <div class="layui-form" lay-filter="">
+        <div class="layui-form-item">
+            <label class="layui-form-label">褰撳墠瀵嗙爜</label>
+            <div class="layui-input-inline">
+                <input id="oldPassword" type="password" class="layui-input" lay-verify="checkPwd" lay-vertype="tips" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">鏂板瘑鐮�</label>
+            <div class="layui-input-inline">
+                <input type="password"  class="layui-input" id="password" lay-verify="newPwd" lay-vertype="tips" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">纭鏂板瘑鐮�</label>
+            <div class="layui-input-inline">
+                <input type="password" class="layui-input" id="rePassword" lay-verify="rePwd" lay-vertype="tips" autocomplete="off">
+            </div>
+        </div>
+        <hr class="layui-bg-gray">
+        <div id="password-btn" class="layui-form-item layui-btn-container">
+            <div id="password-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="savePwd">淇濆瓨</div>
+            <div id="password-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+    </div>
+</div>
+</body>
+<script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../static/js/tools/md5.js"></script>
+<script type="text/javascript" src="../static/js/common.js" charset="utf-8"></script>
+<script src="../static/layui/layui.js"></script>
+<script>
+    layui.use(['form'], function() {
+        var form = layui.form,
+            layer = layui.layer,
+            $ = layui.jquery;
+
+        form.verify({
+            checkPwd: function(val) {
+                if (val === ""){
+                    // return "褰撳墠瀵嗙爜涓嶈兘涓虹┖";
+                }
+                if (parent.$('#password').val() !== hex_md5(val)) {
+                    return "瀵嗙爜涓嶅尮閰�";
+                }
+            },
+            newPwd: function (val) {
+                if (val === ""){
+                    return "鏂板瘑鐮佷笉鑳戒负绌�";
+                }
+                if (val.length < 4) {
+                    return "涓嶈兘灏戜簬4涓瓧绗�";
+                }
+                if (parent.$('#password').val() === hex_md5(val)) {
+                    return "涓庢棫瀵嗙爜涓嶈兘鐩稿悓";
+                }
+            },
+            rePwd: function (val) {
+                if ($('#password').val() !== val){
+                    return "瀵嗙爜涓嶄竴鑷�";
+                }
+            }
+        });
+
+        form.on('submit(savePwd)', function (data) {
+            var user = {
+                id: parent.$('#id').val(),
+                password: hex_md5($('#password').val()),
+            };
+            $.ajax({
+                url: baseUrl+"/user/update/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: user,
+                method: 'POST',
+                success: function (res) {
+                    if (res.code === 200){
+                        parent.layer.close();
+                        layer.confirm('瀵嗙爜淇敼鎴愬姛锛岃閲嶆柊鐧诲綍',{
+                            btn: ['纭畾'],
+                            btn1: function(){
+                                localStorage.removeItem("token");
+                                top.location.href = baseUrl+"/";
+                            },
+                            cancel: function(){
+                                localStorage.removeItem("token");
+                                top.location.href = baseUrl+"/";
+                            },
+                            closeBtn: 0,
+                            shadeClose: false,
+                        })
+                    } else if (res.code === 403){
+                        top.location.href = baseUrl+"/";
+                    } else {
+                        layer.msg(res.msg);
+                    }
+                }
+            });
+            return false;
+        });
+
+
+    });
+
+    // 鍏抽棴鍔ㄤ綔
+    $(document).on('click','#password-close', function () {
+        parent.layer.closeAll();
+    });
+</script>
+</html>
\ No newline at end of file
diff --git a/zy-asrs-wms/src/main/webapp/views/permission/permission.html b/zy-asrs-wms/src/main/webapp/views/permission/permission.html
new file mode 100644
index 0000000..7e2f98b
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/permission/permission.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 鎼滅储鏍� -->
+<div id="search-box" class="layui-form layui-card-header">
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline cool-auto-complete">
+            <input id="resourceId" class="layui-input" name="resource_id" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none">
+            <input id="resourceName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鎵�灞炶彍鍗�" onfocus=this.blur()>
+            <div class="cool-auto-complete-window">
+                <input class="cool-auto-complete-window-input" data-key="resourceQuery" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                <select class="cool-auto-complete-window-select" data-key="resourceQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                </select>
+            </div>
+        </div>
+    </div>
+
+    <!-- 寰呮坊鍔� -->
+    <div id="data-search-btn" class="layui-btn-container layui-form-item">
+        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+    </div>
+</div>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-hide" id="permission" lay-filter="permission"></table>
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
+        <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button>
+    </div>
+</script>
+
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>
+    <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/permission/permission.js" charset="utf-8"></script>
+
+<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
+
+</body>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/permission/permission_detail.html b/zy-asrs-wms/src/main/webapp/views/permission/permission_detail.html
new file mode 100644
index 0000000..a238eaf
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/permission/permission_detail.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form">
+        <div class="layui-inline"  style="display: none">
+            <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label>
+            <div class="layui-input-inline">
+                <input id="id" class="layui-input" type="text" placeholder="缂栧彿">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鏉冮檺鍚嶇О锛�</label>
+            <div class="layui-input-inline">
+                <input id="name" class="layui-input" type="text" placeholder="鏉冮檺鍚嶇О" lay-verify="required" >
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鎺ュ彛鍦板潃锛�</label>
+            <div class="layui-input-inline">
+                <input id="action" class="layui-input" type="text" placeholder="鎺ュ彛鍦板潃" lay-verify="required" >
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label">鎵�灞炶彍鍗曪細</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="resourceId" class="layui-input" type="text" placeholder="鎵�灞炶彍鍗�" style="display: none">
+                <input id="resourceName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鎵�灞炶彍鍗�" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="resourceQuery" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="resourceQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鐘躲��銆�鎬侊細</label>
+            <div class="layui-input-inline">
+                <select id="status" lay-verify="required">
+                    <option value="" style="display: none"></option>
+                    <option value="1">姝e父</option>
+                    <option value="0">绂佺敤</option>
+                </select>
+            </div>
+        </div>
+
+
+        <hr class="layui-bg-gray">
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+        <div id="prompt">
+            娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span>
+        </div>
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/permission/permission.js" charset="utf-8"></script>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/resource/resource.html b/zy-asrs-wms/src/main/webapp/views/resource/resource.html
new file mode 100644
index 0000000..92c2330
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/resource/resource.html
@@ -0,0 +1,309 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        #detail {
+            padding: 25px 30px 0 0;
+        }
+        .ew-tree-table-box {
+            height: 100%;
+        }
+    </style>
+</head>
+<body>
+
+
+<!-- 姝f枃寮�濮� -->
+<div class="layui-fluid">
+    <div class="layui-card">
+        <div class="layui-card-body">
+            <!-- 鏁版嵁琛ㄦ牸 -->
+            <table id="resource"></table>
+        </div>
+    </div>
+</div>
+
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
+    <a class="layui-btn layui-btn-danger layui-btn-xs btn-del" lay-event="del">鍒犻櫎</a>
+</script>
+
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+    <form id="detail" lay-filter="detail" class="layui-form" style="margin: 0">
+        <input name="id" type="hidden">
+        <input name="uuid" type="hidden">
+        <input name="level" type="hidden">
+        <div class="layui-row">
+
+            <div class="layui-col-md6">
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label">涓婄骇鑿滃崟</label>
+                    <div class="layui-input-block">
+                        <div id="resourceParentSel" class="ew-xmselect-tree"></div>
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鑿滃崟缂栫爜</label>
+                    <div class="layui-input-block">
+                        <input name="code" placeholder="璇疯緭鍏ヨ彍鍗曠紪鐮�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">绫诲瀷</label>
+                    <div class="layui-input-block">
+                        <select name="level" lay-vertype="tips" lay-verify="required" required="">
+                            <option value="">璇烽�夋嫨绫诲瀷</option>
+                            <option value="1">涓�绾ц彍鍗�</option>
+                            <option value="2">浜岀骇鑿滃崟</option>
+                            <option value="3">鎸夐挳</option>
+                        </select>
+                    </div>
+                </div>
+
+            </div>
+
+            <div class="layui-col-md6">
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鑿滃崟鍚嶇О</label>
+                    <div class="layui-input-block">
+                        <input name="name" placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鎺掑簭</label>
+                    <div class="layui-input-block">
+                        <input name="sort" placeholder="璇疯緭鍏ユ帓搴�" class="layui-input" lay-verify="number">
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鐘舵��</label>
+                    <div class="layui-input-block">
+                        <select name="status" lay-vertype="tips" lay-verify="required" required="">
+                            <option value="">璇烽�夋嫨鐘舵��</option>
+                            <option value="1">姝e父</option>
+                            <option value="0">绂佺敤</option>
+                        </select>
+                    </div>
+                </div>
+
+            </div>
+        </div>
+        <hr class="layui-bg-gray">
+        <div class="layui-form-item text-right">
+            <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+        </div>
+    </form>
+</script>
+<script type="text/html" id="typeTpl">
+    {{# if( d.level === 1 ){ }}
+    <span name="level" class="layui-badge layui-badge-green">鑿滃崟</span>
+    {{# } else if(d.level === 2){ }}
+    <span name="level" class="layui-badge layui-badge-green">鑿滃崟</span>
+    {{# } else if(d.level === 3){ }}
+    <span name="level" class="layui-badge layui-badge-gray">鎸夐挳</span>
+    {{# } }}
+</script>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+
+<script>
+    layui.config({
+        base: baseUrl + "/static/layui/lay/modules/"
+    }).use(['form','treeTable', 'admin', 'xmSelect'], function() {
+        var $ = layui.jquery;
+        var layer = layui.layer;
+        var form = layui.form;
+        var admin = layui.admin;
+        var treeTable = layui.treeTable;
+        var xmSelect = layui.xmSelect;
+        var tbDataList = [];
+
+        var insTb = treeTable.render({
+            elem: '#resource',
+            url: baseUrl+'/resource/tree/auth',
+            headers: {token: localStorage.getItem('token')},
+            height: 'full-200',
+            toolbar: ['<p>',
+                '<button lay-event="add" class="layui-btn layui-btn-sm icon-btn"><i class="layui-icon">&#xe654;</i>娣诲姞</button>&nbsp;',
+                '<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon">&#xe640;</i>鍒犻櫎</button>',
+                '</p>'].join(''),
+            tree: {
+                iconIndex: 2,           // 鎶樺彔鍥炬爣鏄剧ず鍦ㄧ鍑犲垪
+                isPidData: true,        // 鏄惁鏄痠d銆乸id褰㈠紡鏁版嵁
+                idName: 'id',           // id瀛楁鍚嶇О
+                pidName: 'resourceId'     // pid瀛楁鍚嶇О
+            },
+            cols: [[
+                {type: 'checkbox', fixed: 'left'}
+                ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80, hide: true}
+                ,{field: 'name', align: 'left',title: '鑿滃崟鍚嶇О'}
+                ,{field: 'code', align: 'center',title: '鑿滃崟缂栫爜'}
+                // ,{field: 'resourceName', align: 'center',title: '鐖剁骇鑿滃崟'}
+                // ,{field: 'level$', align: 'center',title: '鑿滃崟绛夌骇'}
+                ,{field: 'type', align: 'center',title: '绫诲瀷', templet: '#typeTpl', width: 120}
+                ,{field: 'sort', align: 'center',title: '鎺掑簭'}
+
+                ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150}
+            ]],
+            done: function (data) {
+                $('.ew-tree-table-box').css('height', '100%');
+                // insTb.expandAll();
+                tbDataList = data;
+                limit();
+            }
+        });
+
+        /* 琛ㄦ牸澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */
+        treeTable.on('toolbar(resource)', function (obj) {
+            if (obj.event === 'add') { // 娣诲姞
+                showEditModel();
+            } else if (obj.event === 'del') { // 鍒犻櫎
+                var checkRows = insTb.checkStatus();
+                if (checkRows.length === 0) {
+                    layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+                    return;
+                }
+                var ids = checkRows.map(function (d) {
+                    if (!d.LAY_INDETERMINATE) {
+                        return d.id;
+                    } else {
+                        return null;
+                    }
+                });
+                doDel({ids: ids});
+            }
+        });
+
+        /* 琛ㄦ牸鎿嶄綔鍒楃偣鍑讳簨浠� */
+        treeTable.on('tool(resource)', function (obj) {
+            if (obj.event === 'edit') { // 淇敼
+                showEditModel(obj.data);
+            } else if (obj.event === 'del') { // 鍒犻櫎
+                doDel(obj);
+            }
+        });
+
+        /* 鏄剧ず琛ㄥ崟寮圭獥 */
+        function showEditModel(mData) {
+            admin.open({
+                type: 1,
+                area: '600px',
+                title: (mData ? '淇敼' : '娣诲姞') + '鏉冮檺',
+                content: $('#editDialog').html(),
+                success: function (layero, dIndex) {
+                    // 鍥炴樉琛ㄥ崟鏁版嵁
+                    form.val('detail', mData);
+                    // 琛ㄥ崟鎻愪氦浜嬩欢
+                    form.on('submit(editSubmit)', function (data) {
+                        data.field.resourceId = insXmSel.getValue('valueStr');
+                        var loadIndex = layer.load(2);
+                        $.ajax({
+                            url: baseUrl+"/resource/"+(mData?'update':'add')+"/auth",
+                            headers: {'token': localStorage.getItem('token')},
+                            data: data.field,
+                            method: 'POST',
+                            success: function (res) {
+                                layer.close(loadIndex);
+                                if (res.code === 200){
+                                    layer.close(dIndex);
+                                    layer.msg(res.msg, {icon: 1});
+                                    insTb.refresh();
+                                    setTimeout(function () {
+                                        insTb.expand(data.field.resourceId);
+                                    }, 200)
+                                } else if (res.code === 403){
+                                    top.location.href = baseUrl+"/";
+                                }else {
+                                    layer.msg(res.msg, {icon: 2});
+                                }
+                            }
+                        })
+                        return false;
+                    });
+
+                    // 娓叉煋涓嬫媺鏍�
+                    var insXmSel = xmSelect.render({
+                        el: '#resourceParentSel',
+                        height: '250px',
+                        data: insTb.options.data,
+                        initValue: mData&&mData.resourceId!=null ? [mData.resourceId] : [],
+                        model: {label: {type: 'text'}},
+                        prop: {
+                            name: 'name',
+                            value: 'id'
+                        },
+                        radio: true,
+                        clickClose: true,
+                        tree: {
+                            show: true,
+                            indent: 15,
+                            strict: false,
+                            expandedKeys: false
+                        }
+                    });
+                    // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+                    $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                    layui.form.render('select');
+                }
+            });
+        }
+
+        /* 鍒犻櫎 */
+        function doDel(obj) {
+            layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+                skin: 'layui-layer-admin',
+                shade: .1
+            }, function (i) {
+                layer.close(i);
+                var loadIndex = layer.load(2);
+                var ids;
+                if (obj.data) {
+                    ids = [];
+                    ids[0] = obj.data.id;
+                } else {
+                    ids = obj.ids;
+                }
+                $.ajax({
+                    url: baseUrl+"/resource/delete/auth",
+                    headers: {'token': localStorage.getItem('token')},
+                    data: {ids: ids},
+                    method: 'POST',
+                    success: function (res) {
+                        layer.close(loadIndex);
+                        if (res.code === 200){
+                            layer.msg(res.msg, {icon: 1});
+                            insTb.refresh();
+                        } else if (res.code === 403){
+                            top.location.href = baseUrl+"/";
+                        } else {
+                            layer.msg(res.msg, {icon: 2});
+                        }
+                    }
+                })
+            });
+        }
+
+    });
+</script>
+</body>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/role/role.html b/zy-asrs-wms/src/main/webapp/views/role/role.html
new file mode 100644
index 0000000..0023b90
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/role/role.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 鎼滅储鏍� -->
+<div id="search-box" class="layui-form layui-card-header">
+    <div class="layui-inline" >
+        <div class="layui-input-inline cool-auto-complete">
+            <input id="leader" name="leader" class="layui-input" type="text" style="display: none">
+            <input id="leader$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="涓婄骇" onfocus=this.blur()>
+            <div class="cool-auto-complete-window">
+                <input class="cool-auto-complete-window-input" data-key="roleQueryByleader" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                <select class="cool-auto-complete-window-select" data-key="roleQueryByleaderSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                </select>
+            </div>
+        </div>
+    </div>
+    <!-- 寰呮坊鍔� -->
+    <div id="data-search-btn" class="layui-btn-container layui-form-item">
+        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+    </div>
+</div>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-hide" id="role" lay-filter="role"></table>
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
+        <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button>
+    </div>
+</script>
+
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-xs layui-btn-warm" lay-event="power">鏉冮檺</a>
+    <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/role/role.js" charset="utf-8"></script>
+
+<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
+
+</body>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/role/role_detail.html b/zy-asrs-wms/src/main/webapp/views/role/role_detail.html
new file mode 100644
index 0000000..e9dfa73
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/role/role_detail.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form">
+        <div class="layui-inline"  style="display: none">
+            <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label>
+            <div class="layui-input-inline">
+                <input id="id" class="layui-input" type="text" placeholder="缂栧彿">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鐮侊細</label>
+            <div class="layui-input-inline">
+                <input id="code" class="layui-input" type="text" lay-verify="required" >
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鍚嶃��銆�绉帮細</label>
+            <div class="layui-input-inline">
+                <input id="name" class="layui-input" type="text" lay-verify="required" >
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label">涓娿��銆�绾э細</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="leader" class="layui-input" type="text" style="display: none">
+                <input id="leader$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="roleQueryByleader" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="roleQueryByleaderSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline"  style="display: none; width:31%;">
+            <label class="layui-form-label">瑙掕壊绛夌骇锛�</label>
+            <div class="layui-input-inline">
+                <select id="level">
+                    <option value="" style="display: none"></option>
+                    <option value="1">涓�绾�</option>
+                    <option value="2">浜岀骇</option>
+                    <option value="3">涓夌骇</option>
+                    <option value="4">鍥涚骇</option>
+                    <option value="5">浜旂骇</option>
+                </select>
+            </div>
+        </div>
+
+
+        <hr class="layui-bg-gray">
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+        <div id="prompt">
+            娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span>
+        </div>
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/role/role.js" charset="utf-8"></script>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/role/role_power_detail.html b/zy-asrs-wms/src/main/webapp/views/role/role_power_detail.html
new file mode 100644
index 0000000..b40a41f
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/role/role_power_detail.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title>鏉冮檺绠$悊</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<style>
+    #power {
+        margin-left: 20px;
+    }
+    .layui-tree.layui-form.layui-tree-line {
+        margin-left: 30px
+    }
+</style>
+<body>
+
+<!-- 鏉冮檺鏍戝舰鍥� -->
+    <form id="power" class="layui-form">
+        <div id="power-tree"></div>
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js"></script>
+<script type="text/javascript" src="../../static/js/role/rolePower.js" charset="utf-8"></script>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/alarm-detl.html b/zy-asrs-wms/src/main/webapp/views/tpl/alarm-detl.html
new file mode 100644
index 0000000..1539922
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/alarm-detl.html
@@ -0,0 +1,52 @@
+<style>
+    pre {
+        font-family: 'DejaVu Sans Mono','Courier New',monospace;
+        padding: 15px 10px;
+        line-height: 17px;
+        margin: 5px;
+        word-wrap: break-word;
+        border: solid 1px #9e9e9e;
+        border-radius: 3px;
+        color: #729fcf;
+    }
+    .string { color: #4e9a06; }
+    .number { color: #ad7fa8; }
+    .boolean { color: #c4a000; }
+    .null { color: #babdb6; }
+    .key { color: #204a87; }
+</style>
+
+<div style="padding: 25px 25px 15px 25px;" id="callbackDialog">
+    <fieldset class="layui-elem-field layui-field-title">
+        <legend>鍩虹淇℃伅</legend>
+    </fieldset>
+    <div class="layui-text" style="margin-bottom: 5px;">
+        浜嬩欢缂栧彿锛歿{d.request}}<br />
+        璁惧缂栧彿锛歿{d.response.sensorId$}}<br />
+        璁惧绫诲瀷锛歿{d.response.sensorType$}}<br />
+    </div>
+    <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
+        <legend>鎶ヨ淇℃伅</legend>
+    </fieldset>
+    <div class="layui-text" style="margin-bottom: 5px;">
+        鍙戦�佹椂闂达細{{d.response.createTime$}}<br />
+        鏁呴殰鎻忚堪锛歿{d.response.desc}}<br />
+    </div>
+    <div class="text-center" style="padding-top: 15px;text-align: right">
+        <button class="layui-btn layui-btn-normal" ew-event="closeDialog">鍏抽棴</button>
+    </div>
+</div>
+
+<!-- js閮ㄥ垎 -->
+<script>
+    layui.config({
+        base: baseUrl + "/static/layui/lay/modules/"
+    }).use(['layer', 'admin'], function () {
+        var $ = layui.jquery;
+        var layer = layui.layer;
+        var admin = layui.admin;
+
+        var layerData = admin.getLayerData('#callbackDialog');
+    });
+
+</script>
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/ic_loading.gif b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/ic_loading.gif
new file mode 100644
index 0000000..071ecd6
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/ic_loading.gif
Binary files differ
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/icon_date.png b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/icon_date.png
new file mode 100644
index 0000000..5a50673
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/icon_date.png
Binary files differ
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/icon_search.png b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/icon_search.png
new file mode 100644
index 0000000..7db69d2
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/icon_search.png
Binary files differ
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-admin.png b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-admin.png
new file mode 100644
index 0000000..6b4696f
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-admin.png
Binary files differ
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-blue.png b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-blue.png
new file mode 100644
index 0000000..33c9d24
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-blue.png
Binary files differ
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-colorful.png b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-colorful.png
new file mode 100644
index 0000000..2cbeba0
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-colorful.png
Binary files differ
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-cyan.png b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-cyan.png
new file mode 100644
index 0000000..368c04f
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-cyan.png
Binary files differ
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-green.png b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-green.png
new file mode 100644
index 0000000..f7a5ca5
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-green.png
Binary files differ
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-my.png b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-my.png
new file mode 100644
index 0000000..9fd7419
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-my.png
Binary files differ
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-pink.png b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-pink.png
new file mode 100644
index 0000000..6088b1e
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-pink.png
Binary files differ
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-purple.png b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-purple.png
new file mode 100644
index 0000000..072f439
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-purple.png
Binary files differ
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-red.png b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-red.png
new file mode 100644
index 0000000..db9922e
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-red.png
Binary files differ
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-white.png b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-white.png
new file mode 100644
index 0000000..4b4cb1f
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/theme/img/theme-white.png
Binary files differ
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/tpl-note.html b/zy-asrs-wms/src/main/webapp/views/tpl/tpl-note.html
new file mode 100644
index 0000000..5910e86
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/tpl-note.html
@@ -0,0 +1,206 @@
+<div class="layui-card-header">鏈湴渚跨</div>
+<div class="note-wrapper"></div>
+<div class="note-empty">
+    <i class="layui-icon layui-icon-face-surprised"></i>
+    <p>娌℃湁渚跨</p>
+</div>
+<div class="btn-circle" id="noteAddBtn" title="娣诲姞渚跨" style="position: absolute;">
+    <i class="layui-icon layui-icon-add-1"></i>
+</div>
+
+<script>
+    layui.use(['layer', 'form', 'util', 'admin'], function () {
+        var $ = layui.jquery;
+        var layer = layui.layer;
+        var util = layui.util;
+        var admin = layui.admin;
+        var dataList = [];  // 渚跨鍒楄〃
+        var $noteWrapper = $('.note-wrapper');
+
+        /* 娓叉煋鍒楄〃 */
+        function renderList() {
+            $noteWrapper.empty();
+            dataList = layui.data(admin.setter.tableName).notes;
+            if (dataList === undefined) dataList = [];
+            for (var i = 0; i < dataList.length; i++) {
+                var item = dataList[i];
+                $noteWrapper.prepend([
+                    '<div class="note-item" data-id="', item.id, '">',
+                    '   <div class="note-item-content">', util.escape(item.content), '</div>',
+                    '   <div class="note-item-time">', item.time, '</div>',
+                    '   <i class="layui-icon layui-icon-close-fill note-item-del"></i>',
+                    '</div>'
+                ].join(''));
+            }
+            $('.note-empty').css('display', dataList.length === 0 ? 'block' : 'none');
+            // 鐐瑰嚮淇敼
+            $('.note-item').click(function () {
+                var index = parseInt($(this).attr('data-id'));
+                showNote(dataList[index]);
+            });
+            // 鐐瑰嚮鍒犻櫎
+            $('.note-item-del').click(function (e) {
+                var id = parseInt($(this).parent().attr('data-id'));
+                layer.confirm('纭鍒犻櫎鍚楋紵', {
+                    skin: 'layui-layer-admin',
+                    shade: .1,
+                    shadeClose: true
+                }, function (index) {
+                    layer.close(index);
+                    dataList.splice(id, 1);
+                    for (var i = 0; i < dataList.length; i++) dataList[i].id = i;
+                    putDataList();
+                    renderList();
+                });
+                e.stopPropagation();
+            });
+        }
+
+        renderList();
+
+        /* 娣诲姞 */
+        $('#noteAddBtn').click(function () {
+            showNote();
+        });
+
+        // 鏄剧ず缂栬緫寮圭獥
+        function showNote(data) {
+            var id = data ? data.id : undefined, content = data ? data.content : '';
+            admin.open({
+                id: 'layer-note-edit',
+                title: '渚跨',
+                type: 1,
+                area: 'auto',
+                offset: '50px',
+                shadeClose: true,
+                content: '<textarea id="noteEditText" placeholder="璇疯緭鍏ュ唴瀹�" style="width: 280px;height: 150px;border: none;color: #666666;word-wrap: break-word;padding: 10px 20px;resize: vertical;">' + content + '</textarea>',
+                success: function () {
+                    $('#noteEditText').change(function () {
+                        content = $(this).val();
+                    });
+                },
+                end: function () {
+                    if (id !== undefined) {
+                        if (!content) {
+                            dataList.splice(id, 1);
+                            for (var i = 0; i < dataList.length; i++) dataList[i].id = i;
+                        } else if (content !== dataList[id].content) {
+                            dataList[id].content = content;
+                            dataList[id].time = util.toDateString(new Date(), 'yyyy-MM-dd HH:mm');
+                        }
+                    } else if (content) {
+                        dataList.push({
+                            id: dataList.length, content: content,
+                            time: util.toDateString(new Date(), 'yyyy-MM-dd HH:mm')
+                        });
+                    }
+                    putDataList();
+                    renderList();
+                }
+            });
+        }
+
+        /* 鏇存柊鏈湴缂撳瓨 */
+        function putDataList() {
+            layui.data(admin.setter.tableName, {key: 'notes', value: dataList});
+        }
+
+    });
+</script>
+
+<style>
+    .note-wrapper {
+        padding: 15px 0 15px 15px;
+        background-color: #fbfbfb;
+        position: absolute;
+        top: 43px;
+        left: 0;
+        right: 0;
+        bottom: 0;
+        overflow-y: auto;
+        -webkit-overflow-scrolling: touch;
+    }
+
+    .note-wrapper .note-item {
+        display: inline-block;
+        width: 110px;
+        padding: 12px;
+        cursor: pointer;
+        position: relative;
+        border-radius: 8px;
+        margin: 0 15px 15px 0;
+        border: 1px solid #eeeeee;
+        background-color: #ffffff;
+        -webkit-user-select: none;
+        -moz-user-select: none;
+        -ms-user-select: none;
+        user-select: none;
+        -webkit-transition: all .3s ease;
+        -moz-transition: all .3s ease;
+        -ms-transition: all .3s ease;
+        -o-transition: all .3s ease;
+        transition: all .3s ease;
+    }
+
+    .note-wrapper .note-item:hover {
+        box-shadow: 0 0 8px rgba(0, 0, 0, .05);
+        -webkit-transform: scale(1.02);
+        -moz-transform: scale(1.02);
+        -ms-transform: scale(1.02);
+        -o-transform: scale(1.02);
+        transform: scale(1.02);
+    }
+
+    .note-wrapper .note-item .note-item-content {
+        color: #666;
+        height: 80px;
+        font-size: 14px;
+        overflow: hidden;
+        word-break: break-all;
+    }
+
+    .note-wrapper .note-item .note-item-time {
+        color: #999;
+        font-size: 12px;
+        margin-top: 8px;
+    }
+
+    .note-wrapper .note-item .note-item-del {
+        position: absolute;
+        top: 2px;
+        right: 2px;
+        color: #FF5722;
+        font-size: 24px;
+        height: 24px;
+        width: 24px;
+        background-color: #fff;
+        border-radius: 50%;
+        visibility: hidden;
+        -webkit-transition: all .3s ease;
+        -moz-transition: all .3s ease;
+        -ms-transition: all .3s ease;
+        -o-transition: all .3s ease;
+        transition: all .3s ease;
+        opacity: 0;
+    }
+
+    .note-wrapper .note-item:hover .note-item-del {
+        visibility: visible;
+        opacity: 1;
+    }
+
+    .note-empty {
+        color: #999;
+        padding: 80px 0;
+        text-align: center;
+        display: none;
+        position: relative;
+        z-index: 1
+    }
+
+    .note-empty .layui-icon {
+        font-size: 60px;
+        margin-bottom: 10px;
+        display: inline-block;
+    }
+</style>
\ No newline at end of file
diff --git a/zy-asrs-wms/src/main/webapp/views/tpl/tpl-theme.html b/zy-asrs-wms/src/main/webapp/views/tpl/tpl-theme.html
new file mode 100644
index 0000000..7a1add0
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/tpl/tpl-theme.html
@@ -0,0 +1,229 @@
+<div class="layui-card-header">涓婚璁剧疆</div>
+<div class="more-theme-list">
+    <div class="more-theme-item" data-theme="theme-normal">
+        <img src="tpl/theme/img/theme-admin.png"/>
+    </div>
+    <div class="more-theme-item" data-theme="theme-cyan">
+        <img src="tpl/theme/img/theme-cyan.png"/>
+    </div>
+    <div class="more-theme-item" data-theme="theme-white">
+        <img src="tpl/theme/img/theme-white.png"/>
+    </div>
+    <div class="more-theme-item" data-theme="theme-pink">
+        <img src="tpl/theme/img/theme-pink.png"/>
+    </div>
+    <div class="more-theme-item active" data-theme="theme-colorful">
+        <img src="tpl/theme/img/theme-colorful.png"/>
+    </div>
+    <div class="more-theme-item" data-theme="theme-blue">
+        <img src="tpl/theme/img/theme-blue.png"/>
+    </div>
+    <div class="more-theme-item" data-theme="theme-green">
+        <img src="tpl/theme/img/theme-green.png"/>
+    </div>
+    <div class="more-theme-item" data-theme="theme-purple">
+        <img src="tpl/theme/img/theme-purple.png"/>
+    </div>
+<!--    <div class="more-theme-item" data-theme="theme-red">-->
+<!--        <img src="tpl/theme/img/theme-red.png"/>-->
+<!--    </div>-->
+    <div class="more-theme-item" data-theme="theme-my">
+        <img src="tpl/theme/img/theme-my.png"/>
+    </div>
+</div>
+<!-- 瀵艰埅 -->
+<div class="more-menu-list">
+<!--    <a class="more-menu-item" href="https://easyweb.vip/doc/" target="_blank">-->
+<!--        <i class="layui-icon layui-icon-read" style="font-size: 19px;"></i> 寮�鍙戞枃妗�-->
+<!--    </a>-->
+<!--    <a class="more-menu-item" href="https://demo.easyweb.vip/spa" target="_blank">-->
+<!--        <i class="layui-icon layui-icon-tabs" style="font-size: 16px;"></i> &nbsp;spa鐗堟湰-->
+<!--    </a>-->
+<!--    <a class="more-menu-item" href="https://demo.easyweb.vip/theme" target="_blank">-->
+<!--        <i class="layui-icon layui-icon-theme"></i> 涓婚鐢熸垚鍣�-->
+<!--    </a>-->
+</div>
+<!-- 鎺у埗寮�鍏� -->
+<div class="layui-form" style="margin: 25px 0;" lay-filter="more-set-form">
+    <div class="layui-form-item">
+        <label class="set-item-label">椤�&emsp;鑴氾細</label>
+        <div class="set-item-ctrl">
+            <input id="setFooter" lay-filter="setFooter" type="checkbox" lay-skin="switch" lay-text="寮�鍚瘄鍏抽棴">
+        </div>
+        <label class="set-item-label"> Tab&nbsp;璁板繂锛�</label>
+        <div class="set-item-ctrl">
+            <input id="setTab" lay-filter="setTab" type="checkbox" lay-skin="switch" lay-text="寮�鍚瘄鍏抽棴">
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="set-item-label">澶氭爣绛撅細</label>
+        <div class="set-item-ctrl">
+            <input id="setMoreTab" lay-filter="setMoreTab" type="checkbox" lay-skin="switch" lay-text="寮�鍚瘄鍏抽棴">
+        </div>
+        <label class="set-item-label">鍒囨崲鍒锋柊锛�</label>
+        <div class="set-item-ctrl">
+            <input id="setRefresh" lay-filter="setRefresh" type="checkbox" lay-skin="switch" lay-text="寮�鍚瘄鍏抽棴">
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="set-item-label">瀵艰埅绠ご锛�</label>
+        <div class="set-item-ctrl">
+            <input lay-filter="navArrow" type="radio" value="" title="榛樿" name="navArrow">
+            <input lay-filter="navArrow" type="radio" value="arrow2" title="绠ご" name="navArrow">
+            <input lay-filter="navArrow" type="radio" value="arrow3" title="鍔犲彿" name="navArrow">
+        </div>
+    </div>
+</div>
+
+<script>
+    layui.use(['form', 'admin'], function () {
+        var $ = layui.jquery;
+        var form = layui.form;
+        var admin = layui.admin;
+        var setter = admin.setter;
+        var $body = $('body');
+
+        // 鍒囨崲涓婚
+        var $themItem = $('.more-theme-item');
+        $themItem.click(function () {
+            $themItem.removeClass('active');
+            $(this).addClass('active');
+            admin.changeTheme($(this).data('theme'));
+        });
+        var theme = $body.data('theme');
+        if (theme) {
+            $themItem.removeClass('active');
+            $themItem.filter('[data-theme="' + theme + '"]').addClass('active');
+        }
+
+        // 鍏抽棴/寮�鍚〉鑴�
+        form.on('switch(setFooter)', function (data) {
+            var checked = data.elem.checked;
+            admin.putSetting('closeFooter', !checked);
+            checked ? $body.removeClass('close-footer') : $body.addClass('close-footer');
+        });
+        $('#setFooter').prop('checked', !$body.hasClass('close-footer'));
+
+        // 鍏抽棴/寮�鍚疶ab璁板繂鍔熻兘
+        form.on('switch(setTab)', function (data) {
+            layui.index.setTabCache(data.elem.checked);
+        });
+        $('#setTab').prop('checked', setter.cacheTab);
+
+        // 鍏抽棴/寮�鍚鏍囩
+        form.on('switch(setMoreTab)', function (data) {
+            var checked = data.elem.checked;
+            admin.putSetting('pageTabs', checked);
+            admin.putTempData('indexTabs', undefined);
+            location.reload();
+        });
+        $('#setMoreTab').prop('checked', setter.pageTabs);
+
+        // 鍒囨崲Tab鑷姩鍒锋柊
+        var $mainTab = $('.layui-body>.layui-tab[lay-filter="admin-pagetabs"]');
+        form.on('switch(setRefresh)', function (data) {
+            var checked = data.elem.checked;
+            admin.putSetting('tabAutoRefresh', checked);
+            checked ? $mainTab.attr('lay-autoRefresh', 'true') : $mainTab.removeAttr('lay-autoRefresh');
+        });
+        $('#setRefresh').prop('checked', setter.tabAutoRefresh === true);
+
+        // 瀵艰埅灏忎笁瑙�
+        var $leftNav = $('.layui-layout-admin>.layui-side>.layui-side-scroll>.layui-nav');
+        form.on('radio(navArrow)', function (data) {
+            $leftNav.removeClass('arrow2 arrow3');
+            data.value && $leftNav.addClass(data.value);
+            admin.putSetting('navArrow', data.value);
+        });
+        var navArrow = $leftNav.hasClass('arrow2') ? 'arrow2' : $leftNav.hasClass('arrow3') ? 'arrow3' : '';
+        $('[name="navArrow"][value="' + navArrow + '"]').prop('checked', true);
+
+        form.render('radio', 'more-set-form');
+        form.render('checkbox', 'more-set-form');
+    });
+</script>
+
+<style>
+    /* theme */
+    .more-theme-list {
+        padding-left: 15px;
+        padding-top: 20px;
+        margin-bottom: 10px;
+    }
+
+    .more-theme-item {
+        padding: 4px;
+        margin: 0 6px 15px 0;
+        display: inline-block;
+        border: 1px solid transparent;
+    }
+
+    .more-theme-item img {
+        width: 80px;
+        height: 50px;
+        background: #f5f7f9;
+        box-sizing: border-box;
+        border: 1px solid #f5f7f9;
+        cursor: pointer;
+    }
+
+    .more-theme-item:hover, .more-theme-item.active {
+        border-color: #5FB878;
+    }
+
+    .more-menu-item {
+        color: #595959;
+        height: 50px;
+        line-height: 50px;
+        font-size: 16px;
+        padding: 0 25px;
+        border-bottom: 1px solid #e8e8e8;
+        font-style: normal;
+        display: block;
+    }
+
+    /* menu */
+    .more-menu-item:first-child {
+        border-top: 1px solid #e8e8e8;
+    }
+
+    .more-menu-item:hover {
+        color: #595959;
+        background: #f6f6f6;
+    }
+
+    .more-menu-item .layui-icon {
+        font-size: 18px;
+        padding-right: 10px;
+    }
+
+    .more-menu-item:after {
+        color: #8c8c8c;
+        right: 16px;
+        content: "\e602";
+        position: absolute;
+        font-family: layui-icon !important;
+    }
+
+    .more-menu-item.no-icon:after {
+        display: none;
+    }
+
+    /* setting from */
+    .set-item-label {
+        height: 38px;
+        line-height: 38px;
+        padding-left: 20px;
+        display: inline-block;
+    }
+
+    .set-item-ctrl {
+        height: 38px;
+        line-height: 38px;
+        display: inline-block;
+    }
+
+    .set-item-ctrl > * {
+        margin: 0 !important;
+    }
+</style>
diff --git a/zy-asrs-wms/src/main/webapp/views/user/user.html b/zy-asrs-wms/src/main/webapp/views/user/user.html
new file mode 100644
index 0000000..d2611c8
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/user/user.html
@@ -0,0 +1,177 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/originTable.css" media="all">
+    <style>
+        body {
+            color: #595959;
+            background-color: #f5f7f9;
+        }
+
+        .admin-form {
+            padding: 25px 30px 0 0 !important;
+            margin: 0 !important;
+        }
+    </style>
+</head>
+<body>
+<!-- 姝f枃寮�濮� -->
+<div class="layui-fluid" style="padding-bottom: 0;">
+    <div class="layui-row layui-col-space15">
+        <div class="layui-col-md12">
+            <div class="layui-card">
+                <div class="layui-card-body" style="padding: 10px;">
+                    <form class="layui-form toolbar">
+                        <div class="layui-form-item">
+                            <div class="layui-inline">
+                                <label class="layui-form-label">鐢ㄦ埛鍚�:</label>
+                                <div class="layui-input-inline">
+                                    <input name="username" class="layui-input" placeholder="杈撳叆鐢ㄦ埛鍚�"/>
+                                </div>
+                            </div>
+                            <div class="layui-inline">
+                                <label class="layui-form-label">鎵嬫満鍙�:</label>
+                                <div class="layui-input-inline">
+                                    <input name="mobile" class="layui-input" placeholder="杈撳叆鎵嬫満鍙�"/>
+                                </div>
+                            </div>
+                            <div class="layui-inline">&emsp;
+                                <button class="layui-btn icon-btn" lay-filter="userTbSearch" lay-submit>
+                                    <i class="layui-icon">&#xe615;</i>鎼滅储
+                                </button>
+                            </div>
+                        </div>
+                    </form>
+                    <table id="userTable" lay-filter="userTable"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+<script type="text/html" id="hostTpl">
+    <span name="hostName" class="layui-badge layui-badge-gray">{{d.hostName}}</span>
+</script>
+
+<script type="text/html" id="statusTpl">
+    <input type="checkbox" name="status" value="{{d.status}}" lay-skin="switch" lay-text="姝e父|绂佺敤" lay-filter="statusSwitch" {{ d.status === 1 ? 'checked' : '' }}>
+</script>
+
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a>
+    <a class="layui-btn layui-btn-xs btn-edit layui-btn-warm" lay-event="resetPwd">閲嶇疆瀵嗙爜</a>
+</script>
+
+<script type="text/html" id="userToolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm layui-btn-normal" id="btn-add" lay-event="add"><i class="layui-icon">&#xe654;</i>鏂板</button>
+        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="del"><i class="layui-icon">&#xe640;</i>鍒犻櫎</button>
+    </div>
+</script>
+
+<!-- 閲嶇疆瀵嗙爜 -->
+<script type="text/html" id="resetpwd-window">
+    <form class="layui-form model-form">
+        <input type="hidden" id="resetUserId" name="resetUserId">
+        <div class="layui-form-item">
+            <label class="layui-form-label layui-form-required">鏂板瘑鐮�:</label>
+            <div class="layui-input-block">
+                <input id="resetPassword" name="resetPassword" placeholder="璇疯緭鍏ユ柊瀵嗙爜" class="layui-input" lay-verify="required" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-form-item text-right">
+            <button class="layui-btn layui-btn-normal" id="savePwd" lay-filter="savePwd" lay-submit="">纭畾</button>
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+        </div>
+    </form>
+</script>
+
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+    <form id="detail" lay-filter="detail" class="layui-form admin-form">
+        <input name="id" type="hidden">
+        <input name="status" type="hidden">
+        <div class="layui-row">
+
+            <div class="layui-col-md6">
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鐧诲綍璐︽埛</label>
+                    <div class="layui-input-block">
+                        <input name="username" placeholder="璇疯緭鍏ョ櫥褰曡处鎴�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label">瑙掕壊锛�</label>
+                    <div class="layui-input-block cool-auto-complete">
+                        <input name="roleId" class="layui-input" style="display: none">
+                        <input id="roleName" name="roleName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇烽�夋嫨瑙掕壊" onfocus=this.blur()>
+                        <div class="cool-auto-complete-window">
+                            <input class="cool-auto-complete-window-input" data-key="roleQuery" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                            <select class="cool-auto-complete-window-select" data-key="roleQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                            </select>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+            <div class="layui-col-md6">
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鎵嬫満鍙�</label>
+                    <div class="layui-input-block">
+                        <input name="mobile" placeholder="璇疯緭鍏ユ墜鏈哄彿" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">閭</label>
+                    <div class="layui-input-block">
+                        <input name="email" placeholder="璇疯緭鍏ラ偖绠�" class="layui-input">
+                    </div>
+                </div>
+
+            </div>
+        </div>
+        <hr class="layui-bg-gray">
+        <div class="layui-form-item text-right">
+            <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+        </div>
+    </form>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/tools/md5.js"></script>
+<script type="text/javascript" src="../../static/js/user/user.js" charset="utf-8"></script>
+
+<!-- 椤圭洰缂栬緫绐楀彛 -->
+<script type="text/html" id="hostEditDialog">
+    <form id="hostEditForm" lay-filter="hostEditForm" class="layui-form model-form">
+        <input name="id" type="hidden"/>
+        <div class="layui-form-item">
+            <label class="layui-form-label layui-form-required">椤圭洰鍚嶇О:</label>
+            <div class="layui-input-block">
+                <input name="name" placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" class="layui-input"
+                       lay-verType="tips" lay-verify="required" required/>
+            </div>
+        </div>
+        <div class="layui-form-item text-right">
+            <button class="layui-btn" lay-filter="hostEditSubmit" lay-submit>淇濆瓨</button>
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+        </div>
+    </form>
+</script>
+</body>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/user/user_detail.html b/zy-asrs-wms/src/main/webapp/views/user/user_detail.html
new file mode 100644
index 0000000..e5213f4
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/user/user_detail.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center">
+        <div class="layui-inline"  style="display: none">
+            <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label>
+            <div class="layui-input-inline">
+                <input id="id" class="layui-input" type="text" placeholder="缂栧彿">
+            </div>
+        </div>
+<!--        <div class="layui-inline"  style="width:31%;display: none">-->
+<!--            <label class="layui-form-label"><span class="not-null">*</span>鎺堟潈鍟嗘埛锛�</label>-->
+<!--            <div class="layui-input-inline cool-auto-complete">-->
+<!--                <input id="hostId" class="layui-input" type="text" placeholder="鎺堟潈鍟嗘埛" lay-verify="required"  style="display: none">-->
+<!--                <input id="hostName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鎺堟潈鍟嗘埛" onfocus=this.blur()>-->
+<!--                <div class="cool-auto-complete-window">-->
+<!--                    <input class="cool-auto-complete-window-input" data-key="hostQuery" onkeyup="autoLoad(this.getAttribute('data-key'))">-->
+<!--                    <select class="cool-auto-complete-window-select" data-key="hostQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">-->
+<!--                    </select>-->
+<!--                </div>-->
+<!--            </div>-->
+<!--        </div>-->
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label"><span class="not-null">*</span>甯愩��銆�鍙凤細</label>
+            <div class="layui-input-inline">
+                <input id="mobile" class="layui-input" type="text" placeholder="璐﹀彿" lay-verify="required" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鍚嶃��銆�绉帮細</label>
+            <div class="layui-input-inline">
+                <input id="username" class="layui-input" type="text" placeholder="鍚嶇О" lay-verify="required"  autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label">瀵嗐��銆�鐮侊細</label>
+            <div class="layui-input-inline">
+                <input id="password" class="layui-input" type="text" placeholder="瀵嗙爜" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label"><span class="not-null">*</span>瑙掋��銆�鑹诧細</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="roleId" class="layui-input" type="text" placeholder="瑙掕壊" lay-verify="required"  style="display: none">
+                <input id="roleName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="瑙掕壊" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="roleQuery" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="roleQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+
+        <hr class="layui-bg-gray">
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+        <div id="prompt">
+            娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span>
+        </div>
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/tools/md5.js"></script>
+<script type="text/javascript" src="../../static/js/user/user.js" charset="utf-8"></script>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/userLogin/userLogin.html b/zy-asrs-wms/src/main/webapp/views/userLogin/userLogin.html
new file mode 100644
index 0000000..f2060b8
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/userLogin/userLogin.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 鎼滅储鏍� -->
+<div id="search-box" class="layui-form layui-card-header">
+    <div class="layui-inline">
+        <div class="layui-input-inline cool-auto-complete">
+            <input id="userId" class="layui-input" name="user_id" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none">
+            <input id="userUsername" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鐢ㄦ埛" onfocus=this.blur()>
+            <div class="cool-auto-complete-window">
+                <input class="cool-auto-complete-window-input" data-key="userQuery" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                <select class="cool-auto-complete-window-select" data-key="userQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                </select>
+            </div>
+        </div>
+    </div>
+
+    <!-- 寰呮坊鍔� -->
+    <div id="data-search-btn" class="layui-btn-container layui-form-item">
+        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+    </div>
+</div>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-hide" id="userLogin" lay-filter="userLogin"></table>
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
+        <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button>
+    </div>
+</script>
+
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>
+    <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/userLogin/userLogin.js" charset="utf-8"></script>
+
+<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
+
+</body>
+</html>
+
diff --git a/zy-asrs-wms/src/main/webapp/views/userLogin/userLogin_detail.html b/zy-asrs-wms/src/main/webapp/views/userLogin/userLogin_detail.html
new file mode 100644
index 0000000..4309891
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/userLogin/userLogin_detail.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form">
+        <div class="layui-inline"  style="display: none">
+            <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label>
+            <div class="layui-input-inline">
+                <input id="id" class="layui-input" type="text" placeholder="缂栧彿">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鍛樸��銆�宸ワ細</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="userId" class="layui-input" type="text" placeholder="鍛樺伐" lay-verify="required" style="display: none">
+                <input id="userUsername" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鍛樺伐" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="userQuery" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="userQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>鍑� 璇� 鍊硷細</label>
+            <div class="layui-input-inline">
+                <input id="token" class="layui-input" type="text" placeholder="鍑瘉鍊�" lay-verify="required" >
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:31%;">
+            <label class="layui-form-label"><span class="not-null">*</span>娣诲姞鏃堕棿锛�</label>
+            <div class="layui-input-inline">
+                <input id="createTime$" class="layui-input" type="text" placeholder="娣诲姞鏃堕棿" lay-verify="required" >
+            </div>
+        </div>
+
+
+        <hr class="layui-bg-gray">
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+        <div id="prompt">
+            娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span>
+        </div>
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/userLogin/userLogin.js" charset="utf-8"></script>
+</html>
+

--
Gitblit v1.9.1