Junjie
2023-06-27 c2b0be1a368a88e4adb6dda12d0aa5d3bb0df838
src/main/webapp/views/console.html
@@ -1,544 +1,892 @@
<!DOCTYPE html>
<html lang="en">
<!--5层 28列 1120库位-->
<head>
    <meta charset="UTF-8">
    <meta charset="utf-8">
    <title>WCS控制中心</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" type="text/css" href="../static/css/normalize.css">
    <link rel="stylesheet" type="text/css" href="../static/css/common.css">
    <link rel="stylesheet" type="text/css" href="../static/css/console.css">
    <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="../static/js/layer/layer.js"></script>
    <link rel="stylesheet" href="../static/css/console.css">
    <link rel="stylesheet" href="../static/css/animate.min.css">
    <link rel="stylesheet" href="../static/css/toggle-switch.css">
    <script src="../static/js/jquery/jquery-3.3.1.min.js"></script>
    <script src="../static/js/layer/layer.js"></script>
    <script type="text/javascript" src="../static/js/common.js"></script>
    <style>
        /* layer 深蓝色按钮修改 */
        /*.layui-layer-lan .layui-layer-btn {*/
        /*border-top: none;*/
        /*}*/
        .layui-layer-lan .layui-layer-btn a {
            background: #4476A7;
            border-color: #4476A7;
            color: #fff;
        }
        .layui-layer-lan .layui-layer-btn .layui-layer-btn1 {
            background: #fff;
            color: #333;
            border-color: #E9E7E7;
        }
        .layui-layer-lan .layui-layer-btn .layui-layer-btn1:hover {
            background-color: #f7f7f7;
        }
    </style>
</head>
<body>
<header>
    <!-- 系统运行状态 -->
    <div class="system-state">
        <div id="system-icon" class="system-icon-open" onclick="systemSwitch()"></div>
        <span id="system-run-desc">系统运行中...</span>
    </div>
    <!-- 信息展示 -->
    <div class="data-window">
        <!-- 标题 -->
        <h1>自动仓库&nbsp;WCS&nbsp;监控图</h1>
        <!-- 颜色提示 -->
        <div class="tips">
            <div class="tips-item">
                <label>堆垛机状态颜色:&nbsp;</label>
                <div class="item-group">
                    <span class="machine-put-flag">入库</span>
                    <span class="machine-take-flag">出库</span>
                    <span class="machine-stock-move-flag">库到库</span>
                    <span class="machine-site-move-flag">站到站</span>
                    <span class="machine-p-move-flag">PToP</span>
                    <span class="machine-error-flag">异常</span>
                    <span class="machine-auto-flag">自动</span>
                    <span class="machine-unauto-flag">非自动/手动</span>
                </div>
<div class="root">
    <header class="header">
        <h1>自动仓库WCS监控图</h1>
        <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
    </header>
    <main class="main">
        <!--楼层按钮-->
            <div id="floorBtnBox">
                <button class="floorBtn  btn-16" onclick="changFloor(this,1)" style="margin-top: 150px">1F</button>
                <button class="floorBtn  btn-16" onclick="changFloor(this,2)" style="margin-top: 200px">2F</button>
                <button class="floorBtn  btn-16" onclick="changFloor(this,3)" style="margin-top: 250px">3F</button>
                <button class="floorBtn  btn-16" onclick="changFloor(this,4)" style="margin-top: 300px">4F</button>
            </div>
            <div class="tips-item">
                <label>输送设备状态颜色:&nbsp;</label>
                <div class="item-group">
                    <span class="site-auto-run-id">自动+有物+ID</span>
                    <span class="site-auto-run">自动+有物</span>
                    <span class="site-auto-id">自动+ID</span>
                    <span class="site-auto">自动</span>
                    <span class="site-unauto">非自动/手动</span>
            <button class="floorBtn  btn-16" onclick="testMove()" style="margin-top: 350px;font-size: 14px;">测试移动车</button>
            <button class="floorBtn  btn-16" onclick="resetMap()" style="margin-top: 400px;font-size: 14px;">重置地图</button>
        <!-- 货架 + 堆垛机 + 入库站点 -->
        <div class="main-part">
            <!-- 第一组 -->
            <div class="lane" id="mapDataId" style="margin-bottom: 280px">
            </div>
        </div>
    </main>
    <footer class="footer">
        <!-- 总开关 -->
        <div class="system-state">
            <div class="body-head">总开关</div>
            <div class="switch">
                <label id="system-toggle" class="toggle-switch" style="margin-left: 20px;">
                    <input id="system-toggle-checked" checked="checked" type="checkbox">
                    <div class="button">
                        <div class="light"></div>
                        <div class="dots"></div>
                        <div class="characters"></div>
                        <div class="shine"></div>
                        <div class="shadow"></div>
                    </div>
                </label>
                <div class="switch_r">
                    <p>系统状态</p>
                    <p id="system-run-desc">系统运行中</p>
                </div>
            </div>
        </div>
    </div>
