#
luxiaotao1123
2021-04-10 0d1a0cbcaf04019ffe09e64d7ca325708aa47e8e
#
2个文件已添加
436 ■■■■■ 已修改文件
src/main/webapp/static/layui/lay/modules/index.js 302 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/index1.html 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/layui/lay/modules/index.js
New file
@@ -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;  // 是否是添加Tab,添加Tab的时候切换不自动刷新
    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', '');
        }
    };
    /** 自定义tab标题 */
    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的dom */
    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');  // 解决删除后可能无选中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});
    });
    /** 开启Tab右键菜单 */
    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);
});
src/main/webapp/views/index1.html
New file
@@ -0,0 +1,134 @@
<!DOCTYPE html>
<html>
<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.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="icon" type="image/x-icon" href="../static/image/logo1.png" />
    <link rel="stylesheet" href="../static/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../static/css/admin.css?v=318" media="all">
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    <style>
    </style>
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
    <!-- 头部 -->
    <div class="layui-header">
      <div class="layui-logo">
        <img src="assets/images/logo.png"/>
        <cite>&nbsp;EasyWeb iframe</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="message" title="消息">
            <i class="layui-icon layui-icon-notice"></i>
            <span class="layui-badge-dot"></span>
          </a>
        </li>
        <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 layui-hide-xs" lay-unselect>
          <a ew-event="lockScreen" title="锁屏"><i class="layui-icon layui-icon-password"></i></a>
        </li>
        <li class="layui-nav-item" lay-unselect>
          <a>
            <img src="assets/images/head.jpg" class="layui-nav-img">
            <cite>管理员</cite>
          </a>
          <dl class="layui-nav-child">
            <dd lay-unselect><a ew-href="page/template/user-info.html">个人中心</a></dd>
            <dd lay-unselect><a ew-event="psw">修改密码</a></dd>
            <hr>
            <dd lay-unselect><a ew-event="logout" data-url="page/template/login/login.html">退出</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 class="layui-nav layui-nav-tree arrow2" lay-filter="admin-side-nav" lay-shrink="_all">
          <li class="layui-nav-item">
            <a><i class="layui-icon layui-icon-home"></i>&emsp;<cite>Dashboard</cite></a>
            <dl class="layui-nav-child">
              <dd><a lay-href="home/console1.html">工作台</a></dd>
              <dd><a lay-href="home/console.html">控制台</a></dd>
              <dd><a lay-href="page/console/dashboard.html">分析页</a></dd>
            </dl>
          </li>
          <li class="layui-nav-item">
            <a><i class="layui-icon layui-icon-set"></i>&emsp;<cite>系统管理</cite></a>
            <dl class="layui-nav-child">
              <dd><a lay-href="page/system/user.html">用户管理</a></dd>
              <dd><a lay-href="page/system/role.html">角色管理</a></dd>
              <dd><a lay-href="page/system/authorities.html">权限管理</a></dd>
              <dd><a lay-href="page/system/dictionary.html">字典管理</a></dd>
              <dd><a lay-href="page/system/organization.html">机构管理</a></dd>
              <dd><a lay-href="page/system/login-record.html">登录日志</a></dd>
            </dl>
          </li>
        </ul>
      </div>
    </div>
    <!-- 主体部分 -->
    <div class="layui-body"></div>
    <!-- 底部 -->
    <div class="layui-footer layui-text">
        copyright © 2020 <a href="http://easyweb.vip" target="_blank">easyweb.vip</a> all rights reserved.
        <span class="pull-right">Version 3.1.8</span>
    </div>
</div>
<!-- 加载动画 -->
<div class="page-loading">
  <div class="ball-loader">
    <span></span><span></span><span></span><span></span>
  </div>
</div>
<script type="text/javascript" src="../static/layuiadmin/layui/layui.js"></script>
<script type="text/javascript" src="../static/js/common.js"></script>
<script>
    layui.config({
      base: baseUrl + "/static/layui/lay/modules/"
    }).use(['index','element'], function () {
      var $ = layui.jquery;
      var index = layui.index;
      // 默认加载主页
      index.loadHome({
        menuPath: baseUrl+'/views/home/console.html',
        menuName: '<i class="layui-icon layui-icon-home"></i>'
      });
    });
</script>
</body>
</html>