自动化立体仓库 - WMS系统
*
lsh
2025-11-11 2ce9436d64aaee5d9743e34f89e64f2207cc8583
src/main/webapp/views/index.html
@@ -1,203 +1,288 @@
<!DOCTYPE html>
<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.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  <link rel="stylesheet" href="../static/layuiadmin/layui/css/layui.css" media="all">
  <link rel="stylesheet" href="../static/layuiadmin/style/admin.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-layout-admin .layui-footer a {
      color: #3573ab;
      font-weight: bold
    }
    <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">
    <link rel="stylesheet" href="../static/css/layx.min.css" type="text/css"/>
    <script src="../static/js/tools/layx.min.js"></script>
    <style>
        .layui-logo img {
            width: 25px;
        }
    /*todo:luxiaotao*/
    .layui-layout-admin .layui-logo {
      letter-spacing: 2px;
      font-size: 22px;
      height: 80px;
      padding: 20px 0;
      font-weight: 400;
      color: white;
    }
    .layui-side-menu .layui-nav {
      margin-top: 80px;
    }
  </style>
        .layui-logo cite {
            font-size: 18px;
            font-weight: 400;
            /*margin-left: 5px;*/
        }
        /* 弹窗样式 */
        .popup {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 9999;
        }
        .popup-content {
            background-color: #fff;
            padding: 20px;
            border-radius: 5px;
            box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);
            text-align: center;
        }
        button:hover {
            background-color: #0069d9;
        }
    </style>
</head>
<body class="layui-layout-body">
  <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 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.jpg">-->
            <span>中扬储存设备</span>
          </div>
          <ul class="layui-nav layui-nav-tree" lay-shrink="all" id="LAY-system-side-menu" lay-filter="layadmin-system-side-menu">
          </ul>
<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: 40%;height: auto">-->
            <!--          <span style="margin-top: 0; letter-spacing: 10px">中扬立库</span>-->
            <img src="../static/image/favicon.ico"/>
            <cite>徐工汉云</cite>
        </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">
        <ul class="layui-nav layui-layout-left">
            <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>
                <a ew-event="flexible" title="侧边伸缩"><i class="layui-icon layui-icon-shrink-right"></i></a>
            </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>
            <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" lay-unselect id="licenseShow" style="display: none;user-select: none;">
                <div style="color: red;">许可证有效期:<span id="licenseDays">29</span>天</div>
            </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>
  <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 src="../static/layuiadmin/layui/layui.js"></script>
  <script>
  layui.config({
    base: '../static/layuiadmin/' //静态资源所在路径
  }).extend({
    index: 'lib/index' //主入口模块
  }).use(['index','element'], function () {
      var element = layui.element;
      var $ = layui.jquery;
    <!-- 侧边栏 -->
    <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>
      $('#person-username').text(localStorage.getItem('username'));
    <!-- 主体部分 -->
    <div class="layui-body"></div>
    <!-- 底部 -->
    <div class="layui-footer layui-text">
        copyright © 2023 <a href="https://zoneyung.com/" target="_blank">徐工汉云</a> all rights reserved.
        <span class="pull-right">Version 1.0.0</span>
    </div>
      $(function () {
          if ("" === localStorage.getItem('token')){
              top.location.href = "/login";
          }
          $.ajax({
              url: "/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 = "/login";
                  }else {
                      layer.alert(res.msg)
                  }
              }
          });
</div>
          // 注销
          $(document).on('click','#logout',function () {
              localStorage.removeItem("token");
          });
<!--初始化加载层-->
<div class="layuimini-loader">
    <div class="layuimini-loader-inner"></div>
</div>
<!-- 弹窗内容 -->
<div class="popup" id="popup" style="display: none">
    <div class="popup-content">
        <div class="popup-icon">⚠⚠⚠⚠⚠⚠⚠⚠⚠</div>
        <h2 style="font-size: 28px;margin-bottom: 10px;">许可证状态提醒</h2>
        <div id="popup-text" style="font-size: 28px;color: red"></div>
<!--        <p style="font-size: 26px;margin-bottom: 20px;margin-top: 20px;color: blue">请联系立库公司商务续约!!!</p>-->
        <button style="background-color: #007bff;color: #fff;border: none;padding: 10px 20px;border-radius: 5px;cursor: pointer;font-size: 16px;"
                onclick="hidePopup()">我知道了
        </button>
    </div>
</div>
      });
  });
  </script>
<script>
    // 显示弹窗
    function showPopup(res) {
        // 获取弹出窗口内容的容器元素
        var popupText = document.getElementById('popup-text');
        if (res != "") {
            var responseString = "许可证即将过期,剩余有效期:" + res + "天!";
            // 将字符串设置为弹窗内容的文本
            popupText.textContent = responseString;
            document.getElementById('popup').style.display = 'block';
        } else {
            document.getElementById('popup').style.display = 'none';
        }
    }
    // 隐藏弹窗
    function hidePopup() {
        document.getElementById('popup').style.display = 'none';
    }
</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 type="text/javascript" src="../static/js/handlebars/handlebars-v4.5.3.js"></script>
<script type="text/javascript" src="../static/js/common.js"></script>
<script>
    f()
    function f() {
        $.ajax({
            url: baseUrl + "/license/getLicenseDays",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code == 200) {
                    let days = res.data
                    if (days <= 10) {
                        showPopup(res.data)
                    } else {
                        showPopup("");
                    }
                }
            }
        });
        // setTimeout(function () {
        //   f()
        // },3000);
    }
</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});
                }
            }
        });
        $.ajax({
            url: baseUrl + "/license/getLicenseDays",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code == 200) {
                    let days = res.data
                    if (days <= 33) {
                        $("#licenseShow").show()
                        $("#licenseDays").html(days)
                    }
                } else {
                    top.location.href = baseUrl + "/login";
                }
            }
        });
        // 默认加载主页
        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>