|
1
|
<!DOCTYPE html>
|
|
2
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org" th:with="corp = ${@corporationService.getEnableCorporation()}">
|
|
3
4
5
6
|
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="renderer" content="webkit">
|
|
7
|
<title>华恒管理系统</title>
|
|
8
9
10
|
<meta name="keywords" th:attr="content=${corp}?${corp.getName()}">
<meta name="description" th:attr="content=${corp}?${corp.getName()}">
<meta name="description" th:attr="content=${corp}?${corp.getName()}">
|
|
11
12
13
|
<!--[if lt IE 9]>
<meta http-equiv="refresh" content="0;ie.html"/>
<![endif]-->
|
|
14
|
<link rel="shortcut icon" href="../static/favicon.ico" th:href="${corp}?${corp.getPIcon()}:@{favicon.ico}"/>
|
|
15
16
17
18
19
20
|
<!--<link th:href="@{favicon.ico}" rel="shortcut icon"/>-->
<link th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
<link th:href="@{/css/font-awesome.css}" rel="stylesheet"/>
<link th:href="@{/css/animate.css}" rel="stylesheet"/>
<link th:href="@{/css/style.css}" rel="stylesheet"/>
<link th:href="@{/huaheng/css/huahengUI.min.css?v=2.3.0}" rel="stylesheet"/>
|
|
21
22
23
24
25
26
27
28
|
<style type="text/css">
.dropdown-menu .divider {
height: 1px;
margin: 0px 0 10px 0;
overflow: hidden;
background-color: #e5e5e5;
}
</style>
|
|
29
|
</head>
|
|
30
31
|
<body class="fixed-sidebar full-height-layout gray-bg" style="overflow: hidden"
th:classappend="${@config.getKey('sys.index.skinName')}">
|
|
32
33
34
35
36
37
38
39
40
41
42
43
|
<div id="wrapper">
<!--左侧导航开始-->
<nav class="navbar-default navbar-static-side" role="navigation">
<div class="nav-close">
<i class="fa fa-times-circle"></i>
</div>
<div class="sidebar-collapse">
<ul class="nav" id="side-menu">
<li class="nav-header">
<div class="dropdown profile-element">
<span class="pull-left" style="padding-right: 10px;">
|
|
44
45
|
<img th:src="(${user.avatar} == '') ? (${corp}?${corp.getPLogoSmall()}:'img/profile.jpg') : 'profile/' + ${user.avatar}"
alt="image" class="img-circle" height="45" width="45"/>
|
|
46
|
</span>
|
|
47
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
|
48
49
50
51
52
53
|
<span class="pull-left clear">
<span class="block m-t-xs"><strong class="font-bold">[[${user.userName}]]</strong></span>
<span class="text-muted text-xs block"><span th:if="${not #strings.isEmpty(user.dept)}">[[${user.dept.deptName}]]</span>
<b class="caret"></b>
</span>
</span>
|
|
54
55
56
57
58
|
</a>
<ul class="dropdown-menu animated fadeInRight m-t-xs" style="position:absolute;top:40px;">
<li><a class="menuItem" th:href="@{/system/user/profile}">个人信息</a></li>
<li><a th:href="@{logout}">退出</a></li>
</ul>
|
|
59
60
61
62
|
<div class="dw"><i class="fa fa-map-marker"></i> <span id="warehouse_name"></span></div>
</div>
</li>
|
|
63
64
65
|
<li class="active">
<a href="index.html"><i class="fa fa-home"></i> <span class="nav-label">主页</span> <span
class="fa arrow"></span></a>
|
|
66
|
<ul class="nav nav-second-level">
|
|
67
68
|
<li class="active"><a class="menuItem" th:href="@{/system/main}">概 况</a>
</li>
|
|
69
70
71
|
</ul>
</li>
<li th:each="menu : ${menus}">
|
|
72
73
74
75
76
77
78
79
80
81
82
83
|
<a href="#">
<i class="fa fa fa-bar-chart-o" th:class="${menu.icon}"></i>
<span class="nav-label" th:text="${menu.menuName}">一级菜单</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-second-level collapse">
<li th:each="cmenu : ${menu.children}">
<a th:if="${#lists.isEmpty(cmenu.children)}" class="menuItem" th:utext="${cmenu.menuName}"
th:href="@{${cmenu.url}}">二级菜单</a>
<a th:if="${not #lists.isEmpty(cmenu.children)}" href="#">[[${cmenu.menuName}]]<span
class="fa arrow"></span></a>
<ul th:if="${not #lists.isEmpty(cmenu.children)}" class="nav nav-third-level">
|
|
84
|
<li th:each="emenu : ${cmenu.children}">
|
|
85
86
87
88
|
<a th:if="${#lists.isEmpty(emenu.children)}" class="menuItem"
th:text="${emenu.menuName}" th:href="@{${emenu.url}}">三级菜单</a>
<a th:if="${not #lists.isEmpty(emenu.children)}" href="#">[[${emenu.menuName}]]<span
class="fa arrow"></span></a>
|
|
89
|
<ul th:if="${not #lists.isEmpty(emenu.children)}" class="nav nav-four-level">
|
|
90
91
92
|
<li th:each="fmenu : ${emenu.children}"><a
th:if="${#lists.isEmpty(fmenu.children)}" class="menuItem"
th:text="${fmenu.menuName}" th:href="@{${fmenu.url}}">四级菜单</a></li>
|
|
93
94
|
</ul>
</li>
|
|
95
96
97
98
|
<!-- <li th:each="emenu : ${cmenu.children}"><a class="menuItem" th:text="${emenu.menuName}" th:href="@{${emenu.url}}">三级菜单</a></li>-->
</ul>
</li>
</ul>
|
|
99
100
101
102
103
|
</li>
</ul>
</div>
</nav>
<!--左侧导航结束-->
|
|
104
|
|
|
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
<!--右侧部分开始-->
<div id="page-wrapper" class="gray-bg dashbard-1">
<div class="row content-tabs">
<a class="navbar-minimalize minimalize-styl-2 btn btn-default " href="#" title="收起菜单">
<i class="fa fa-bars"></i>
</a>
<button class="roll-nav roll-left tabLeft">
<i class="fa fa-backward"></i>
</button>
<nav class="page-tabs menuTabs">
<div class="page-tabs-content">
<a href="javascript:;" class="active menuTab" data-id="system/main">首页</a>
</div>
</nav>
|
|
120
|
<button class="roll-nav roll-right tabRight0">
|
|
121
122
|
<i class="fa fa-forward"></i>
</button>
|
|
123
124
125
126
127
|
<!--<button class="roll-nav roll-right tabRight xx">
<a href="#" data-toggle="dropdown"> <i class="fa fa-envelope"></i><sup></sup></a>
<!–<span class="label label-primary">8</span>–>
</button>-->
<!--消息-->
|
|
128
|
<div class="xx_box">
|
|
129
|
<a class="dropdown-toggle count-info xx" id="dropdown" data-toggle="dropdown" href="#">
|
|
130
131
|
<i class="fa fa-envelope"></i> <sup></sup> <!--<span class="label label-warning">16</span>-->
</a>
|
|
132
|
<ul class="dropdown-menu dropdown-messages" id="notice">
|
|
133
134
135
|
<div class="col-sm-12">
<li>
<div style="float:left" class="text-left col-sm-5">
|
|
136
|
<a class="menuItem" th:href="@{/system/notice}" onclick="cancelIt()">
|
|
137
138
139
140
141
142
143
144
145
146
|
<i class="fa fa-user-circle"></i> <strong>消息中心</strong>
</a>
</div>
<div style="float:right" class="text-right col-sm-7">
<a onclick="readAll()">
<i class="fa fa-envelope"></i> <strong>阅读所有消息</strong>
</a>
</div>
</li>
</div>
|
|
147
|
<li th:each="notice : ${notices}">
|
|
148
|
<div class="dropdown-messages-box" th:id="${notice.id}">
|
|
149
|
<a class="media-body" th:onclick="readOne([[${notice.id}]])" >
|
|
150
151
|
<p th:text="${notice.content}"
style="line-height: 18px;padding-bottom: 0;margin-bottom: 0"></p>
|
|
152
153
|
<small class="text-muted" style="color:#bdbdbd"
th:text="${#dates.format(notice.created, 'yyyy-MM-dd HH:mm:ss')}"></small>
|
|
154
|
</a>
|
|
155
156
157
158
159
|
</div>
</li>
</ul>
</div>
<!--消息-->
|
|
160
161
|
<div class="btn-group roll-nav roll-right">
<button class="dropdown J_tabClose" data-toggle="dropdown">
|
|
162
|
页签操作<span class="caret"></span>
|
|
163
164
|
</button>
<ul role="menu" class="dropdown-menu dropdown-menu-right">
|
|
165
166
167
|
<li><a class="tabCloseOther" href="javascript:void(0);">关闭其他</a></li>
<li><a class="tabCloseCurrent" href="javascript:void(0);">关闭当前</a></li>
<li><a class="tabCloseAll" href="javascript:void(0);">全部关闭</a></li>
|
|
168
169
|
</ul>
</div>
|
|
170
|
<div class="mlist">
|
|
171
172
173
174
175
176
177
178
179
180
181
182
|
<ul>
<li><a id="fullScreen"><i class="fa fa-arrows-alt"></i> 全屏</a></li>
<li><a class="tabReload"><i class="fa fa-refresh"></i> 刷新</a></li>
</ul>
</div>
</div>
<div class="row mainContent" id="content-main">
<iframe class="huaheng_iframe" name="iframe0" width="100%" height="100%" data-id="system/main"
th:src="@{/system/main}" frameborder="0" seamless></iframe>
</div>
<div class="footer">
|
|
183
|
<div class="pull-right">© [[${copyrightYear}]] 长沙华恒机器人系统有限公司 Copyright</div>
|
|
184
185
186
187
188
189
190
|
</div>
</div>
<!--右侧部分结束-->
</div>
<!-- 全局js -->
<script th:src="@{/js/jquery.min.js}"></script>
<script th:src="@{/js/bootstrap.min.js}"></script>
|
|
191
192
|
<script th:src="@{/ajax/libs/layer/layer.min.js}"></script>
<script th:src="@{/ajax/libs/layui/layui.js}"></script>
|
|
193
194
195
196
|
<script th:src="@{/js/plugins/metisMenu/jquery.metisMenu.js}"></script>
<script th:src="@{/js/plugins/slimscroll/jquery.slimscroll.min.js}"></script>
<script th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
<!--<script src="http://tajs.qq.com/stats?sId=62048022"></script>-->
|
|
197
198
|
<script th:src="@{/huaheng/js/huahengUI.js?v=2.3.0}"></script>
<script th:src="@{/huaheng/index.js?v=13}"></script>
|
|
199
|
<script th:src="@{/huaheng/js/common.js}"></script>
|
|
200
201
202
|
<script th:src="@{/ajax/libs/fullscreen/jquery.fullscreen.js}"></script>
<script>
var warehouse_name = localStorage.getItem("warehouse_name");
|
|
203
204
205
206
|
var mode = "history";
// 历史访问路径缓存
var historyPath = localStorage.getItem("historyPath");
var isLinkage = true;
|
|
207
208
|
$("#warehouse_name").text(warehouse_name);
// localStorage.removeItem("warehouse_name");
|
|
209
210
211
212
213
|
$(".nav>li>ul>li>ul>li").on({
mouseover: function () {
var juli = $(this).offset().top;
$(this).children('ul').css({
|
|
214
|
'padding-top': juli
|
|
215
216
217
218
219
220
221
|
})
},
mouseout: function () {
$(".link").hide();
}
});
|
|
222
|
let socket;
|
|
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
|
$(function() {
var lockPath = window.localStorage.getItem('lockPath');
if ($.common.equals("history", mode) && window.performance.navigation.type == 1) {
var url = localStorage.getItem('publicPath');
if ($.common.isNotEmpty(url)) {
applyPath(url);
}
} else if ($.common.isNotEmpty(lockPath)) {
applyPath(lockPath);
window.localStorage.removeItem('lockPath');
} else {
var hash = location.hash;
if ($.common.isNotEmpty(hash)) {
var url = hash.substring(1, hash.length);
applyPath(url);
} else {
if ($.common.equals("history", mode)) {
window.localStorage.setItem('publicPath', "");
}
}
}
});
/** 刷新时访问路径页签 */
function applyPath(url) {
$('a[href$="' + decodeURI(url) + '"]').click();
if (!$('a[href$="' + url + '"]').hasClass("noactive")) {
$('a[href$="' + url + '"]').parent("li").addClass("selected").parents("li").addClass("active").end().parents("ul").addClass("in");
}
}
|
|
252
253
|
if (typeof (WebSocket) == "undefined") {
console.log("您的浏览器不支持WebSocket");
|
|
254
|
// alert("您的浏览器不支持WebSocket");
|
|
255
|
} else {
|
|
256
|
//console.log("您的浏览器支持WebSocket");
|
|
257
258
259
260
261
262
263
264
265
266
267
268
|
let userId = [[${@permission.getPrincipalProperty('id')}]];
//实现化WebSocket对象,指定要连接的服务器地址与端口 建立连接
//等同于socket = new WebSocket("ws://localhost:8888/xxxx/im/25");
//var socketUrl="${request.contextPath}/im/"+$("#userId").val();
let url = window.location.host;
let socketUrl = "http://" + url + "/wms/imserver/" + userId;
socketUrl = socketUrl.replace("https", "ws").replace("http", "ws");
console.log(socketUrl);
if (socket != null) {
socket.close();
socket = null;
}
|
|
269
|
|
|
270
271
272
273
274
275
276
277
278
279
|
socket = new WebSocket(socketUrl);
//打开事件
socket.onopen = function () {
console.log("websocket已打开");
//socket.send("这是来自客户端的消息" + location.href + new Date());
};
//获得消息事件
socket.onmessage = function (msg) {
if (msg.data !== "连接成功") {
//向通知里插入消息
|
|
280
281
|
let message = "<li><div class=\"dropdown-messages-box\"><div class=\"media-body\"><p>" + msg.data + "</p>\n" +
"<small class=\"text-muted\" style=\"position: relative;top:-30px;\">" + getCurrentDate(2) + "</small></div></div></li>"
|
|
282
283
284
285
286
287
|
}
console.log(msg.data);
};
//关闭事件
socket.onclose = function () {
console.log("websocket已关闭");
|
|
288
|
// $.modal.msgError("websocket已关闭");
|
|
289
290
291
292
|
};
//发生了错误事件
socket.onerror = function () {
console.log("websocket发生了错误");
|
|
293
|
// $.modal.msgError("websocket发生了错误");
|
|
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
|
}
}
function getCurrentDate(format) {
let now = new Date();
let year = now.getFullYear(); //得到年份
let month = now.getMonth();//得到月份
let date = now.getDate();//得到日期
let day = now.getDay();//得到周几
let hour = now.getHours();//得到小时
let minu = now.getMinutes();//得到分钟
let sec = now.getSeconds();//得到秒
month = month + 1;
if (month < 10) month = "0" + month;
if (date < 10) date = "0" + date;
if (hour < 10) hour = "0" + hour;
if (minu < 10) minu = "0" + minu;
if (sec < 10) sec = "0" + sec;
var time = "";
//精确到天
|
|
314
|
if (format == 1) {
|
|
315
316
317
|
time = year + "-" + month + "-" + date;
}
//精确到分
|
|
318
319
|
else if (format == 2) {
time = year + "-" + month + "-" + date + " " + hour + ":" + minu + ":" + sec;
|
|
320
321
322
|
}
return time;
}
|
|
323
|
|
|
324
325
326
327
328
329
|
function cancelIt() {
$("#dropdown").click()
}
|
|
330
331
332
333
334
|
function readAll() {
$.ajax({
url:"system/notice/readAll",
type:"get",
success:function (response) {
|
|
335
|
location.reload()
|
|
336
337
|
},
error:function (response) {
|
|
338
|
$.modal.msgError("服务出错")
|
|
339
340
341
|
}
})
}
|
|
342
343
344
345
346
347
348
349
|
function readOne(id) {
$.ajax({
url:"system/notice/readOne",
type:"get",
data:{id:id},
success:function (response) {
if (response.code == 200){
|
|
350
|
$("#"+id).remove()
|
|
351
|
createMenuItem("system/notice","消息中心");
|
|
352
|
}else {
|
|
353
|
// $.modal.msgError(response.msg)
|
|
354
355
356
|
}
},
error:function (response) {
|
|
357
|
// $.modal.msgError("服务出错")
|
|
358
359
360
|
}
})
}
|
|
361
362
363
|
</script>
</body>
</html>
|