</header>
<main>
        <!-- 四向穿梭车状态 -->
        <div class="line-status">
            <div class="body-head">穿梭车状态</div>
            <div id="shuttle-status-box">
            </div>
            <div class="button"><span>所有状态</span></div>
            <div class="button item-group">
                <span class="shuttle-idle">空闲</span>
                <span class="shuttle-working">作业中</span>
                <span class="shuttle-waiting">等待确认</span>
                <span class="shuttle-charging">充电中</span>
                <span class="shuttle-charging-waiting">充电任务等待确认</span>
                <span class="shuttle-fixing">故障修复中</span>
                <span class="shuttle-offline">离线</span>
            </div>
        </div>
        <!-- 提升机状态 -->
        <div class="line-status">
            <div class="body-head">提升机状态</div>
            <div id="lift-status-box">
    <!----------- 工具栏 ---------->
    <!-- 入库口 -->
    <div class="cargo-put"></div>
    <!-- 扫码器 -->
    <div id="code-decoder-1" class="code-decoder">
        <span id="code-decoder-data-1" class="code-decoder-data">0</span>
    </div>
    <!-- 扫码器 -->
    <div id="code-decoder-2" class="code-decoder">
        <span id="code-decoder-data-2" class="code-decoder-data">0</span>
            </div>
            <div class="button"><span>所有状态</span></div>
            <div class="button item-group">
                <span class="lift-idle">空闲</span>
                <span class="lift-working">作业中</span>
                <span class="lift-waiting">等待确认</span>
                <span class="lift-offline">离线</span>
            </div>
        </div>
        <!-- 输送线状态 -->
        <div class="line-status">
            <div class="body-head">输送线状态</div>
            <div class="state states">
                <span>运输线总数</span>
                <span class="line-ss">9</span>
            </div>
            <div class="button"><span>所有状态</span></div>
            <div class="button item-group">
                <span class="site-auto-run-id">自动+有物+ID</span>
                <span class="site-auto-run">自动+有物</span>
                <span class="site-auto-id">自动+ID</span>
                <span class="site-auto">自动</span>
                <span class="site-unauto">非自动/手动</span>
            </div>
        </div>
        <!-- 条码表格 -->
        <div class="bar-code">
            <div class="body-head" id="code">条码扫描器</div>
            <div class="tablebox">
                <div class="table-head">
                    <li><span>条码名称</span><span class="right">扫码时间</span></li>
                </div>
                <div id="barcode1" class="table-body">
                </div>
            </div>
            <div class="tablebox">
                <div class="table-head">
                    <li><span>条码名称</span><span class="right">扫码时间</span></li>
                </div>
                <div id="barcode2" class="table-body">
                </div>
            </div>
        </div>
    </footer>
    <!-- 堆垛机弹窗 -->
    <div id="crnWindow" style="display: none;" class="animate__animated animate__fadeIn">
        <div id="crnWindow-head">
            <div class='detailed'></div>
            <button></button>
        </div>
        <form>
            <!-- 堆垛机号 -->
            <div class="form-item">
                <div class="form-item-label" style>
                    <span>堆垛机号:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="crnNo" value="">
                </div>
            </div>
            <!-- 工作号 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>工作号:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="workNo" value="">
                </div>
            </div>
            <!-- 站源 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>站源:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="sourceStaNo" value="">
                </div>
            </div>
            <!-- 目标站 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>目标站:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="staNo" value="">
                </div>
            </div>
            <!-- 工作状态 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>工作状态:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="wrkSts" value="">
                </div>
            </div>
            <!-- 出入类型 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>出入类型:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="ioType" value="">
                </div>
            </div>
            <!-- 源库位 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>源库位:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="sourceLocNo" value="">
                </div>
            </div>
            <!-- 目标库位 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>目标库位:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="locNo" value="">
                </div>
            </div>
            <!-- 堆垛机状态 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>堆垛机状态:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="crnStatus" value="">
                </div>
            </div>
            <!-- 异常 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>异常:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="error" value="">
                </div>
            </div>
        </form>
    </div>
    <!-- 输送设备弹窗 -->
    <div id="siteWindow" style="display: none;" class="animate__animated animate__fadeIn">
        <!-- 表头 -->
        <div id="siteWindow-head">
            <div class='detailed'></div>
            <button></button>
        </div>
        <form>
            <!-- 设备号 -->
            <div class="form-item"  >
                <div class="form-item-label">
                    <span>设备号:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="siteId" value="">
                </div>
            </div>
            <!-- 工作号 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>工作号:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="workNo" value="">
                </div>
            </div>
            <!-- 工作状态 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>工作状态:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="wrkSts" value="">
                </div>
            </div>
            <!-- 自动 -->
            <div class="form-item-checkbox">
                <div class="form-item-label-checkbox">
                    <span>自动</span>
                </div>
                <div class="form-item-input-checkbox">
                    <input type="checkbox" name="autoing">
                </div>
            </div>
            <!-- 有物 -->
            <div class="form-item-checkbox">
                <div class="form-item-label-checkbox">
                    <span>有物</span>
                </div>
                <div class="form-item-input-checkbox">
                    <input type="checkbox" name="loading">
                </div>
            </div>
            <!-- 能入 -->
            <div class="form-item-checkbox">
                <div class="form-item-label-checkbox">
                    <span>能入</span>
                </div>
                <div class="form-item-input-checkbox">
                    <input type="checkbox" name="canining">
                </div>
            </div>
            <!-- 能出 -->
            <div class="form-item-checkbox">
                <div class="form-item-label-checkbox">
                    <span>能出</span>
                </div>
                <div class="form-item-input-checkbox">
                    <input type="checkbox" name="canouting">
                </div>
            </div>
            <!-- 出入类型 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>出入类型:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="ioType" value="">
                </div>
            </div>
            <!-- 源站 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>源站:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="sourceStaNo" value="">
                </div>
            </div>
            <!-- 目标站 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>目标站:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="staNo" value="">
                </div>
            </div>
            <!-- 源库位 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>源库位:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="sourceLocNo" value="">
                </div>
            </div>
            <!-- 目标库位 -->
            <div class="form-item">
                <div class="form-item-label">
                    <span>目标库位:</span>
                </div>
                <div class="form-item-input">
                    <input type="text" name="locNo" value="">
                </div>
            </div>
    <!----------- 左输送线 ---------->
    <!-- 第0列(宽度 100px) -->
    <div class="site-row site-row-0">
        <div id="site-110" class="site" style="height: 20px;line-height: 20px;">110</div>
        <div id="site-109" class="site" style="height: 20px;line-height: 20px;">109</div>
        <div id="site-108" class="site" style="height: 22px;line-height: 22px;width: 160px">108</div>
        <div id="site-112" class="site" style="height: 22px;line-height: 22px;width: 160px">112</div>
        <div id="site-113" class="site" style="height: 20px;line-height: 20px">113</div>
        <div id="site-114" class="site" style="height: 20px;line-height: 20px">114</div>
        </form>
    </div>
    <!-- 第1列(宽度 100px) -->
    <div class="site-row site-row-1">
        <div id="site-103" class="site" style="height: 20px;line-height: 20px;margin-bottom: 20px">103</div>
        <div id="site-127" class="site" style="height: 20px;line-height: 20px;margin-bottom: 84px">127</div>
        <div id="site-128" class="site" style="height: 20px;line-height: 20px">128</div>
    </div>
    <!-- 第2列(宽度 100px) -->
    <div class="site-row site-row-2">
        <div id="site-126" class="site" style="height: 20px;line-height: 20px;width: 80px">126</div>
        <div id="site-102" class="site" style="height: 20px;line-height: 20px">102</div>
        <div id="site-104" class="site" style="height: 20px;line-height: 20px;width: 80px">104</div>
        <div id="site-105" class="site" style="height: 20px;line-height: 20px">105</div>
        <div id="site-106" class="site" style="height: 22px;line-height: 22px;width: 80px">106</div>
        <div id="site-107" class="site" style="height: 22px;line-height: 22px;width: 90px">107</div>
        <div id="site-111" class="site" style="height: 20px;line-height: 20px">111</div>
        <div id="site-115" class="site" style="height: 20px;line-height: 20px;width: 80px">115</div>
        <div id="site-116" class="site" style="height: 20px;line-height: 20px">116</div>
    </div>
    <!-- 第3列(宽度 100px) -->
    <div class="site-row site-row-3">
        <div id="site-101" class="site" style="height: 20px;line-height: 20px">101</div>
        <div id="site-125" class="site" style="height: 20px;line-height: 20px;width: 80px">125</div>
        <div id="site-123" class="site" style="height: 20px;line-height: 20px">123</div>
        <div id="site-122" class="site" style="height: 44px;line-height: 44px;width: 80px">122</div>
        <div id="site-121" class="site" style="height: 20px;line-height: 20px">121</div>
        <div id="site-119" class="site" style="height: 20px;line-height: 20px;width: 80px">119</div>
        <div id="site-117" class="site" style="height: 20px;line-height: 20px">117</div>
    </div>
    <!-- 第4列(宽度 100px) -->
    <div class="site-row site-row-4">
        <div id="site-200" class="site" style="height: 20px;line-height: 20px;margin-bottom: 21px; width: 160px">200</div>
        <div id="site-202" class="site" style="height: 20px;line-height: 20px;margin-bottom: 44px;">202</div>
        <div id="site-203" class="site" style="height: 20px;line-height: 20px;margin-bottom: 21px; width: 160px">203</div>
        <div id="site-205" class="site" style="height: 20px;line-height: 20px;">205</div>
    </div>
    <!-- 第5列(宽度 100px) -->
    <div class="site-row site-row-5">
        <div id="site-201" class="site" style="height: 20px;line-height: 20px;margin-bottom: 85px">201</div>
        <div id="site-204" class="site" style="height: 20px;line-height: 20px;">204</div>
    </div>
    <!-- 货架 + 堆垛机 + 入库站点 + 出库站点 -->
    <div class="main-part">
        <!--第一组-->
        <div class="lane">
            <span class="row-no">8#</span>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-100" class="site" style="">100</div>
                <button class="item">1</button>
                <button class="item">2</button>
                <button class="item">3</button>
                <button class="item">4</button>
                <button class="item">5</button>
                <button class="item">6</button>
                <button class="item">7</button>
                <button class="item">8</button>
                <button class="item">9</button>
                <button class="item">10</button>
                <button class="item">11</button>
                <button class="item">12</button>
                <button class="item">13</button>
                <button class="item">14</button>
                <button class="item">15</button>
                <button class="item">16</button>
                <button class="item">17</button>
                <button class="item">18</button>
                <button class="item">19</button>
                <button class="item">20</button>
                <button class="item">21</button>
                <button class="item">22</button>
                <button class="item">23</button>
                <button class="item">24</button>
                <button class="item">25</button>
                <button class="item">26</button>
                <button class="item">27</button>
                <button class="item">28</button>
                <button class="item">29</button>
                <button class="item">30</button>
                <button class="item">31</button>
                <button class="item">32</button>
                <div class="site site-none">&nbsp;&nbsp;&nbsp;&nbsp;</div>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-2" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-124" class="site" style="">124</div>
                <button class="item">1</button>
                <button class="item">2</button>
                <button class="item">3</button>
                <button class="item">4</button>
                <button class="item">5</button>
                <button class="item">6</button>
                <button class="item">7</button>
                <button class="item">8</button>
                <button class="item">9</button>
                <button class="item">10</button>
                <button class="item">11</button>
                <button class="item">12</button>
                <button class="item">13</button>
                <button class="item">14</button>
                <button class="item">15</button>
                <button class="item">16</button>
                <button class="item">17</button>
                <button class="item">18</button>
                <button class="item">19</button>
                <button class="item">20</button>
                <button class="item">21</button>
                <button class="item">22</button>
                <button class="item">23</button>
                <button class="item">24</button>
                <button class="item">25</button>
                <button class="item">26</button>
                <button class="item">27</button>
                <button class="item">28</button>
                <button class="item">29</button>
                <button class="item">30</button>
                <button class="item">31</button>
                <button class="item">32</button>
                <div class="site site-none">&nbsp;&nbsp;&nbsp;&nbsp;</div>
            </div>
            <span class="row-no">5#</span>
        </div>
        <!--第二组-->
        <div class="lane">
            <span class="row-no">4#</span>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-120" class="site" style="">120</div>
                <button class="item">1</button>
                <button class="item">2</button>
                <button class="item">3</button>
                <button class="item">4</button>
                <button class="item">5</button>
                <button class="item">6</button>
                <button class="item">7</button>
                <button class="item">8</button>
                <button class="item">9</button>
                <button class="item">10</button>
                <button class="item">11</button>
                <button class="item">12</button>
                <button class="item">13</button>
                <button class="item">14</button>
                <button class="item">15</button>
                <button class="item">16</button>
                <button class="item">17</button>
                <button class="item">18</button>
                <button class="item">19</button>
                <button class="item">20</button>
                <button class="item">21</button>
                <button class="item">22</button>
                <button class="item">23</button>
                <button class="item">24</button>
                <button class="item">25</button>
                <button class="item">26</button>
                <button class="item">27</button>
                <button class="item">28</button>
                <button class="item">29</button>
                <button class="item">30</button>
                <button class="item">31</button>
                <button class="item">32</button>
                <div class="site site-none">&nbsp;&nbsp;&nbsp;&nbsp;</div>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-1" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-118" class="site" style="">118</div>
                <button class="item">1</button>
                <button class="item">2</button>
                <button class="item">3</button>
                <button class="item">4</button>
                <button class="item">5</button>
                <button class="item">6</button>
                <button class="item">7</button>
                <button class="item">8</button>
                <button class="item">9</button>
                <button class="item">10</button>
                <button class="item">11</button>
                <button class="item">12</button>
                <button class="item">13</button>
                <button class="item">14</button>
                <button class="item">15</button>
                <button class="item">16</button>
                <button class="item">17</button>
                <button class="item">18</button>
                <button class="item">19</button>
                <button class="item">20</button>
                <button class="item">21</button>
                <button class="item">22</button>
                <button class="item">23</button>
                <button class="item">24</button>
                <button class="item">25</button>
                <button class="item">26</button>
                <button class="item">27</button>
                <button class="item">28</button>
                <button class="item">29</button>
                <button class="item">30</button>
                <button class="item">31</button>
                <button class="item">32</button>
                <div class="site site-none">&nbsp;&nbsp;&nbsp;&nbsp;</div>
            </div>
            <span class="row-no">1#</span>
        </div>
    </div>
