自动化立体仓库 - WMS系统
lty
3 天以前 8e943b7104561c3b14cf223016698709c5ade4b5
src/main/webapp/views/index.html
@@ -10,6 +10,7 @@
  <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-logo img {
      width: 25px;
@@ -26,7 +27,7 @@
  <!-- 头部 -->
  <div class="layui-header">
    <div class="layui-logo">
      <img src="../static/image/logo.png" style="display: inline-block; width: 40%;height: auto">
      <img src="../static/image/zy_logo_dark_color.png" style="display: inline-block; width: 40%;height: auto">
      <!--          <span style="margin-top: 0; letter-spacing: 10px">中扬立库</span>-->
      <!--          <img src="../static/image/logo.svg"/>-->
      <!--          <cite>中扬 - Zoneyung</cite>-->
@@ -42,7 +43,17 @@
    </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>
        <a><i class="layui-icon layui-icon-website"></i> <span id="currentLang" data-i18n="language">语言</span></a>
        <dl class="layui-nav-child">
          <dd><a href="javascript:;" class="notranslate" onclick="changeLanguage('zh-cn')">简体中文</a></dd>
<!--          <dd><a href="javascript:;" class="notranslate" onclick="changeLanguage('chinese_traditional', '繁體中文')">繁體中文</a></dd>-->
          <dd><a href="javascript:;" class="notranslate" onclick="changeLanguage('en')">English</a></dd>
<!--          <dd><a href="javascript:;" class="notranslate" onclick="changeLanguage('japanese', '日本語')">日本語</a></dd>-->
<!--          <dd><a href="javascript:;" class="notranslate" onclick="changeLanguage('korean', '한국어')">한국어</a></dd>-->
        </dl>
      </li>
      <li class="layui-nav-item" lay-unselect id="licenseShow" style="display: none;user-select: none;">
        <div style="color: red;"><span data-i18n="license_validity_prefix">临时许可证有效期:</span><span id="licenseDays">29</span><span data-i18n="license_validity_suffix">天</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>
@@ -52,13 +63,13 @@
          <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>
          <dd lay-unselect><a ew-href="detail.html?resourceId=8" data-i18n="basic_info">基本资料</a></dd>
          <hr>
          <dd lay-unselect><a id="logout">退出</a></dd>
          <dd lay-unselect><a id="logout" data-i18n="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>
        <a ew-event="theme" title="主题" data-i18n="主题" data-i18n-attr="title"><i class="layui-icon layui-icon-more-vertical"></i></a>
      </li>
    </ul>
  </div>
@@ -90,6 +101,7 @@
<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 type="text/javascript" src="../static/js/i18n/i18n-helper.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 () {
@@ -110,6 +122,13 @@
    var admin = layui.admin;
    var notice = layui.notice;
    // Register Handlebars helper for i18n
    if (typeof Handlebars !== 'undefined' && typeof I18n !== 'undefined') {
        Handlebars.registerHelper('t', function(key) {
            return I18n.t(key);
        });
    }
    var easywebIframeMsg = localStorage.getItem("easyweb-iframe");
    if (!isEmpty(easywebIframeMsg)) {
      var easywebIframeObj = JSON.parse(easywebIframeMsg);
@@ -127,11 +146,21 @@
        // 关闭加载动画
        $('.layuimini-loader').fadeOut();
        if (res.code === 200) {
          // Register Handlebars helper for i18n
          Handlebars.registerHelper('t', function(key) {
              return I18n.t(key);
          });
          var tpl = $('#menuTpl').html();
          var template = Handlebars.compile(tpl);
          var html = template(res);
          $("#menu-main").html(html);
          element.init();
          // 默认加载主页 (Move here to ensure menu is loaded for tab title translation)
          index.loadHome({
            menuPath: baseUrl+'/views/home/navigation.html',
            menuName: '<i class="layui-icon layui-icon-home"></i>'
          });
        } else if (res.code === 403) {
          top.location.href = baseUrl + "/login";
        } else {
@@ -140,11 +169,29 @@
      }
    });
    // 默认加载主页
    index.loadHome({
      menuPath: baseUrl+'/views/home/navigation.html',
      menuName: '<i class="layui-icon layui-icon-home"></i>'
    $.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)
            alert(I18n.t('license_validity_prefix') + days + I18n.t('license_validity_suffix'))
          }
        }else {
          top.location.href = baseUrl + "/login";
        }
      }
    });
    // 默认加载主页 (Moved to menu auth success callback)
    // index.loadHome({
    //   menuPath: baseUrl+'/views/home/navigation.html',
    //   menuName: '<i class="layui-icon layui-icon-home"></i>'
    // });
    $('#username').text(localStorage.getItem('username'));
@@ -165,15 +212,50 @@
<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>
    <a><i class="layui-icon {{this.menuIcon}}"></i>&emsp;<cite data-i18n="{{this.menu}}">{{t 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>
      <dd><a lay-href="{{this.code}}?resourceId={{this.id}}" data-i18n-key="{{this.name}}"><span data-i18n="{{this.name}}">{{t this.name}}</span></a></dd>
      {{/each}}
    </dl>
  </li>
  {{/each}}
</script>
<script>
  // Initialize language display
  var currentLang = I18n.getLanguage();
  if (currentLang === 'en') {
      $('#currentLang').text('English');
  } else {
      $('#currentLang').text('简体中文');
  }
  // Language switching function
  function changeLanguage(lang) {
      if (lang === I18n.getLanguage()) return;
      // Update parent page
      I18n.setLanguage(lang);
      // Update display text
      if (lang === 'en') {
          $('#currentLang').text('English');
      } else {
          $('#currentLang').text('简体中文');
      }
      // Notify all iframes
      $('iframe').each(function() {
          try {
              if (this.contentWindow && this.contentWindow.I18n) {
                  this.contentWindow.I18n.setLanguage(lang);
              }
          } catch (e) {
              console.error('Cannot access iframe:', e);
          }
      });
  }
</script>
</body>
</html>