自动化立体仓库 - WMS系统
dubin
2025-12-19 b00eeab31bd13ba34a03301aa441b0751d6a93e4
src/main/webapp/views/index.html
@@ -2,12 +2,18 @@
<html>
<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="stylesheet" href="../static/css/layx.min.css" type="text/css" />
  <script type="text/javascript" src="../static/js/tools/layx.min.js"></script>
  <style>
    .layui-layout-admin .layui-footer {
      box-sizing: border-box;
@@ -24,17 +30,43 @@
      font-weight: bold
    }
    /*todo:luxiaotao*/
    .layui-layout-admin .layui-logo {
      letter-spacing: 2px;
      font-size: 22px;
      height: 80px;
      padding: 20px 0;
      font-weight: 400;
      color: white;
      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: 80px;
      margin-top: 110px;
    }
    /* 弹窗样式 */
    .popup {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0,0,0,0.5);
      display: none;
      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;
    }
  </style>
</head>
@@ -65,10 +97,17 @@
          <!--</li>-->
        </ul>
        <ul id="cool-header-right" class="layui-nav layui-layout-right" lay-filter="layadmin-layout-right">
          <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 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>
@@ -84,7 +123,7 @@
              <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="/asrs">退出</a></dd>
              <dd style="text-align: center;"><a id="logout" href="/">退出</a></dd>
            </dl>
          </li>
        </ul>
@@ -94,8 +133,8 @@
      <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>
            <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-nav-tree" lay-shrink="all" id="LAY-system-side-menu" lay-filter="layadmin-system-side-menu">
@@ -133,18 +172,48 @@
      </div>
      <div class="layui-footer">
        Copyright © 2015 All Rights Reserved. <a href="http://www.zoneyung.com" target="_blank">浙江中扬物流装备有限公司</a>  保留所有权利
        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>
  </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>
  <!-- 弹窗内容 -->
  <div class="popup" id="popup">
    <div class="popup-content">
      <h2 style="font-size: 28px;margin-bottom: 10px;">许可证即将过期</h2>
      <div id="popup-text" style="font-size: 28px;color: red"></div>
      <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>
  layui.config({
    // 显示弹窗
    function showPopup(res) {
      console.log(res)
      document.getElementById('popup').style.display = 'block';
      // 获取弹出窗口内容的容器元素
      var popupText = document.getElementById('popup-text');
      // 假设后台返回的字符串为 responseString
      if (res!==""){
        // 获取当前日期
        const currentDate = new Date();
        // 创建新日期对象并添加天数
        const newDate = new Date();
        newDate.setDate(currentDate.getDate() + res + 1);
        // 将字符串设置为弹窗内容的文本
        popupText.textContent = "许可证将于" + new Intl.DateTimeFormat('zh-CN').format(newDate) + "过期,剩余有效期:" + res + "天!";
      }else {
        document.getElementById('popup').style.display = 'none';
      }
    }
    // 隐藏弹窗
    function hidePopup() {
      document.getElementById('popup').style.display = 'none';
    }
    layui.config({
    base: '../static/layuiadmin/' //静态资源所在路径
  }).extend({
    index: 'lib/index' //主入口模块
@@ -152,43 +221,34 @@
      var element = layui.element;
      var $ = layui.jquery;
      // 替换退出按钮变量
      var logout = document.getElementById('logout');
      var url = logout.getAttribute('href');
      logout.setAttribute('href', baseUrl + url);
      $('#person-username').text(localStorage.getItem('username'));
      $(function () {
          if ("" === localStorage.getItem('token')){
              top.location.href = baseUrl+"/login";
          }
          // 激活码验证
          $.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)
                  }
            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 () {
@@ -196,6 +256,62 @@
          });
      });
      // 加载菜单
      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)
            }
          }
        });
      }
    $.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 <= 30) {
            $("#licenseShow").show()
            $("#licenseDays").html(days)
          }
          if (days <= 15) {
            showPopup(days)
          }
        }else {
          top.location.href = baseUrl + "/login";
        }
      }
    });
  });
  </script>
</body>