</main>
<!-- 弹窗 -->
<!-- 输送设备弹窗 -->
<div id="siteWindow" style="display: none">
    <form>
        <!-- 第一行 -->
        <div class="form-item" style="width: 25%">
            <div class="form-item-label">
                <span>设备号</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="siteId" value="" disabled="disabled" style="width: 4rem">
            </div>
        </div>
        <div class="form-item" style="width: 25%">
            <div class="form-item-label">
                <span>工作号</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="workNo" value="" disabled="disabled" style="width: 4rem">
            </div>
        </div>
        <div class="form-item" style="width: 45%">
            <div class="form-item-label">
                <span>工作状态</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="wrkSts" value="" disabled="disabled" style="width: 10rem">
            </div>
        </div>
        <!-- 第二行 -->
        <div class="form-item" style="width: 20%">
            <div class="form-item-label">
                <span>自动</span>
            </div>
            <div class="form-item-input">
                <input type="checkbox" name="autoing" disabled="disabled" style="width: 1rem">
            </div>
        </div>
        <div class="form-item" style="width: 20%">
            <div class="form-item-label">
                <span>有物</span>
            </div>
            <div class="form-item-input">
                <input type="checkbox" name="loading" disabled="disabled" style="width: 1rem">
            </div>
        </div>
        <div class="form-item" style="width: 20%">
            <div class="form-item-label">
                <span>能入</span>
            </div>
            <div class="form-item-input">
                <input type="checkbox" name="canining" disabled="disabled" style="width: 1rem">
            </div>
        </div>
        <div class="form-item" style="width: 20%">
            <div class="form-item-label">
                <span>能出</span>
            </div>
            <div class="form-item-input">
                <input type="checkbox" name="canouting" disabled="disabled" style="width: 1rem">
            </div>
        </div>
        <!-- 第三行 -->
        <div class="form-item" style="width: 40%">
            <div class="form-item-label">
                <span>出入类型</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="ioType" value="" disabled="disabled" style="width: 8rem">
            </div>
        </div>
        <div class="form-item" style="width: 25%">
            <div class="form-item-label">
                <span>源站</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="sourceStaNo" value="" disabled="disabled" style="width: 4rem">
            </div>
        </div>
        <div class="form-item" style="width: 25%">
            <div class="form-item-label">
                <span>目标站</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="staNo" value="" disabled="disabled" style="width: 4rem">
            </div>
        </div>
        <!-- 第四行 -->
        <div class="form-item" style="width: 40%">
            <div class="form-item-label">
                <span>源库位</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="sourceLocNo" value="" disabled="disabled" style="width: 8rem">
            </div>
        </div>
        <div class="form-item" style="width: 40%">
            <div class="form-item-label">
                <span>目标库位</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="locNo" value="" disabled="disabled" style="width: 8rem">
            </div>
        </div>
    </form>
