From 8efbcfef1ccb88c0f4020dc5bbfd271ab403ac1d Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期二, 29 三月 2022 16:30:09 +0800
Subject: [PATCH] #
---
src/main/webapp/views/tpl/theme/img/theme-cyan.png | 0
src/main/webapp/static/css/loader.css | 59 ++
src/main/webapp/views/tpl/theme/img/theme-pink.png | 0
src/main/webapp/views/tpl/theme/img/ic_loading.gif | 0
src/main/webapp/views/tpl/alarm-detl.html | 52 ++
src/main/webapp/views/tpl/theme/img/theme-admin.png | 0
src/main/webapp/views/tpl/theme/img/theme-colorful.png | 0
src/main/webapp/views/tpl/tpl-theme.html | 229 +++++++++
src/main/webapp/views/tpl/theme/img/theme-red.png | 0
src/main/webapp/views/tpl/theme/img/theme-green.png | 0
src/main/webapp/views/order/order.html | 19
src/main/webapp/views/tpl/theme/img/theme-my.png | 0
src/main/webapp/views/tpl/theme/img/icon_date.png | 0
src/main/webapp/views/tpl/tpl-note.html | 206 ++++++++
src/main/webapp/static/image/favicon.ico | 0
src/main/webapp/static/layui/lay/modules/contextMenu.js | 228 +++++++++
src/main/webapp/views/index.html | 371 ++++++--------
src/main/webapp/views/tpl/theme/img/theme-blue.png | 0
src/main/webapp/views/tpl/theme/img/theme-white.png | 0
src/main/webapp/views/tpl/theme/img/icon_search.png | 0
src/main/webapp/views/tpl/theme/img/theme-purple.png | 0
src/main/webapp/static/layui/lay/modules/index.js | 302 ++++++++++++
22 files changed, 1,249 insertions(+), 217 deletions(-)
diff --git a/src/main/webapp/static/css/loader.css b/src/main/webapp/static/css/loader.css
new file mode 100644
index 0000000..6990738
--- /dev/null
+++ b/src/main/webapp/static/css/loader.css
@@ -0,0 +1,59 @@
+/**鍒濆鍖栧姞杞藉眰*/
+.layuimini-loader {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-color: #ffffff;
+ z-index: 999999;
+}
+
+.layuimini-loader .layuimini-loader-inner {
+ display: block;
+ position: relative;
+ left: 50%;
+ top: 50%;
+ width: 150px;
+ height: 150px;
+ margin: -75px 0 0 -75px;
+ border-radius: 50%;
+ border: 3px solid transparent;
+ border-top-color: #1E9FFF;
+ animation: spin 2s linear infinite;
+}
+
+.layuimini-loader .layuimini-loader-inner:before {
+ content: "";
+ position: absolute;
+ top: 5px;
+ left: 5px;
+ right: 5px;
+ bottom: 5px;
+ border-radius: 50%;
+ border: 3px solid transparent;
+ border-top-color: #1E9FFF;
+ animation: spin 3s linear infinite;
+}
+
+.layuimini-loader .layuimini-loader-inner:after {
+ content: "";
+ position: absolute;
+ top: 15px;
+ left: 15px;
+ right: 15px;
+ bottom: 15px;
+ border-radius: 50%;
+ border: 3px solid transparent;
+ border-top-color: #1E9FFF;
+ animation: spin 1.5s linear infinite;
+}
+
+@keyframes spin {
+ 0% {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(1turn);
+ }
+}
diff --git a/src/main/webapp/static/image/favicon.ico b/src/main/webapp/static/image/favicon.ico
new file mode 100644
index 0000000..86d5e0a
--- /dev/null
+++ b/src/main/webapp/static/image/favicon.ico
Binary files differ
diff --git a/src/main/webapp/static/layui/lay/modules/contextMenu.js b/src/main/webapp/static/layui/lay/modules/contextMenu.js
new file mode 100644
index 0000000..2655031
--- /dev/null
+++ b/src/main/webapp/static/layui/lay/modules/contextMenu.js
@@ -0,0 +1,228 @@
+/** 鍙抽敭鑿滃崟妯″潡 date:2019-02-08 License By http://easyweb.vip */
+layui.define(["jquery"], function (exports) {
+ var $ = layui.jquery;
+
+ var contextMenu = {
+ // 缁戝畾鍏冪礌
+ bind: function (elem, items) {
+ $(elem).bind('contextmenu', function (e) {
+ contextMenu.show(items, e.clientX, e.clientY, e);
+ return false;
+ });
+ },
+ // 鍦ㄦ寚瀹氬潗鏍囨樉绀鸿彍鍗�
+ show: function (items, x, y, e) {
+ var xy = 'left: ' + x + 'px; top: ' + y + 'px;';
+ var htmlStr = '<div class="ctxMenu" style="' + xy + '">';
+ htmlStr += contextMenu.getHtml(items, '');
+ htmlStr += ' </div>';
+ contextMenu.remove();
+ $('body').append(htmlStr);
+ // 璋冩暣婧㈠嚭浣嶇疆
+ var $ctxMenu = $('.ctxMenu');
+ if (x + $ctxMenu.outerWidth() > contextMenu.getPageWidth()) {
+ x -= $ctxMenu.outerWidth();
+ }
+ if (y + $ctxMenu.outerHeight() > contextMenu.getPageHeight()) {
+ y = y - $ctxMenu.outerHeight();
+ if (y < 0) {
+ y = 0;
+ }
+ }
+ $ctxMenu.css({'top': y, 'left': x});
+ // 娣诲姞item鐐瑰嚮浜嬩欢
+ contextMenu.setEvents(items, e);
+ // 鏄剧ず瀛愯彍鍗曚簨浠�
+ $('.ctxMenu-item').on('mouseenter', function (e) {
+ e.stopPropagation();
+ $(this).parent().find('.ctxMenu-sub').css('display', 'none');
+ if (!$(this).hasClass('haveMore')) return;
+ var $item = $(this).find('>a');
+ var $sub = $(this).find('>.ctxMenu-sub');
+ var top = $item.offset().top - $('body,html').scrollTop();
+ var left = $item.offset().left + $item.outerWidth() - $('body,html').scrollLeft();
+ if (left + $sub.outerWidth() > contextMenu.getPageWidth()) {
+ left = $item.offset().left - $sub.outerWidth();
+ }
+ if (top + $sub.outerHeight() > contextMenu.getPageHeight()) {
+ top = top - $sub.outerHeight() + $item.outerHeight();
+ if (top < 0) {
+ top = 0;
+ }
+ }
+ $(this).find('>.ctxMenu-sub').css({
+ 'top': top,
+ 'left': left,
+ 'display': 'block'
+ });
+ })/*.on('mouseleave', function () {
+ $(this).find('>.ctxMenu-sub').css('display', 'none');
+ })*/;
+ },
+ // 绉婚櫎鎵�鏈�
+ remove: function () {
+ var ifs = parent.window.frames;
+ for (var i = 0; i < ifs.length; i++) {
+ var tif = ifs[i];
+ try {
+ tif.layui.jquery('body>.ctxMenu').remove();
+ } catch (e) {
+ }
+ }
+ try {
+ parent.layui.jquery('body>.ctxMenu').remove();
+ } catch (e) {
+ }
+ },
+ // 璁剧疆浜嬩欢鐩戝惉
+ setEvents: function (items, event) {
+ $('.ctxMenu').off('click').on('click', '[lay-id]', function (e) {
+ var itemId = $(this).attr('lay-id');
+ var item = getItemById(itemId, items);
+ item.click && item.click(e, event);
+ });
+
+ function getItemById(id, list) {
+ for (var i = 0; i < list.length; i++) {
+ var one = list[i];
+ if (id == one.itemId) {
+ return one;
+ } else if (one.subs && one.subs.length > 0) {
+ var temp = getItemById(id, one.subs);
+ if (temp) {
+ return temp;
+ }
+ }
+ }
+ }
+ },
+ // 鏋勫缓鏃犻檺绾�
+ getHtml: function (items, pid) {
+ var htmlStr = '';
+ for (var i = 0; i < items.length; i++) {
+ var item = items[i];
+ item.itemId = 'ctxMenu-' + pid + i;
+ if (item.subs && item.subs.length > 0) {
+ htmlStr += '<div class="ctxMenu-item haveMore" lay-id="' + item.itemId + '">';
+ htmlStr += '<a>';
+ if (item.icon) {
+ htmlStr += '<i class="' + item.icon + ' ctx-icon"></i>';
+ }
+ htmlStr += item.name;
+ htmlStr += '<i class="layui-icon layui-icon-right icon-more"></i>';
+ htmlStr += '</a>';
+ htmlStr += '<div class="ctxMenu-sub" style="display: none;">';
+ htmlStr += contextMenu.getHtml(item.subs, pid + i);
+ htmlStr += '</div>';
+ } else {
+ htmlStr += '<div class="ctxMenu-item" lay-id="' + item.itemId + '">';
+ htmlStr += '<a>';
+ if (item.icon) {
+ htmlStr += '<i class="' + item.icon + ' ctx-icon"></i>';
+ }
+ htmlStr += item.name;
+ htmlStr += '</a>';
+ }
+ htmlStr += '</div>';
+ if (item.hr == true) {
+ htmlStr += '<hr/>';
+ }
+ }
+ return htmlStr;
+ },
+ // 鑾峰彇css浠g爜
+ getCommonCss: function () {
+ var cssStr = '.ctxMenu, .ctxMenu-sub {';
+ cssStr += ' max-width: 250px;';
+ cssStr += ' min-width: 110px;';
+ cssStr += ' background: white;';
+ cssStr += ' border-radius: 2px;';
+ cssStr += ' padding: 5px 0;';
+ cssStr += ' white-space: nowrap;';
+ cssStr += ' position: fixed;';
+ cssStr += ' z-index: 2147483647;';
+ cssStr += ' box-shadow: 0 2px 4px rgba(0, 0, 0, .12);';
+ cssStr += ' border: 1px solid #d2d2d2;';
+ cssStr += ' overflow: visible;';
+ cssStr += ' }';
+
+ cssStr += ' .ctxMenu-item {';
+ cssStr += ' position: relative;';
+ cssStr += ' }';
+
+ cssStr += ' .ctxMenu-item > a {';
+ cssStr += ' font-size: 14px;';
+ cssStr += ' color: #666;';
+ cssStr += ' padding: 0 26px 0 35px;';
+ cssStr += ' cursor: pointer;';
+ cssStr += ' display: block;';
+ cssStr += ' line-height: 36px;';
+ cssStr += ' text-decoration: none;';
+ cssStr += ' position: relative;';
+ cssStr += ' }';
+
+ cssStr += ' .ctxMenu-item > a:hover {';
+ cssStr += ' background: #f2f2f2;';
+ cssStr += ' color: #666;';
+ cssStr += ' }';
+
+ cssStr += ' .ctxMenu-item > a > .icon-more {';
+ cssStr += ' position: absolute;';
+ cssStr += ' right: 5px;';
+ cssStr += ' top: 0;';
+ cssStr += ' font-size: 12px;';
+ cssStr += ' color: #666;';
+ cssStr += ' }';
+
+ cssStr += ' .ctxMenu-item > a > .ctx-icon {';
+ cssStr += ' position: absolute;';
+ cssStr += ' left: 12px;';
+ cssStr += ' top: 0;';
+ cssStr += ' font-size: 15px;';
+ cssStr += ' color: #666;';
+ cssStr += ' }';
+
+ cssStr += ' .ctxMenu hr {';
+ cssStr += ' background-color: #e6e6e6;';
+ cssStr += ' clear: both;';
+ cssStr += ' margin: 5px 0;';
+ cssStr += ' border: 0;';
+ cssStr += ' height: 1px;';
+ cssStr += ' }';
+
+ cssStr += ' .ctx-ic-lg {';
+ cssStr += ' font-size: 18px !important;';
+ cssStr += ' left: 11px !important;';
+ cssStr += ' }';
+ return cssStr;
+ },
+ // 鑾峰彇娴忚鍣ㄩ珮搴�
+ getPageHeight: function () {
+ return document.documentElement.clientHeight || document.body.clientHeight;
+ },
+ // 鑾峰彇娴忚鍣ㄥ搴�
+ getPageWidth: function () {
+ return document.documentElement.clientWidth || document.body.clientWidth;
+ },
+ };
+
+ // 鐐瑰嚮浠绘剰浣嶇疆鍏抽棴鑿滃崟
+ $(document).off('click.ctxMenu').on('click.ctxMenu', function () {
+ contextMenu.remove();
+ });
+
+ // 鐐瑰嚮鏈夊瓙鑿滃崟鐨勮妭鐐逛笉鍏抽棴鑿滃崟
+ $(document).off('click.ctxMenuMore').on('click.ctxMenuMore', '.ctxMenu-item', function (e) {
+ if ($(this).hasClass('haveMore')) {
+ if (e !== void 0) {
+ e.preventDefault();
+ e.stopPropagation();
+ }
+ } else {
+ contextMenu.remove();
+ }
+ });
+
+ $('head').append('<style id="ew-css-ctx">' + contextMenu.getCommonCss() + '</style>');
+ exports("contextMenu", contextMenu);
+});
\ No newline at end of file
diff --git a/src/main/webapp/static/layui/lay/modules/index.js b/src/main/webapp/static/layui/lay/modules/index.js
new file mode 100644
index 0000000..93d9297
--- /dev/null
+++ b/src/main/webapp/static/layui/lay/modules/index.js
@@ -0,0 +1,302 @@
+/** EasyWeb iframe v3.1.8 date:2020-05-04 License By http://easyweb.vip */
+
+layui.define(['layer', 'element', 'admin'], function (exports) {
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var element = layui.element;
+ var admin = layui.admin;
+ var setter = admin.setter;
+ var headerDOM = '.layui-layout-admin>.layui-header';
+ var sideDOM = '.layui-layout-admin>.layui-side>.layui-side-scroll';
+ var bodyDOM = '.layui-layout-admin>.layui-body';
+ var tabDOM = bodyDOM + '>.layui-tab';
+ var titleDOM = bodyDOM + '>.layui-body-header';
+ var tabFilter = 'admin-pagetabs';
+ var navFilter = 'admin-side-nav';
+ var tabEndCall = {}; // Tab鍏抽棴鐨勪簨浠跺洖璋�
+ var mIsAddTab = false; // 鏄惁鏄坊鍔燭ab锛屾坊鍔燭ab鐨勬椂鍊欏垏鎹笉鑷姩鍒锋柊
+ var index = {homeUrl: undefined, mTabPosition: undefined, mTabList: []};
+
+ /** 娓叉煋涓讳綋閮ㄥ垎 */
+ index.loadView = function (param) {
+ if (!param.menuPath) return layer.msg('url涓嶈兘涓虹┖', {icon: 2, anim: 6});
+ if (setter.pageTabs) { // 澶氭爣绛炬ā寮�
+ var flag; // 閫夐」鍗℃槸鍚﹀凡娣诲姞
+ $(tabDOM + '>.layui-tab-title>li').each(function () {
+ if ($(this).attr('lay-id') === param.menuPath) flag = true;
+ });
+ if (!flag) { // 娣诲姞閫夐」鍗�
+ if (index.mTabList.length + 1 >= setter.maxTabNum) {
+ layer.msg('鏈�澶氭墦寮�' + setter.maxTabNum + '涓�夐」鍗�', {icon: 2, anim: 6});
+ return admin.activeNav(index.mTabPosition);
+ }
+ mIsAddTab = true;
+ element.tabAdd(tabFilter, {
+ id: param.menuPath, title: '<span class="title">' + (param.menuName || '') + '</span>',
+ content: '<iframe class="admin-iframe" lay-id="' + param.menuPath + '" src="' + param.menuPath +
+ '" onload="layui.index.hideLoading(this);" frameborder="0"></iframe>'
+ });
+ admin.showLoading({elem: $('iframe[lay-id="' + param.menuPath + '"]').parent(), size: ''});
+ if (param.menuPath !== index.homeUrl) index.mTabList.push(param); // 璁板綍tab
+ if (setter.cacheTab) admin.putTempData('indexTabs', index.mTabList); // 缂撳瓨tab
+ }
+ if (!param.noChange) element.tabChange(tabFilter, param.menuPath); // 鍒囨崲鍒版tab
+ } else { // 鍗曟爣绛炬ā寮�
+ admin.activeNav(param.menuPath);
+ var $contentDom = $(bodyDOM + '>div>.admin-iframe');
+ if ($contentDom.length === 0) {
+ $(bodyDOM).html([
+ '<div class="layui-body-header">',
+ ' <span class="layui-body-header-title"></span>',
+ ' <span class="layui-breadcrumb pull-right" lay-filter="admin-body-breadcrumb" style="visibility: visible;"></span>',
+ '</div>',
+ '<div style="-webkit-overflow-scrolling: touch;">',
+ ' <iframe class="admin-iframe" lay-id="', param.menuPath, '" src="', param.menuPath, '"',
+ ' onload="layui.index.hideLoading(this);" frameborder="0"></iframe>',
+ '</div>'].join(''));
+ admin.showLoading({elem: $('iframe[lay-id="' + param.menuPath + '"]').parent(), size: ''});
+ } else {
+ admin.showLoading({elem: $contentDom.parent(), size: ''});
+ $contentDom.attr('lay-id', param.menuPath).attr('src', param.menuPath);
+ }
+ $('[lay-filter="admin-body-breadcrumb"]').html(index.getBreadcrumbHtml(param.menuPath));
+ index.mTabList.splice(0, index.mTabList.length);
+ if (param.menuPath === index.homeUrl) {
+ index.mTabPosition = undefined;
+ index.setTabTitle($(param.menuName).text() || $(sideDOM + ' [lay-href="' + index.homeUrl + '"]').text() || '涓婚〉');
+ } else {
+ index.mTabPosition = param.menuPath;
+ index.mTabList.push(param);
+ index.setTabTitle(param.menuName);
+ }
+ if (!setter.cacheTab) return;
+ admin.putTempData('indexTabs', index.mTabList);
+ admin.putTempData('tabPosition', index.mTabPosition);
+ }
+ if (admin.getPageWidth() <= 768) admin.flexible(true); // 绉诲姩绔嚜鍔ㄦ敹璧蜂晶瀵艰埅
+ };
+
+ /** 鍔犺浇涓婚〉 */
+ index.loadHome = function (param) {
+ var cacheTabs = admin.getTempData('indexTabs'); // 鑾峰彇缂撳瓨tab
+ var cachePosition = admin.getTempData('tabPosition');
+ var recover = (param.loadSetting === undefined || param.loadSetting) && (setter.cacheTab && cacheTabs && cacheTabs.length > 0);
+ index.homeUrl = param.menuPath;
+ param.noChange = cachePosition ? recover : false;
+ if (setter.pageTabs || !recover) index.loadView(param);
+ if (recover) { // 鎭㈠缂撳瓨tab
+ for (var i = 0; i < cacheTabs.length; i++) {
+ cacheTabs[i].noChange = cacheTabs[i].menuPath !== cachePosition;
+ if (!cacheTabs[i].noChange || (setter.pageTabs && !param.onlyLast)) index.loadView(cacheTabs[i]);
+ }
+ }
+ admin.removeLoading(undefined, false);
+ };
+
+ /** 鎵撳紑tab */
+ index.openTab = function (param) {
+ if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.openTab(param);
+ if (param.end) tabEndCall[param.url] = param.end;
+ index.loadView({menuPath: param.url, menuName: param.title});
+ };
+
+ /** 鍏抽棴tab */
+ index.closeTab = function (url) {
+ if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.closeTab(url);
+ element.tabDelete(tabFilter, url);
+ };
+
+ /** 璁剧疆鏄惁璁板繂Tab */
+ index.setTabCache = function (isCache) {
+ if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.setTabCache(isCache);
+ admin.putSetting('cacheTab', isCache);
+ if (!isCache) return index.clearTabCache();
+ admin.putTempData('indexTabs', index.mTabList);
+ admin.putTempData('tabPosition', index.mTabPosition);
+ };
+
+ /** 娓呴櫎tab璁板繂 */
+ index.clearTabCache = function () {
+ admin.putTempData('indexTabs', null);
+ admin.putTempData('tabPosition', null);
+ };
+
+ /** 璁剧疆tab鏍囬 */
+ index.setTabTitle = function (title, tabId) {
+ if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.setTabTitle(title, tabId);
+ if (setter.pageTabs) {
+ if (!tabId) tabId = $(tabDOM + '>.layui-tab-title>li.layui-this').attr('lay-id');
+ if (tabId) $(tabDOM + '>.layui-tab-title>li[lay-id="' + tabId + '"] .title').html(title || '');
+ } else if (title) {
+ $(titleDOM + '>.layui-body-header-title').html(title);
+ $(titleDOM).addClass('show');
+ $(headerDOM).css('box-shadow', '0 1px 0 0 rgba(0, 0, 0, .03)');
+ } else {
+ $(titleDOM).removeClass('show');
+ $(headerDOM).css('box-shadow', '');
+ }
+ };
+
+ /** 鑷畾涔塼ab鏍囬 */
+ index.setTabTitleHtml = function (html) {
+ if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.setTabTitleHtml(html);
+ if (setter.pageTabs) return;
+ if (!html) return $(titleDOM).removeClass('show');
+ $(titleDOM).html(html);
+ $(titleDOM).addClass('show');
+ };
+
+ /** 鑾峰彇闈㈠寘灞� */
+ index.getBreadcrumb = function (tabId) {
+ if (!tabId) tabId = $(bodyDOM + '>div>.admin-iframe').attr('lay-id');
+ var breadcrumb = [];
+ var $href = $(sideDOM).find('[lay-href="' + tabId + '"]');
+ if ($href.length > 0) breadcrumb.push($href.text().replace(/(^\s*)|(\s*$)/g, ''));
+ while (true) {
+ $href = $href.parent('dd').parent('dl').prev('a');
+ if ($href.length === 0) break;
+ breadcrumb.unshift($href.text().replace(/(^\s*)|(\s*$)/g, ''));
+ }
+ return breadcrumb;
+ };
+
+ /** 鑾峰彇闈㈠寘灞戠粨鏋� */
+ index.getBreadcrumbHtml = function (tabId) {
+ var breadcrumb = index.getBreadcrumb(tabId);
+ var htmlStr = tabId === index.homeUrl ? '' : ('<a ew-href="' + index.homeUrl + '">棣栭〉</a>');
+ for (var i = 0; i < breadcrumb.length - 1; i++) {
+ if (htmlStr) htmlStr += '<span lay-separator="">/</span>';
+ htmlStr += ('<a><cite>' + breadcrumb[i] + '</cite></a>');
+ }
+ return htmlStr;
+ };
+
+ /** 鍏抽棴loading */
+ index.hideLoading = function (url) {
+ if (typeof url !== 'string') url = $(url).attr('lay-id');
+ admin.removeLoading($('iframe[lay-id="' + url + '"],' + bodyDOM + ' iframe[lay-id]').parent(), false);
+ };
+
+ /** 绉诲姩璁惧閬僵灞� */
+ var siteShadeDom = '.layui-layout-admin .site-mobile-shade';
+ if ($(siteShadeDom).length === 0) $('.layui-layout-admin').append('<div class="site-mobile-shade"></div>');
+ $(siteShadeDom).click(function () {
+ admin.flexible(true);
+ });
+
+ /** 琛ュ厖tab鐨刣om */
+ if (setter.pageTabs && $(tabDOM).length === 0) {
+ $(bodyDOM).html([
+ '<div class="layui-tab" lay-allowClose="true" lay-filter="', tabFilter, '" lay-autoRefresh="', setter.tabAutoRefresh == 'true', '">',
+ ' <ul class="layui-tab-title"></ul><div class="layui-tab-content"></div>',
+ '</div>',
+ '<div class="layui-icon admin-tabs-control layui-icon-prev" ew-event="leftPage"></div>',
+ '<div class="layui-icon admin-tabs-control layui-icon-next" ew-event="rightPage"></div>',
+ '<div class="layui-icon admin-tabs-control layui-icon-down">',
+ ' <ul class="layui-nav" lay-filter="admin-pagetabs-nav">',
+ ' <li class="layui-nav-item" lay-unselect>',
+ ' <dl class="layui-nav-child layui-anim-fadein">',
+ ' <dd ew-event="closeThisTabs" lay-unselect><a>鍏抽棴褰撳墠鏍囩椤�</a></dd>',
+ ' <dd ew-event="closeOtherTabs" lay-unselect><a>鍏抽棴鍏跺畠鏍囩椤�</a></dd>',
+ ' <dd ew-event="closeAllTabs" lay-unselect><a>鍏抽棴鍏ㄩ儴鏍囩椤�</a></dd>',
+ ' </dl>',
+ ' </li>',
+ ' </ul>',
+ '</div>'
+ ].join(''));
+ element.render('nav', 'admin-pagetabs-nav');
+ }
+
+ /** 渚у鑸偣鍑荤洃鍚� */
+ element.on('nav(' + navFilter + ')', function (elem) {
+ var $that = $(elem);
+ var href = $that.attr('lay-href');
+ if (!href || href === '#') return;
+ if (href.indexOf('javascript:') === 0) return new Function(href.substring(11))();
+ var name = $that.attr('ew-title') || $that.text().replace(/(^\s*)|(\s*$)/g, '');
+ var end = $that.attr('ew-end');
+ try {
+ if (end) end = new Function(end);
+ else end = undefined;
+ } catch (e) {
+ console.error(e);
+ }
+ index.openTab({url: href, title: name, end: end});
+ layui.event.call(this, 'admin', 'side({*})', {href: href});
+ });
+
+ /** tab鍒囨崲鐩戝惉 */
+ element.on('tab(' + tabFilter + ')', function () {
+ var layId = $(this).attr('lay-id');
+ index.mTabPosition = (layId !== index.homeUrl ? layId : undefined); // 璁板綍褰撳墠Tab浣嶇疆
+ if (setter.cacheTab) admin.putTempData('tabPosition', index.mTabPosition);
+ admin.activeNav(layId);
+ admin.rollPage('auto');
+ if ($(tabDOM).attr('lay-autoRefresh') == 'true' && !mIsAddTab) admin.refresh(layId, true); // 鍒囨崲tab鍒锋柊
+ mIsAddTab = false;
+ layui.event.call(this, 'admin', 'tab({*})', {layId: layId});
+ });
+
+ /** tab鍒犻櫎鐩戝惉 */
+ element.on('tabDelete(' + tabFilter + ')', function (data) {
+ var mTab = index.mTabList[data.index - 1];
+ if (mTab) {
+ index.mTabList.splice(data.index - 1, 1);
+ if (setter.cacheTab) admin.putTempData('indexTabs', index.mTabList);
+ tabEndCall[mTab.menuPath] && tabEndCall[mTab.menuPath].call();
+ layui.event.call(this, 'admin', 'tabDelete({*})', {layId: mTab.menuPath});
+ }
+ if ($(tabDOM + '>.layui-tab-title>li.layui-this').length === 0)
+ $(tabDOM + '>.layui-tab-title>li:last').trigger('click'); // 瑙e喅鍒犻櫎鍚庡彲鑳芥棤閫変腑bug
+ });
+
+ /** 澶氱郴缁熷垏鎹簨浠� */
+ $(document).off('click.navMore').on('click.navMore', '[nav-bind]', function () {
+ var navId = $(this).attr('nav-bind');
+ $('ul[lay-filter="' + navFilter + '"]').addClass('layui-hide');
+ $('ul[nav-id="' + navId + '"]').removeClass('layui-hide');
+ $(headerDOM + '>.layui-nav .layui-nav-item').removeClass('layui-this');
+ $(this).parent('.layui-nav-item').addClass('layui-this');
+ if (admin.getPageWidth() <= 768) admin.flexible(false); // 灞曞紑渚ц竟鏍�
+ layui.event.call(this, 'admin', 'nav({*})', {navId: navId});
+ });
+
+ /** 寮�鍚疶ab鍙抽敭鑿滃崟 */
+ if (setter.openTabCtxMenu && setter.pageTabs) {
+ layui.use('contextMenu', function () {
+ if (!layui.contextMenu) return;
+ $(tabDOM + '>.layui-tab-title').off('contextmenu.tab').on('contextmenu.tab', 'li', function (e) {
+ var layId = $(this).attr('lay-id');
+ layui.contextMenu.show([{
+ icon: 'layui-icon layui-icon-refresh',
+ name: '鍒锋柊褰撳墠',
+ click: function () {
+ element.tabChange(tabFilter, layId);
+ if ('true' != $(tabDOM).attr('lay-autoRefresh')) admin.refresh(layId);
+ }
+ }, {
+ icon: 'layui-icon layui-icon-close-fill ctx-ic-lg',
+ name: '鍏抽棴褰撳墠',
+ click: function () {
+ admin.closeThisTabs(layId);
+ }
+ }, {
+ icon: 'layui-icon layui-icon-unlink',
+ name: '鍏抽棴鍏朵粬',
+ click: function () {
+ admin.closeOtherTabs(layId);
+ }
+ }, {
+ icon: 'layui-icon layui-icon-close ctx-ic-lg',
+ name: '鍏抽棴鍏ㄩ儴',
+ click: function () {
+ admin.closeAllTabs();
+ }
+ }], e.clientX, e.clientY);
+ return false;
+ });
+ });
+ }
+
+ exports('index', index);
+});
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index 730b818..680cb5b 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -1,240 +1,179 @@
<!DOCTYPE html>
-<html>
+<html lang="en">
<head>
<meta charset="utf-8">
- <title>鑷姩浠撳偍 - 绠$悊绯荤粺</title>
+ <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.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
- <link rel="icon" type="image/x-icon" href="../static/image/log.png" />
- <link rel="stylesheet" href="../static/layuiadmin/layui/css/layui.css" media="all">
- <link rel="stylesheet" href="../static/layuiadmin/style/admin.css" media="all">
- <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
- <script type="text/javascript" src="../static/js/common.js"></script>
- <script type="text/javascript" src="../static/layuiadmin/layui/layui.js"></script>
+ <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-layout-admin .layui-footer {
- box-sizing: border-box;
- background-color: #fff;
- z-index: 999;
- height: 30px;
- padding: 0;
- font-size: 13px;
- margin: 0;
- line-height: 30px;
+ .layui-logo img {
+ width: 25px;
}
- .layui-layout-admin .layui-footer a {
- color: #3573ab;
- font-weight: bold
- }
-
- .layui-layout-admin .layui-logo {
- letter-spacing: 2px;
- font-size: 22px;
- height: 110px;
- padding: 20px 10px;
- font-weight: bolder;
- /*color: #2c7dc2;*/
- color: #f3f3f3;
- text-align: center;
- line-height: 40px;
- }
- .layadmin-side-shrink .layui-layout-admin .layui-logo {
- background-image: none;
- }
- .layui-side-menu .layui-nav {
- margin-top: 110px;
+ .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>
- <div id="LAY_app">
- <div class="layui-layout layui-layout-admin">
- <div class="layui-header">
- <!-- 澶撮儴鍖哄煙 -->
- <ul id="cool-header-left" class="layui-nav layui-layout-left">
- <li class="layui-nav-item layadmin-flexible" lay-unselect>
- <a href="javascript:;" layadmin-event="flexible" title="渚ц竟浼哥缉">
- <i class="layui-icon layui-icon-shrink-right" id="LAY_app_flexible"></i>
- </a>
- </li>
- <!--<li class="layui-nav-item layui-hide-xs" lay-unselect>-->
- <!--<a lay-href="report/viewLocMap.html?resourceId=10286" title="Map">-->
- <!--<i class="layui-icon layui-icon-website"></i>-->
- <!--</a>-->
- <!--</li>-->
- <li class="layui-nav-item" lay-unselect>
- <a href="javascript:;" layadmin-event="refresh" title="鍒锋柊">
- <i class="layui-icon layui-icon-refresh-3"></i>
- </a>
- </li>
- <!--<li class="layui-nav-item layui-hide-xs" lay-unselect>-->
- <!--<input type="text" placeholder="鎼滅储..." autocomplete="off" class="layui-input layui-input-search" layadmin-event="serach" lay-action="template/search.html?keywords=">-->
- <!--</li>-->
- </ul>
- <ul id="cool-header-right" class="layui-nav layui-layout-right" lay-filter="layadmin-layout-right">
-
- <li class="layui-nav-item layui-hide-xs" lay-unselect>
- <a href="javascript:;" layadmin-event="theme">
- <i class="layui-icon layui-icon-theme"></i>
- </a>
- </li>
- <li class="layui-nav-item layui-hide-xs" lay-unselect>
- <a id="activation-icon" href="javascript:;" layadmin-event="note">
- <i class="layui-icon layui-icon-note"></i>
- </a>
- </li>
- <li class="layui-nav-item layui-hide-xs" lay-unselect>
- <a href="javascript:;" layadmin-event="fullscreen">
- <i class="layui-icon layui-icon-screen-full"></i>
- </a>
- </li>
- <li class="layui-nav-item" lay-unselect>
- <a href="javascript:;">
- <cite id="person-username">绠$悊鍛�</cite>
- </a>
- <dl class="layui-nav-child">
- <dd><a lay-href="detail.html">鍩烘湰璧勬枡</a></dd>
- <!--<dd><a lay-href="set/user/password.html">淇敼瀵嗙爜</a></dd>-->
- <hr>
- <dd style="text-align: center;"><a id="logout" href="/">閫�鍑�</a></dd>
- </dl>
- </li>
- </ul>
- </div>
-
- <!-- 渚ц竟鑿滃崟 -->
- <div class="layui-side layui-side-menu">
- <div class="layui-side-scroll">
- <div class="layui-logo" lay-href="home/console.html">
- <img src="../static/image/logo.png" style="display: inline-block; width: 90%;height: auto">
- <span style="margin-top: 0;letter-spacing: 10px">涓壃绔嬪簱</span>
- </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>
- <ul class="layui-nav layui-nav-tree" lay-shrink="all" id="LAY-system-side-menu" lay-filter="layadmin-system-side-menu">
- </ul>
- </div>
- </div>
- <!-- 椤甸潰鏍囩 -->
- <div class="layadmin-pagetabs" id="LAY_app_tabs">
- <div class="layui-icon layadmin-tabs-control layui-icon-prev" layadmin-event="leftPage"></div>
- <div class="layui-icon layadmin-tabs-control layui-icon-next" layadmin-event="rightPage"></div>
- <div class="layui-icon layadmin-tabs-control layui-icon-down">
- <ul class="layui-nav layadmin-tabs-select" lay-filter="layadmin-pagetabs-nav">
- <li class="layui-nav-item" lay-unselect>
- <a href="javascript:;"></a>
- <dl class="layui-nav-child layui-anim-fadein">
- <dd layadmin-event="closeThisTabs"><a href="javascript:;">鍏抽棴褰撳墠鏍囩椤�</a></dd>
- <dd layadmin-event="closeOtherTabs"><a href="javascript:;">鍏抽棴鍏跺畠鏍囩椤�</a></dd>
- <dd layadmin-event="closeAllTabs"><a href="javascript:;">鍏抽棴鍏ㄩ儴鏍囩椤�</a></dd>
- </dl>
- </li>
- </ul>
- </div>
- <div class="layui-tab" lay-unauto lay-allowClose="true" lay-filter="layadmin-layout-tabs">
- <ul class="layui-tab-title" id="LAY_app_tabsheader">
- <li lay-id="home/console.html" lay-attr="home/console.html" class="layui-this"><i class="layui-icon layui-icon-home"></i></li>
- </ul>
- </div>
- </div>
-
- <!-- 涓讳綋鍐呭 -->
- <div class="layui-body" id="LAY_app_body">
- <div class="layadmin-tabsbody-item layui-show">
- <iframe src="home/console.html" frameborder="0" class="layadmin-iframe"></iframe>
- </div>
- </div>
-
- <div class="layui-footer">
- Copyright 漏 2015 All Rights Reserved. <a href="http://www.zoneyung.com" target="_blank">娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙�</a> 淇濈暀鎵�鏈夋潈鍒�
- </div>
- <!-- 杈呭姪鍏冪礌锛屼竴鑸敤浜庣Щ鍔ㄨ澶囦笅閬僵 -->
- <div class="layadmin-body-shade" layadmin-event="shade"></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>
- <script>
- layui.config({
- base: '../static/layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
- }).extend({
- index: 'lib/index' //涓诲叆鍙fā鍧�
- }).use(['index','element'], function () {
- var element = layui.element;
- var $ = layui.jquery;
+ <!-- 涓讳綋閮ㄥ垎 -->
+ <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>
- // 鏇挎崲閫�鍑烘寜閽彉閲�
- var logout = document.getElementById('logout');
- var url = logout.getAttribute('href');
- logout.setAttribute('href', baseUrl + url);
+</div>
- $('#person-username').text(localStorage.getItem('username'));
+<!--鍒濆鍖栧姞杞藉眰-->
+<div class="layuimini-loader">
+ <div class="layuimini-loader-inner"></div>
+</div>
- $(function () {
- if ("" === localStorage.getItem('token')){
- top.location.href = baseUrl+"/login";
- }
-
- // 婵�娲荤爜楠岃瘉
- $.ajax({
- url: baseUrl+"/system/activation/auth",
- dataType:'json',
- method: 'GET',
- async: false,
- success: function (res) {
- if (res.code === 200) {
- $("#activation-icon").hide();
- } else {
- $("#activation-icon").click();
- }
- }
- });
-
- getMenu()
-
- // 娉ㄩ攢
- $(document).on('click','#logout',function () {
- localStorage.removeItem("token");
- });
-
- });
-
- // 鍔犺浇鑿滃崟
- function getMenu() {
- $.ajax({
- url: baseUrl+ "/menu/auth",
- headers: {'token': localStorage.getItem('token')},
- method: 'POST',
- success: function (res) {
- if (res.code === 200){
- var menuHtml = "";
- if (res.data != null){
- for (var i = 0; i < res.data.length; i++) {
- menuHtml += '<li data-name="' + res.data[i].menuCode +'" class="layui-nav-item">\n';
- menuHtml += '<a href="javascript:;" lay-tips=' +res.data[i].menu+ ' lay-direction="2">\n';
- menuHtml += '<i class="layui-icon '+ res.data[i].menuIcon +'"></i>\n';
- menuHtml += ' <cite>' +res.data[i].menu+ '</cite>\n';
- menuHtml += '</a>\n';
- menuHtml += '<dl class="layui-nav-child">\n';
- for (var j = 0; j < res.data[i].subMenu.length; j++) {
- menuHtml += '<dd><a lay-href="' +res.data[i].subMenu[j].code+ '?resourceId='+ res.data[i].subMenu[j].id + '">' + res.data[i].subMenu[j].name + '</a></dd>\n';
- }
- menuHtml += '</dl>\n';
- menuHtml += '</li>\n';
- }
- }
- $('#LAY-system-side-menu').append(menuHtml);
- element.init();
- } else if (res.code === 403){
- top.location.href = baseUrl+"/login";
- }else {
- layer.alert(res.msg)
- }
- }
- });
- }
+<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";
+ }
});
- </script>
+
+ 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/console.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> <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/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index f540f1e..101cce5 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -66,8 +66,25 @@
</a>
</span>
</script>
+<!--<script type="text/html" id="settleTpl">-->
+<!-- <span name="settle" class="layui-badge layui-badge-gray">{{d.settle$}}</span>-->
+<!--</script>-->
<script type="text/html" id="settleTpl">
- <span name="settle" class="layui-badge layui-badge-gray">{{d.settle$}}</span>
+ <span name="settle"
+ {{# if( d.settle === 1){ }}
+ class="layui-badge layui-badge-red"
+ {{# }else if(d.settle === 2){ }}
+ class="layui-badge layui-badge-green"
+ {{# }else if(d.settle === 3){ }}
+ class="layui-badge layui-badge-gray"
+ {{# }else if(d.settle === 4){ }}
+ class="layui-badge layui-badge-blue"
+ {{# }else if(d.settle === 5){ }}
+ class="layui-badge layui-badge-gray"
+ {{# }else if(d.settle === 6){ }}
+ class="layui-badge layui-badge-gray"
+ {{# } }}
+ >{{d.settle$}}</span>
</script>
<!-- 琛ㄥ崟寮圭獥 -->
<script type="text/html" id="editDialog">
diff --git a/src/main/webapp/views/tpl/alarm-detl.html b/src/main/webapp/views/tpl/alarm-detl.html
new file mode 100644
index 0000000..1539922
--- /dev/null
+++ b/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/src/main/webapp/views/tpl/theme/img/ic_loading.gif b/src/main/webapp/views/tpl/theme/img/ic_loading.gif
new file mode 100644
index 0000000..071ecd6
--- /dev/null
+++ b/src/main/webapp/views/tpl/theme/img/ic_loading.gif
Binary files differ
diff --git a/src/main/webapp/views/tpl/theme/img/icon_date.png b/src/main/webapp/views/tpl/theme/img/icon_date.png
new file mode 100644
index 0000000..5a50673
--- /dev/null
+++ b/src/main/webapp/views/tpl/theme/img/icon_date.png
Binary files differ
diff --git a/src/main/webapp/views/tpl/theme/img/icon_search.png b/src/main/webapp/views/tpl/theme/img/icon_search.png
new file mode 100644
index 0000000..7db69d2
--- /dev/null
+++ b/src/main/webapp/views/tpl/theme/img/icon_search.png
Binary files differ
diff --git a/src/main/webapp/views/tpl/theme/img/theme-admin.png b/src/main/webapp/views/tpl/theme/img/theme-admin.png
new file mode 100644
index 0000000..6b4696f
--- /dev/null
+++ b/src/main/webapp/views/tpl/theme/img/theme-admin.png
Binary files differ
diff --git a/src/main/webapp/views/tpl/theme/img/theme-blue.png b/src/main/webapp/views/tpl/theme/img/theme-blue.png
new file mode 100644
index 0000000..33c9d24
--- /dev/null
+++ b/src/main/webapp/views/tpl/theme/img/theme-blue.png
Binary files differ
diff --git a/src/main/webapp/views/tpl/theme/img/theme-colorful.png b/src/main/webapp/views/tpl/theme/img/theme-colorful.png
new file mode 100644
index 0000000..2cbeba0
--- /dev/null
+++ b/src/main/webapp/views/tpl/theme/img/theme-colorful.png
Binary files differ
diff --git a/src/main/webapp/views/tpl/theme/img/theme-cyan.png b/src/main/webapp/views/tpl/theme/img/theme-cyan.png
new file mode 100644
index 0000000..368c04f
--- /dev/null
+++ b/src/main/webapp/views/tpl/theme/img/theme-cyan.png
Binary files differ
diff --git a/src/main/webapp/views/tpl/theme/img/theme-green.png b/src/main/webapp/views/tpl/theme/img/theme-green.png
new file mode 100644
index 0000000..f7a5ca5
--- /dev/null
+++ b/src/main/webapp/views/tpl/theme/img/theme-green.png
Binary files differ
diff --git a/src/main/webapp/views/tpl/theme/img/theme-my.png b/src/main/webapp/views/tpl/theme/img/theme-my.png
new file mode 100644
index 0000000..9fd7419
--- /dev/null
+++ b/src/main/webapp/views/tpl/theme/img/theme-my.png
Binary files differ
diff --git a/src/main/webapp/views/tpl/theme/img/theme-pink.png b/src/main/webapp/views/tpl/theme/img/theme-pink.png
new file mode 100644
index 0000000..6088b1e
--- /dev/null
+++ b/src/main/webapp/views/tpl/theme/img/theme-pink.png
Binary files differ
diff --git a/src/main/webapp/views/tpl/theme/img/theme-purple.png b/src/main/webapp/views/tpl/theme/img/theme-purple.png
new file mode 100644
index 0000000..072f439
--- /dev/null
+++ b/src/main/webapp/views/tpl/theme/img/theme-purple.png
Binary files differ
diff --git a/src/main/webapp/views/tpl/theme/img/theme-red.png b/src/main/webapp/views/tpl/theme/img/theme-red.png
new file mode 100644
index 0000000..db9922e
--- /dev/null
+++ b/src/main/webapp/views/tpl/theme/img/theme-red.png
Binary files differ
diff --git a/src/main/webapp/views/tpl/theme/img/theme-white.png b/src/main/webapp/views/tpl/theme/img/theme-white.png
new file mode 100644
index 0000000..4b4cb1f
--- /dev/null
+++ b/src/main/webapp/views/tpl/theme/img/theme-white.png
Binary files differ
diff --git a/src/main/webapp/views/tpl/tpl-note.html b/src/main/webapp/views/tpl/tpl-note.html
new file mode 100644
index 0000000..5910e86
--- /dev/null
+++ b/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/src/main/webapp/views/tpl/tpl-theme.html b/src/main/webapp/views/tpl/tpl-theme.html
new file mode 100644
index 0000000..7a1add0
--- /dev/null
+++ b/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> 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">椤� 鑴氾細</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 璁板繂锛�</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>
--
Gitblit v1.9.1