</div>
<!-- 堆垛机弹窗 -->
<div id="crnWindow" style="display: none">
    <form>
        <!-- 第一行 -->
        <div class="form-item" style="width: 23%">
            <div class="form-item-label"  style="width: 87px">
                <span>堆垛机号</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="crnNo" value="" disabled="disabled" style="width: 3rem">
            </div>
        </div>
        <div class="form-item" style="width: 25%">
            <div class="form-item-label">
                <span>工作号</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="workNo" value="" disabled="disabled" style="width: 5rem">
            </div>
        </div>
        <div class="form-item" style="width: 23%">
            <div class="form-item-label">
                <span>源站</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="sourceStaNo" value="" disabled="disabled" style="width: 4rem">
            </div>
        </div>
        <div class="form-item" style="width: 25%">
            <div class="form-item-label">
                <span>目标站</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="staNo" value="" disabled="disabled" style="width: 4rem">
            </div>
        </div>
        <!-- 第二行 -->
        <div class="form-item" style="width: 45%">
            <div class="form-item-label" style="width: 87px">
                <span>工作状态</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="wrkSts" value="" disabled="disabled" style="width: 10rem">
            </div>
        </div>
        <div class="form-item" style="width: 45%">
            <div class="form-item-label">
                <span>出入类型</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="ioType" value="" disabled="disabled" style="width: 10rem">
            </div>
        </div>
        <!-- 第三行 -->
        <div class="form-item" style="width: 45%">
            <div class="form-item-label" style="width: 87px">
                <span>源库位</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="sourceLocNo" value="" disabled="disabled" style="width: 10rem">
            </div>
        </div>
        <div class="form-item" style="width: 45%">
            <div class="form-item-label">
                <span>目标库位</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="locNo" value="" disabled="disabled" style="width: 10rem">
            </div>
        </div>
        <!-- 第四行 -->
        <div class="form-item" style="width: 95%">
            <div class="form-item-label">
                <span>堆垛机状态</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="crnStatus" disabled="disabled" style="width: 25rem">
            </div>
        </div>
        <div class="form-item" style="width: 95%">
            <div class="form-item-label" style="width: 87px">
                <span>异常</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="error" disabled="disabled" style="width: 25rem">
            </div>
        </div>
    </form>
</div>
</body>
</html>
<script>
    var tData = []
    var tData1 = []
    var tData2 = []
    var tData3 = []
    var mapData = [] //地图数据
    var currentLev = 1;//当前地图楼层
    function getCodeData(){
        $.ajax({
            url:baseUrl +'/console/barcode/output/site',
            method:'GET',
            success:function (res) {
                if(res.code === 200){
                    tData = eval(res.data);
                    if(tData.length<=5){
                        tData1 = tData
                    } else if (tData.length<=10){
                        tData1 = tData.slice(0,5)
                        // tData.splice(0,4)
                        tData2 = tData.splice(5,10)
                    } else if(tData.length<=15){
                        tData1 = tData.slice(0,5)
                        tData2 = tData.slice(5,10)
                        // tData.splice(0,10)
                        tData3 = tData.slice(10,15)
                    } else {
                        tData1 = tData.slice(0,5)
                        tData2 = tData.slice(5,10)
                        tData3 = tData.slice(10,15)
                        // tData = tData.slice(-15)
                        // tData1 = tData.slice(-15)
                        // tData2 = tData.slice(-10)
                        // tData3 = tData.slice(-5)
                    }
                }
            }
        })
    }
    setInterval(function () {
        getCodeData();
        renderBarCode();
    }, 1000)
    function renderBarCode() {
        for (var i = 0;i<tData1.length;i++){
            var str1 = '<li><span>' + tData1[i].barcode + '</span><span class="right">' + tData1[i].time + '</span></li>'
            $('#barcode1').append(str1)
        }
        for(var j = 0;j<tData2.length;j++){
            var str2 = '<li><span>' + tData2[j].barcode + '</span><span class="right">' + tData2[j].time + '</span></li>'
            $('#barcode2').append(str2)
        }
        for(var k = 0;k<tData3.length;k++){
            var str3 = '<li><span>' + tData3[k].barcode + '</span><span class="right">' + tData3[k].time + '</span></li>'
            $('#barcode3').append(str3)
        }
    }
    $(function (){
        initMap(1)
    })
    setInterval(() => {
        getShuttleStateInfo()
        getLiftStateInfo()
    },1000)
    // 提升机信息表获取
    function getLiftStateInfo() {
        $.ajax({
            url: baseUrl+ "/lift/table/lift/state",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                $("#lift-status-box").empty()
                res.data.forEach((item,index) => {
                    let liftStatusClass = "lift-idle"
                    switch (item.status) {
                        case 1://空闲
                            liftStatusClass = "lift-idle";
                            break
                        case 2://作业中
                            liftStatusClass = "lift-working";
                            break
                        case 3://等待确认
                            liftStatusClass = "lift-waiting";
                            break
                        case 4://离线
                            liftStatusClass = "lift-offline";
                            break
                        default:
                            liftStatusClass = "lift-idle"
                    }
                    let liftStatus = '<div class="state states">' +
                        '<span>提升机 ' + item.liftNo + '</span>' +
                        '<span class="state-ss ' + liftStatusClass + '">' + item.protocolStatus$ + '</span></div>';
                    $("#lift-status-box").append(liftStatus)
                })
            }
        });
    }
    // 四向穿梭车信息表获取
    function getShuttleStateInfo() {
        $.ajax({
            url: baseUrl+ "/shuttle/table/shuttle/state",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                $("#shuttle-status-box").empty()
                res.data.forEach((item,index) => {
                    let shuttleStatusClass = "shuttle-idle"
                    switch (item.status) {
                        case 1://空闲
                            shuttleStatusClass = "shuttle-idle";
                            break
                        case 2://作业中
                            shuttleStatusClass = "shuttle-working";
                            break
                        case 3://等待确认
                            shuttleStatusClass = "shuttle-waiting";
                            break
                        case 4://充电中
                            shuttleStatusClass = "shuttle-charging";
                            break
                        case 5://充电任务等待确认
                            shuttleStatusClass = "shuttle-charging-waiting";
                            break
                        case 6://故障修复中
                            shuttleStatusClass = "shuttle-fixing";
                            break
                        case 7://离线
                            shuttleStatusClass = "shuttle-offline";
                            break
                        default:
                            shuttleStatusClass = "shuttle-offline"
                    }
                    let shuttleStatus = '<div class="state">' +
                        '<span>四向穿梭车 ' + item.shuttleNo + '</span>' +
                        '<span class="state-ss ' + shuttleStatusClass + '">' + item.status$ + '</span></div>';
                    $("#shuttle-status-box").append(shuttleStatus)
                    if(item.locNoLev != currentLev){
                        //四向穿梭车楼层和当前地图楼层不一致,删除该车辆
                        $("#sxcar-" + item.shuttleNo).remove()
                    }else {
                        //移动四向穿梭车
                        moveCar(item.shuttleNo,item.locNoX,item.locNoY)
                    }
                })
            }
        });
    }
    //计算四向穿梭车图标位置
    function getCarPosition(x,y) {
        let top = (x * 35 - 35) + "px" //需要减去小车自己所占高度
        let left = (y * 70 - 70) + "px" //需要减去小车自己所占宽度
        return [top,left];
    }
    //移动四向穿梭车图标
    function moveCar(id,x,y) {
        //获取具体位置top和left值
        let position = getCarPosition(x,y)
        let top = position[0]
        let left = position[1]
        $("#sxcar-" + id).animate({top: top,left: left}, 1000);
    }
    //初始化地图
    function initMap(lev) {
        getMap(lev)
        $.ajax({
            url: baseUrl+ "/shuttle/table/shuttle/state",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                res.data.forEach((item,index) => {
                    if(lev == item.locNoLev){
                        let carBox = '<div class="sxcar" id="sxcar-' + item.shuttleNo + '"></div>'
                        $("#mapDataId").append(carBox)
                    }
                })
            }
        });
    }
    //获取地图数据
    function getMap(lev) {
        //母轨道第一次索引,用于定位小车
        let firstMotherIndex = [0,0];
        $("#mapDataId").empty()
        $.ajax({
            type:"get",
            // url: baseUrl + "/static/js/map_" + lev + ".json",
            url: baseUrl + "/console/map/" + lev + "/auth",
            headers: {'token': localStorage.getItem('token')},
            success: (res) => {
                let data = res.data
                mapData = data
                let content = ""
                data.forEach((rowData,index) => {
                    //去掉上下边缘禁区
                    if(!(index == 0 || data.length - 1 == index)){
                        let row = '<div class="stock-group">';
                        rowData.forEach((colData,idx) => {
                            //去掉左右边缘禁区
                            if(!(idx == 0 || rowData.length - 1 == idx)){
                                let col;
                                switch (colData.value){
                                    case -999:
                                        col = '<button class="item" style="background:#f83333;color: #fff;">' + idx + '</button>';
                                        break;
                                    case -1:
                                        col = '<button class="item" style="visibility: hidden">' + idx + '</button>';
                                        break;
                                    case 3:
                                        //母轨道
                                        col = '<button class="item" style="background: #5af;">&#x21c5;&#x21c4;</button>';
                                        if (firstMotherIndex[0] === 0 && firstMotherIndex[1] === 0) {
                                            //第一次遇到母轨道,则保存该轨道地址(用于小车初始化定位)
                                            firstMotherIndex = [index,idx]
                                        }
                                        break;
                                    case 4:
                                        //站点
                                        var data = colData.data;
                                        col = '<div id="site-' + data + '" class="site">' + data + '(9991)</div>';
                                        break;
                                    case 5:
                                        //充电桩
                                        col = '<button class="item" style="font-size: 24px">&#9889;</button>';
                                        break;
                                    default:
                                        col = '<button class="item">' + idx + '</button>';
                                }
                                if(rowData.length - 2 == idx){
                                    //打上行数标记
                                    col += '<span class="row-no">' + index + '#</span>';
                                }
                                row += col
                            }
                        })
                        row += '</div>';
                        content += row
                    }
                })
                $("#mapDataId").append(content)
            }
        })
    }
    //将地图数据转换成int二维数组(后续用于请求计算路径时携带地图数据参数使用)
    function getMap2TwoArr() {
        let data = []
        mapData.forEach((item,index) => {
            let data2 = []
            item.forEach((val,idx) => {
                data2.push(val.value)
            })
            data.push(data2)
        })
        return data;
    }
    function testMove() {
        getMap2TwoArr()//测试地图数据转换是否正常
        let json = "[{\n" +
            "\t\t\"x\": 5,\n" +
            "\t\t\"y\": 5\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 6,\n" +
            "\t\t\"y\": 5\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 7,\n" +
            "\t\t\"y\": 5\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 8,\n" +
            "\t\t\"y\": 5\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 9,\n" +
            "\t\t\"y\": 5\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 10,\n" +
            "\t\t\"y\": 5\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 11,\n" +
            "\t\t\"y\": 5\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 11,\n" +
            "\t\t\"y\": 6\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 12,\n" +
            "\t\t\"y\": 6\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 13,\n" +
            "\t\t\"y\": 6\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 14,\n" +
            "\t\t\"y\": 6\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 15,\n" +
            "\t\t\"y\": 6\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 16,\n" +
            "\t\t\"y\": 6\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 17,\n" +
            "\t\t\"y\": 6\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 18,\n" +
            "\t\t\"y\": 6\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 19,\n" +
            "\t\t\"y\": 6\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 19,\n" +
            "\t\t\"y\": 7\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 19,\n" +
            "\t\t\"y\": 8\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 20,\n" +
            "\t\t\"y\": 8\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 21,\n" +
            "\t\t\"y\": 8\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 22,\n" +
            "\t\t\"y\": 8\n" +
            "\t},\n" +
            "\t{\n" +
            "\t\t\"x\": 23,\n" +
            "\t\t\"y\": 8\n" +
            "\t}\n" +
            "]";
        json = JSON.parse(json)
        json.forEach((item,index) => {
            moveCar(1, item.x, item.y);
        })
    }
    /**
     * 重置地图
     */
    function resetMap() {
        $.ajax({
            url:baseUrl+"/console/map/resetMap/auth",
            headers:{
                'token': localStorage.getItem('token')
            },
            data:{},
            method:'get',
            success:function (res) {
                layer.msg('重置完成');
            }
        })
    }
    // 小车偏移动画
    function carAnimate(id, target) {
        if (id === 1000) {
            let targetTop = 130;
            switch (target) {
                case 110:
                    targetTop += 0;
                    break;
                case 109:
                    targetTop += 60;
                    break;
                case 108:
                    targetTop += 100;
                    break;
                case 107:
                    targetTop += 180;
                    break;
                case 106:
                    targetTop += 220;
                    break;
                default:
                    return;
            }
            $("#site-" + id).animate({top: targetTop+'px'}, 1000);
        } else if (id === 2000) {
            let targetTop = 130;
            switch (target) {
                case 226:
                    targetTop += 0;
                    break;
                case 225:
                    targetTop += 60;
                    break;
                case 224:
                    targetTop += 100;
                    break;
                case 223:
                    targetTop += 180;
                    break;
                case 222:
                    targetTop += 220;
                    break;
                case 214:
                    targetTop += 280;
                    break;
                case 220:
                    targetTop += 320;
                    break;
                default:
                    return;
            }
            $("#site-" + id).animate({top: targetTop+'px'}, 1000);
        }
    }
</script>
<script type="text/javascript">
    // 弹窗站点信息
    $('#mapDataId').on('click','.site',function(){
        var id = this.id.split("-")[1];
        $("#siteWindow").attr("style","display:block;");//显示div
        $("#crnWindow").attr("style","display:none;");
        $(".detailed").empty();
        $('.detailed').append(id+'站点详细信息');
        $.ajax({
            url:baseUrl+"/console/site/detail",
            headers:{
                'token': localStorage.getItem('token')
            },
            data:{
                siteId: id
            },
            method:'post',
            success:function (res) {
                for (var val in res.data) {
                    var find = $("#siteWindow").find(":input[name='" + val + "']");
                    if (find[0].type==='text') {
                        find.val(res.data[val]);
                    } else if (find[0].type === 'checkbox') {
                        find.attr("checked", res.data[val] === 'Y');
                    }
                }
            }
        })
    });
    // 堆垛机信息
    $('.machine').on('click',function(){
        var id = this.id.split("-")[1];
        $("#crnWindow").attr('style','display:block;');
        $("#siteWindow").attr("style","display:none;");
        $('.detailed').empty();
        $('.detailed').append(id+'号堆垛机');
        $.ajax({
            url:baseUrl+"/console/crn/detail",
            headers:{
                'token': localStorage.getItem('token')
            },
            data:{
                crnNo: id
            },
            method:'post',
            success:function (res) {
                for (var val in res.data) {
                    var find = $("#crnWindow").find(":input[name='" + val + "']");
                    if (find[0].type==='text') {
                        find.val(res.data[val]);
                    } else if (find[0].type === 'checkbox') {
                        find.attr("checked", res.data[val] === 'Y');
                    }
                }
            }
        })
    })
    // 弹窗关闭
    $('button').on('click',function(){
        $('#siteWindow').attr('style','display:none')
        $('#crnWindow').attr('style','display:none')
    })
    var crn1Position = 0;
    var crn2Position = 0;
    var crn3Position = 0;
    var crn4Position = 0;
    var crn5Position = 0;
    // 初始化
    getSitesInfo();
    getCrnInfo();
    getSystemRunningStatus();
    getBarcodeInfo();
    getScaleInfo();
    // 实时访问
    setInterval(function () {
        getCrnInfo();
        getSystemRunningStatus();
        getBarcodeInfo()
        getBarcodeInfo();
        getScaleInfo();
    }, 1000);
    setInterval(function () {
        getSitesInfo();
    }, 3000);
    $("#system-toggle").on("click",(e) => {
        systemSwitch()
        e.stopPropagation();//表示阻止向父元素冒泡
        e.preventDefault();//阻止 方法阻止元素发生默认的行为(例如,当点击提交按钮时阻止对表单的提交或者a标签)。
    })
    // 系统运行开关
    function systemSwitch() {
@@ -571,11 +919,11 @@
                layer.close(index);
                if (res.code === 200){
                    if (res.data.status) {
                        $('#system-icon').attr("class", "system-icon-open");
                        $('#system-toggle-checked').attr("checked", true);
                        $('#system-run-desc').html("系统运行中...");
                        parent.systemRunning = true;
                    } else {
                        $('#system-icon').attr("class", "system-icon-close");
                        $('#system-toggle-checked').attr("checked", false);
                        $('#system-run-desc').html("系统已停止!");
                        parent.systemRunning = false;
                    }
@@ -583,7 +931,7 @@
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
@@ -599,11 +947,11 @@
            success: function (res) {
                if (res.code === 200){
                    if (res.data.status) {
                        $('#system-icon').attr("class", "system-icon-open");
                        $('#system-toggle-checked').attr("checked", true);
                        $('#system-run-desc').html("系统运行中...");
                        parent.systemRunning = true;
                    } else {
                        $('#system-icon').attr("class", "system-icon-close");
                        $('#system-toggle-checked').attr("checked", false);
                        $('#system-run-desc').html("系统已停止!");
                        parent.systemRunning = false;
                    }
@@ -658,10 +1006,8 @@
                    for (var i = 0; i < crns.length; i++){
                        var crnEl = $("#crn-"+crns[i].crnId);
                        crnEl.attr("class", "machine " + crns[i].crnStatus);
                        var unit = $('.item').eq(0).width()+4;
                        crnEl.animate({left: (crns[i].bay * unit + 50) +'px'}, 1000);
                        // crnEl.animate({left: (crns[i].bay * ($('.item').eq(0).width()+4)) +'px'}, 1000);
                        var unit = ($('.item').eq(0).width()+4)/2;
                        crnEl.animate({left: (crns[i].bay * unit + 25) +'px'}, 1000);
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
@@ -693,89 +1039,28 @@
        });
    }
    // 堆垛机偏移动画
    function crnAnimate(id, leftVal) {
        switch (id) {
            case 1:
                $("#crn-1").animate({left: leftVal+'px'}, 1000);
                crn1Position = leftVal;
                break;
            case 2:
                $("#crn-2").animate({left: leftVal+'px'}, 1000);
                crn2Position = leftVal;
                break;
            default:
                break
        }
    // 磅秤实时数据获取
    function getScaleInfo(){
        $.ajax({
            url: baseUrl+ "/console/latest/data/scale",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var sclaes = res.data;
                    for (var i = 0; i < sclaes.length; i++){
                        console.log(sclaes[i].scaleId + ":" + sclaes[i].value)
                        $("#scale-data-"+sclaes[i].scaleId).text(sclaes[i].value);
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    // 页面点击事件监听 ---------------------------------------------------------
    // 输送设备点击事件
    $('.site').on('click', function () {
        var id = this.id.split("-")[1];
        if (id === undefined) {
            return;
        }
        layer.open({
            title: id + " 站点信息详情",
            closeBtn: 0,
            skin: 'layui-layer-lan',
            offset: '180px',
            type: 1,
            shadeClose: true,
            content: $('#siteWindow'),
            area: ['35rem', '18rem'],
            btn: ['确定', '关闭'],
            success: function(layero, index){
                http.post(baseUrl+"/console/site/detail", {siteId: id}, function (res) {
                    for (var val in res.data) {
                        var find = $("#siteWindow").find(":input[name='" + val + "']");
                        if (find[0].type==='text') {
                            find.val(res.data[val]);
                        } else if (find[0].type === 'checkbox') {
                            find.attr("checked", res.data[val] === 'Y');
                        }
                    }
                })
            },
            end: function () {
                $(':input', $("#siteWindow")).val('').removeAttr('checked').removeAttr('selected');
            }
        });
    });
    // 堆垛机点击事件
    $('.machine').on('click', function () {
        var id = this.id.split("-")[1];
        layer.open({
            title: id+"号堆垛机",
            skin: 'layui-layer-lan',
            closeBtn: 0,
            type: 1,
            offset: '150px',
            shadeClose: true,
            content: $("#crnWindow"),
            area: ['40rem', '20rem'],
            btn: ['确定', '关闭'],
            success: function(layero, index){
                http.post(baseUrl+"/console/crn/detail", {crnNo: id}, function (res) {
                    for (var val in res.data) {
                        var find = $("#crnWindow").find(":input[name='" + val + "']");
                        if (find[0].type==='text') {
                            find.val(res.data[val]);
                        } else if (find[0].type === 'checkbox') {
                            find.attr("checked", res.data[val] === 'Y');
                        }
                    }
                })
            },
            end: function () {
                $(':input', $("#crnWindow")).val('').removeAttr('checked').removeAttr('selected');
            }
        });
    });
    // 小车偏移动画
    function carAnimate(id, target) {
@@ -806,5 +1091,14 @@
        $("#site-" + id).animate({top: targetTop+'px'}, 1000);
    }
     //楼层切换按钮
    function changFloor(e,x) {
        $("#floorBtnBox button").each((index,item) => {
            $(item).removeClass("btn-16-active")
        })
        $(e).addClass("btn-16-active")
        currentLev = x
        initMap(currentLev)
    }
</script>
</html>