自动化立体仓库 - WCS系统
YCQ
whycq
2021-12-28 e5de740f9e5c28bc0026efc9d285ce0f7652b424
YCQ
15个文件已添加
15 文件已重命名
3个文件已删除
4个文件已修改
6192 ■■■■■ 已修改文件
src/main/webapp/static/css/console-0.css 507 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/css/console.css 930 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/css/index-0.css 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/css/index.css 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/image/Crane_auto.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/image/start48.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/image/stop48.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/Crane_auto.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/Crane_error.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/Crane_hptoohp.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/Crane_loctoloc.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/Crane_manual.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/Crane_retrieve.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/Crane_stntostn.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/Crane_store.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/Popup-green.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/Popup-yellow.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/barcode.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/bg.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/bscanner.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/cancellation.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/fork_l.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/fork_r.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/line.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/login.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/loginBg.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/siteclose.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/stacker.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/start48.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/status_bar_1.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/status_bar_2.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/stop48.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/images/wcs_logo.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/console-0.html 1522 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/console.html 3005 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/index.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/index0.html 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/css/console-0.css
New file
@@ -0,0 +1,507 @@
html {
    height: 100%;
}
body {
    height: 100%;
    background-color: #f1f1f1;
    border-radius: 5px;
    box-shadow: 0 0 3px rgba(0,0,0,.3);
    padding: 10px;
}
/* ------------------------------------ 头部 ------------------------------------*/
header {
    border-radius: 5px;
    box-shadow: 0 0 3px rgba(0,0,0,.3);
    background-color: #fff;
    height: 17%;
    opacity: 0.8;
    position: relative;
}
/* 分割线 */
.header-hr {
    border-radius: 5px;
    border: 1px solid #777;
    width: 80%;
    position: absolute;
    bottom: 0;
}
/* 系统运行状态 */
.system-state {
    float: left;
    width: 10%;
    height: 100%;
    padding: 20px;
    text-align: center;
    color: #2d6aff;
}
#system-icon {
    display: inline-block;
    width: 70%;
    height: 70%;
    background-repeat: no-repeat;
    background-size:100% 100%;
    background-position: top center;
    cursor: pointer;
}
.system-icon-open {
    background-image: url("../image/stop48.png");
}
.system-icon-close {
    background-image: url("../image/start48.png");
}
#system-run-desc {
    font-size: large;
    display: inline-block;
    padding-top: 10px;
    font-weight: bold;
    overflow: hidden;
    text-overflow:ellipsis;
    white-space: nowrap;
}
/* 状态显示 */
.data-window {
    padding-top: 20px;
    float: left;
    width: 70%;
    text-align: center;
}
.data-window h1 {
    font-size: 3em;
    margin: 0;
    letter-spacing: 1px;
    font-weight: inherit;
}
/* 颜色提示 */
.tips {
    position: absolute;
    bottom: 7%;
    left: 10%;
}
.tips-item {
    margin-bottom: 0;
    font-size: 0;
    text-align: left;
}
.tips-item label {
    display: inline-block;
    width: 130px;
    text-align: right;
    font-size: xx-small;
}
.item-group {
    display: inline-block;
}
.item-group span {
    font-size: xx-small;
    padding: 0 10px;
}
/* ------------------------------------ 主体 ------------------------------------*/
main {
    margin-top: 8px;
    border-radius: 5px;
    box-shadow: 0 0 3px rgba(0,0,0,.3);
    background-color: #fff;
    height: 82%;
    position: relative;
}
/* ------------------ 输送线总成 ------------------ */
.site-row {
    position: absolute;
    top: 122px;
}
/* 输送线第0列 */
.site-row-0 {
    top: 162px;
    left: 140px;
}
.site-row-0 .site {
    width: 80px;
}
/* 输送线第一列 */
.site-row-1 {
    top: 188px;
    left: 120px;
}
.site-row-1 .site {
    width: 70px;
}
/* 输送线第二列 */
.site-row-2 {
    top: 188px;
    left: 190px;
}
.site-row-2 .site {
    width: 70px;
}
/* 输送线第三列 */
.site-row-3 {
    top: 229px;
    left: 260px;
}
.site-row-3 .site {
    width: 70px;
}
/* 输送线第4列 */
.site-row-4 {
    top: 188px;
    left: 260px;
}
.site-row-4 .site {
    /*width: 80px;*/
}
/* 输送线第5列 */
.site-row-5 {
    top: 55px;
    left: 400px;
}
.site-row-5 .site {
    width: 70px;
}
.site-row-6 {
    top: 55px;
    left: 470px;
}
.site-row-6 .site {
    width: 70px;
}
/* 站点 */
.site {
    color: #333;
    height: 20px;
    border: 1px solid #fff;
    cursor: pointer;
    width: 50px;
    text-align: center;
    background-color: #21ff3a;
    font-size: 13px;
}
/*空站点*/
.site-1{
    color: #333;
    height: 20px;
    border: 1px solid #fff;
    cursor: pointer;
    width: 50px;
    text-align: center;
    background-color: #ffffff;
    font-size: 13px;
}
/* 无效站点(必须在site下面) */
.site-none {
    border: none;
    background-color: transparent;
    cursor: default;
}
/* 自动 */
.site-auto {
    background-color: rgb(42,253,47);
}
/* 非自动/收到 */
.site-unauto {
    background-color: #aaaaaa;
}
/* 自动+有物+ID */
.site-auto-run-id {
    background-color: red;
}
/* 自动+有物 */
.site-auto-run {
    background-color: #fc29f8;
}
/* 自动+有物+ID */
.site-auto-id {
    background-color: yellow;
}
/* ------------------ 台车 ------------------ */
/* 轨道 */
.car-track {
    position: absolute;
    /*background: url(../image/bg.jpg);*/
}
#car-track-1 {
    text-align: center;
    top: 122px;
    left: 100px;
    width: 100px;
    height: 180px;
}
#car-track-1 div {
    height: 100%;
    display: inline-block;
    width: 75%;
    border-left: 5px solid #313131;
    border-right: 5px solid #313131;
}
/* 车 */
.car {
    position: absolute;
}
#site-8 {
    top: 122px;
    left: 100px;
    width: 100px;
    height: 20px;
    line-height: 20px;
    position: absolute;
}
/* ------------------ 货架总成 ------------------ */
.main-part {
    position: absolute;
    top: 10px;
    left: 540px;
}
.main-part .lane {
    /*margin-bottom: 30px;*/
}
/* 排号 */
.row-no {
    font-size: 14px;
    font-weight: bold;
    margin-left: 10px;
}
/* 库位组 */
.stock-group .item {
    float: left;
    border-top: 1px solid #333!important;
    border-bottom: 1px solid #333!important;
    border-left: 1px solid #333!important;
    border-right: 1px solid #333!important;
    border-right: none;
    cursor: inherit;
}
.stock-group .item:last-child {
    /*border-right: 1px solid #333!important;*/
}
.stock-group::after, .stock-group::before {
    content: "";
    display: table;
    clear: both;
}
.stock-group .site {
    width: 80px;
    float: left;
}
button.item {
    font-size: 13px;
    padding: 1px 1px 1px 1px;
    width: 30px;
    height: 20px;
    outline: none;
    cursor: pointer;
    color: #333;
    background-color: transparent;
    transition: 0.4s;
}
button.item:hover {
    background-color: #333;
    color: #fff;
}
/* 堆垛机 */
.machine {
    margin-left: 30px;
    position: relative;
    background-color: #fff;
    height: 20px;
    width: 80px;
    background-image: url("../image/Crane_auto.png");
    background-repeat: no-repeat;
    background-size:100% 100%;
    background-position: top center;
    cursor: pointer;
}
/* 入库 */
.machine-pakin {
    background-image: url("../image/Crane_store.png");
}
/* 出库 */
.machine-pakout {
    background-image: url("../image/Crane_retrieve.png");
}
/* 库到库 */
.machine-stock-move {
    background-image: url("../image/Crane_loctoloc.png");
}
/* 站到站 */
.machine-site-move {
    background-image: url("../image/Crane_stntostn.png");
}
/* p to p */
.machine-p-move {
    background-image: url("../image/Crane_hptoohp.png");
}
/* 异常 */
.machine-error {
    background-image: url("../image/Crane_error.png");
}
/* 自动 */
.machine-auto {
    background-image: url("../image/Crane_auto.png");
}
/* 非自动/收到 */
.machine-un-auto {
    background-image: url("../image/Crane_manual.png");
}
/* 入库 */
.machine-put-flag {
    background-color: #90d0f3;
}
/* 出库 */
.machine-take-flag {
    background-color: yellow;
}
/* 库到库 */
.machine-stock-move-flag {
    background-color: #0c24fb;
    color: #fff;
}
/* 站到站 */
.machine-site-move-flag {
    background-color: #faa328;
}
/* PToP */
.machine-p-move-flag {
    background-color: #128014;
    color: #fff;
}
/* 异常 */
.machine-error-flag {
    background-color: red;
}
/* 自动 */
.machine-auto-flag {
    background-color: rgb(42,253,47);
}
/* 非自动/收到 */
.machine-unauto-flag {
    background-color: #aaaaaa;
}
/* 堆垛机轨道 */
.pathway {
    margin-left: 30px;
    border: 1px solid #333;
    position: absolute;
    background-color:#333!important;
    color: #333 !important;
    width: 100%;
    margin-top: 10px;
}
/* 输送线相关 */
.site:hover {
    opacity: 0.7;
}
/* 入库口 */
/*.cargo-put-0 {*/
/*    transform: rotateY(180deg);*/
/*    top: 338px;*/
/*    left: 1710px;*/
/*    position: absolute;*/
/*    width: 50px;*/
/*    height: 40px;*/
/*    background-image: url("../image/fork_r.png");*/
/*    background-repeat: no-repeat;*/
/*    background-size:100% 100%;*/
/*    background-position: top center;*/
/*}*/
/*.cargo-put-1 {*/
/*    top: 108px;*/
/*    left: 152px;*/
/*    position: absolute;*/
/*    width: 50px;*/
/*    height: 40px;*/
/*    background-image: url("../image/fork_r.png");*/
/*    background-repeat: no-repeat;*/
/*    background-size:100% 100%;*/
/*    background-position: top center;*/
/*}*/
/* 扫码器 */
/*.code-decoder {*/
/*    position: absolute;*/
/*    width: 30px;*/
/*    height: 30px;*/
/*    background-image: url("../image/bscanner.png");*/
/*    background-repeat: no-repeat;*/
/*    background-size:100% 60%;*/
/*    background-position: top center;*/
/*}*/
/* 扫码器文字 */
.code-decoder-data {
    font-size: small;
    display: inline-block;
    /*transform: scale(0.90);*/
}
/* 扫码器1 */
#code-decoder-1 {
    top: 267px;
    left: 1780px;
}
/* 扫码器数据1 */
#code-decoder-data-1 {
    font-size: xx-small;
    margin-left: 35px;
}
/* 磅秤 */
.scale {
    position: absolute;
    width: 50px;
    height: 20px;
    /*background-image: url("../image/bscanner.png");*/
    background-repeat: no-repeat;
    background-size:100% 60%;
    background-position: top center;
}
/* 磅秤1 */
#scale-1 {
    top: 290px;
    left: 240px;
}
/* 弹窗 */
form .form-item {
    display: inline-block;
    padding-top: 10px;
    padding-left: 5px;
}
form .form-item-label {
    float: left;
    text-align: right;
    padding: 1px 6px;
    display: inline-block;
    vertical-align: middle;
}
form .form-item-input {
    display: inline-block;
    float: left;
    vertical-align: middle;
}
form .form-item-input input {
    height: 1.5rem;
    padding-left: 0.5rem;
}
src/main/webapp/static/css/console.css
@@ -1,507 +1,425 @@
html {
    height: 100%;
}
        * {
            margin: 0;
            overflow: hidden;
        }
        html,body {
            height: 100%;
        }
        #root {
            width: 100%;
            height: 100%;
            background-color: rgb(108,167,168);
        }
        .head {
            height: 10%;
            width: 20%;
            padding-top: 1%;
            padding-left: 1%;
            color: #FFFFFF;
        }
        .head h1 {
            font-weight: 400;
            letter-spacing:3px;
        }
        .head h6 {
            font-weight: 400;
        }
        #body {
            width: 100%;
            height: 23%    ;
            position: absolute;
            bottom: 1%;
        }
        /* 控制开关 */
        .system-state {
            display: inline-block;
            width: 15%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.3);
            border-radius: 15px;
            margin-left: 1%;
        }
        /* 堆垛机状态 */
        .machine-status {
            display: inline-block;
            width: 15%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.3);
            border-radius: 15px;
            margin-left: 1%;
        }
        /* 输送线状态 */
        .line-status {
            display: inline-block;
            width: 15%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.3);
            border-radius: 15px;
            margin-left: 1%;
        }
        /* 条码扫描器 */
        .bar-code {
            display: inline-block;
            width: 49%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.3);
            border-radius: 15px;
            margin-left: 1%;
        }
        /* 控制表头 */
        .body-head {
            height: 35px;
            width: 100%;
            background-image: url(../images/status_bar_1.png);
            background-repeat: no-repeat;
            margin-left: 5%;
            margin-top: 20px;
            text-indent: 25px;
            color: white;
        }
        .system-icon-open {
            width: 153px;
            height: 153px;
            background-image: url(../images/start48.png);
            display: inline-block;
        }
        .system-icon-close {
            width: 153px;
            height: 153px;
            background-image: url(../images/stop48.png);
            display: inline-block;
        }
        .switch_r {
            color: #FFFFFF;
            font-size: 14px;
            width: 130px;
            height: 153px;
            float: right;
            padding-top: 30px;
        }
        #system-run-desc {
            font-size: 20px;
            margin-top: 15px;
        }
        .state {
            height: 34px;
            width: 200px;
            background-color: rgba(255,255,255,0.1);
            background-image: url(../images/stacker.png);
            background-repeat: no-repeat;
            border-radius: 17px 0 0 17px;
            padding-left: 50px;
            line-height: 34px;
            margin-bottom: 10px;
            margin-left: 5%;
            color: #FFFFFF;
            font-size: 10px;
        }
        .states {
            background-image: url(../images/line.png);
            margin-bottom:54px;
        }
        .button {
            margin-left: 5%;
            font-size: 14px;
            color: #FFFFFF;
        }
        /* 入库 */
        .machine-put-flag {
            padding: 0 10px;
            background-color: rgb(163,214,242);
        }
        /* 出库 */
        .machine-take-flag {
            padding: 0 10px;
            background-color: rgb(151,180,0);
        }
        /* 库到库 */
        .machine-stock-move-flag {
            padding: 0 10px;
            background-color: rgb(58,77,249);
        }
        /* 站到站 */
        .machine-site-move-flag {
            padding: 0 10px;
            background-color: rgb(240,140,10);
        }
        /* PToP */
        .machine-p-move-flag {
            padding: 0 10px;
            background-color: rgb(29,152,23);
        }
        /* 异常 */
        .machine-error-flag {
            padding: 0 10px;
            background-color: rgb(252,48,48);
        }
        /* 自动 */
        .machine-auto-flag {
            padding: 0 10px;
            background-color: rgb(132,255,115);
        }
        /* 非自动/手动 */
        .machine-unauto-flag {
            padding: 0 10px;
            background-color: rgb(184,184,184);
        }
        /* 自动+有物+ID */
        .site-auto-run-id {
            padding: 0 25px;
            background-color: rgb(252,48,48);
        }
        /* 自动+有物 */
        .site-auto-run {
            padding: 0 25px;
            background-color: rgb(250,81,246);
        }
        /* 自动+ID */
        .site-auto-id {
            padding: 0 10px;
            background-color: rgb(196,196,0);
        }
        .site-auto {
            padding: 0 10px;
            background-color: rgb(120,255,129);
        }
        /* 非自动/手动 */
        .site-unauto {
            padding: 0 10px;
            background-color: rgb(184,184,184);
        }
        #code {
            background-image: url(../images/status_bar_2.png);
            background-repeat: no-repeat;
            margin-left: 2%;
        }
        /* 站点 */
        .site {
            color: #333;
            height: 20px;
            border: 1px solid rgb(108,167,168);
            cursor: pointer;
            width: 50px;
            text-align: center;
            background-color: rgb(120,255,129);
            font-size: 13px;
        }
        /* ------------------ 输送线总成 ------------------ */
        .site-row {
            position: absolute;
            top: 122px;
        }
        /* 输送线第一列 */
        .site-row-1 {
            top: 210px;
            left: 166px;
        }
        .site-row-1 .site {
            width: 70px;
        }
        /* 输送线第二列 */
        .site-row-2 {
            top: 210px;
            left: 238px;
        }
        .site-row-2 .site {
            width: 70px;
        }
        .site-row-3 {
            top: 253px;
            left: 310px;
        }
        .site-row-3 .site {
            width: 70px;
        }
        .site-row-4 {
            top: 210px;
            left: 311px;
        }
        .site-row-5 {
            top: 71px;
            left: 455px;
        }
        .site-row-5 .site {
            width: 70px;
        }
        .site-row-6 {
            top: 71px;
            left: 528px;
        }
        .site-row-6 .site {
            width: 70px;
        }
        /* ------------------ 货架总成 ------------------ */
        .main-part {
            position: absolute;
            top: 20px;
            left: 600px;
        }
        .main-part .lane {
            margin-top: 30px;
        }
        /* 库位组 */
        .stock-group .item {
            float: left;
            border-top: 1px solid rgb(194,76,65);
            border-bottom: 1px solid rgb(194,76,65);
            border-left: 1px solid rgb(194,76,65);
            border-right: 1px solid rgb(194,76,65);
            border-right: none;
            cursor: inherit;
            color: rgb(194,76,65);
        }
        .stock-group .site {
            width: 80px;
            float: left;
        }
        .stock-group::after, .stock-group::before {
            content: "";
            display: table;
            clear: both;
        }
        /* 堆垛机轨道 */
        .pathway {
            margin-left: 30px;
            border: 1px solid #333;
            position: absolute;
            background-color:#333!important;
            color: #333 !important;
            width: 100%;
            margin-top: 10px;
        }
        /* 堆垛机 */
        .machine {
            margin-left: 30px;
            position: relative;
            background-color: rgb(108,167,168);
            height: 20px;
            width: 80px;
            background-image: url("../images/Crane_auto.png");
            background-repeat: no-repeat;
            background-size:100% 100%;
            background-position: top center;
            cursor: pointer;
        }
        /* 堆垛机弹窗 */
        #crnWindow {
            width: 291px;
            height: 365px;
            background-image: url(../images/Popup-yellow.png);
            position: fixed;
            color:white;
            left: 50%;
            top: 50%;
            transform: translate(-50%,-50%);
        }
        /* 输送设备弹窗 */
        #siteWindow {
            width: 291px;
            height: 336px;
            background-image: url(../images/Popup-green.png);
            position: fixed;
            color:white;
            left: 50%;
            top: 50%;
            transform: translate(-50%,-50%);
        }
        #siteWindow-head {
            width: 291px;
            height: 55px;
            line-height: 55px;
            margin-left: 25px;
            color: #000000;
            font-weight: 700;
            letter-spacing: 2px;
        }
        #siteWindow-head .detailed {
            display: inline-block;
        }
        #siteWindow-head button {
            width: 25px;
            height: 25px;
            padding: 0px;
            border: none;
            border-radius: 25px;
            background-image: url(../images/siteclose.png);
            display: inline-block;
            float: right;
            margin-top: 15px;
            margin-right: 80px;
        }
        #crnWindow-head {
            width: 291px;
            height: 55px;
            line-height: 55px;
            margin-left: 55px;
            color: #000000;
            font-weight: 700;
            letter-spacing: 2px;
        }
        #crnWindow-head .detailed {
            display: inline-block;
        }
        #crnWindow-head button {
            width: 25px;
            height: 25px;
            padding: 0px;
            border: none;
            border-radius: 25px;
            background-image: url(../images/siteclose.png);
            display: inline-block;
            float: right;
            margin-top: 15px;
            margin-right: 80px;
        }
        /* 弹窗 */
        form .form-item {
            display: inline-block;
            padding-left: 10px;
        }
        form .form-item-label {
            display: inline-block;
            width: 90px;
            font-size: 10px;
        }
        form .form-item-input {
            display: inline-block;
            width: 180px;
        }
        form .form-item-input input {
            background-color: rgba(255,255,255,.3);
            color: #FFFFFF;
            padding: 0;
            border: none;
            border-radius: 2px;
            height: 18px;
            padding-left: 10px;
        }
        /* checkbox */
        form .form-item-checkbox {
            display: inline-block;
            padding-left: 10px;
            width: 20%;
        }
        form .form-item-label-checkbox {
            display: inline-block;
            width: auto;
            font-size: 14px;
        }
        form .form-item-input-checkbox {
            display: inline-block;
            width: auto;
body {
    height: 100%;
    background-color: #f1f1f1;
    border-radius: 5px;
    box-shadow: 0 0 3px rgba(0,0,0,.3);
    padding: 10px;
}
/* ------------------------------------ 头部 ------------------------------------*/
header {
    border-radius: 5px;
    box-shadow: 0 0 3px rgba(0,0,0,.3);
    background-color: #fff;
    height: 17%;
    opacity: 0.8;
    position: relative;
}
/* 分割线 */
.header-hr {
    border-radius: 5px;
    border: 1px solid #777;
    width: 80%;
    position: absolute;
    bottom: 0;
}
/* 系统运行状态 */
.system-state {
    float: left;
    width: 10%;
    height: 100%;
    padding: 20px;
    text-align: center;
    color: #2d6aff;
}
#system-icon {
    display: inline-block;
    width: 70%;
    height: 70%;
    background-repeat: no-repeat;
    background-size:100% 100%;
    background-position: top center;
    cursor: pointer;
}
.system-icon-open {
    background-image: url("../image/stop48.png");
}
.system-icon-close {
    background-image: url("../image/start48.png");
}
#system-run-desc {
    font-size: large;
    display: inline-block;
    padding-top: 10px;
    font-weight: bold;
    overflow: hidden;
    text-overflow:ellipsis;
    white-space: nowrap;
}
/* 状态显示 */
.data-window {
    padding-top: 20px;
    float: left;
    width: 70%;
    text-align: center;
}
.data-window h1 {
    font-size: 3em;
    margin: 0;
    letter-spacing: 1px;
    font-weight: inherit;
}
/* 颜色提示 */
.tips {
    position: absolute;
    bottom: 7%;
    left: 10%;
}
.tips-item {
    margin-bottom: 0;
    font-size: 0;
    text-align: left;
}
.tips-item label {
    display: inline-block;
    width: 130px;
    text-align: right;
    font-size: xx-small;
}
.item-group {
    display: inline-block;
}
.item-group span {
    font-size: xx-small;
    padding: 0 10px;
}
/* ------------------------------------ 主体 ------------------------------------*/
main {
    margin-top: 8px;
    border-radius: 5px;
    box-shadow: 0 0 3px rgba(0,0,0,.3);
    background-color: #fff;
    height: 82%;
    position: relative;
}
/* ------------------ 输送线总成 ------------------ */
.site-row {
    position: absolute;
    top: 122px;
}
/* 输送线第0列 */
.site-row-0 {
    top: 162px;
    left: 140px;
}
.site-row-0 .site {
    width: 80px;
}
/* 输送线第一列 */
.site-row-1 {
    top: 188px;
    left: 120px;
}
.site-row-1 .site {
    width: 70px;
}
/* 输送线第二列 */
.site-row-2 {
    top: 188px;
    left: 190px;
}
.site-row-2 .site {
    width: 70px;
}
/* 输送线第三列 */
.site-row-3 {
    top: 229px;
    left: 260px;
}
.site-row-3 .site {
    width: 70px;
}
/* 输送线第4列 */
.site-row-4 {
    top: 188px;
    left: 260px;
}
.site-row-4 .site {
    /*width: 80px;*/
}
/* 输送线第5列 */
.site-row-5 {
    top: 55px;
    left: 400px;
}
.site-row-5 .site {
    width: 70px;
}
.site-row-6 {
    top: 55px;
    left: 470px;
}
.site-row-6 .site {
    width: 70px;
}
/* 站点 */
.site {
    color: #333;
    height: 20px;
    border: 1px solid #fff;
    cursor: pointer;
    width: 50px;
    text-align: center;
    background-color: #21ff3a;
    font-size: 13px;
}
/*空站点*/
.site-1{
    color: #333;
    height: 20px;
    border: 1px solid #fff;
    cursor: pointer;
    width: 50px;
    text-align: center;
    background-color: #ffffff;
    font-size: 13px;
}
/* 无效站点(必须在site下面) */
.site-none {
    border: none;
    background-color: transparent;
    cursor: default;
}
/* 自动 */
.site-auto {
    background-color: rgb(42,253,47);
}
/* 非自动/收到 */
.site-unauto {
    background-color: #aaaaaa;
}
/* 自动+有物+ID */
.site-auto-run-id {
    background-color: red;
}
/* 自动+有物 */
.site-auto-run {
    background-color: #fc29f8;
}
/* 自动+有物+ID */
.site-auto-id {
    background-color: yellow;
}
/* ------------------ 台车 ------------------ */
/* 轨道 */
.car-track {
    position: absolute;
    /*background: url(../image/bg.jpg);*/
}
#car-track-1 {
    text-align: center;
    top: 122px;
    left: 100px;
    width: 100px;
    height: 180px;
}
#car-track-1 div {
    height: 100%;
    display: inline-block;
    width: 75%;
    border-left: 5px solid #313131;
    border-right: 5px solid #313131;
}
/* 车 */
.car {
    position: absolute;
}
#site-8 {
    top: 122px;
    left: 100px;
    width: 100px;
    height: 20px;
    line-height: 20px;
    position: absolute;
}
/* ------------------ 货架总成 ------------------ */
.main-part {
    position: absolute;
    top: 10px;
    left: 540px;
}
.main-part .lane {
    /*margin-bottom: 30px;*/
}
/* 排号 */
.row-no {
    font-size: 14px;
    font-weight: bold;
    margin-left: 10px;
}
/* 库位组 */
.stock-group .item {
    float: left;
    border-top: 1px solid #333!important;
    border-bottom: 1px solid #333!important;
    border-left: 1px solid #333!important;
    border-right: 1px solid #333!important;
    border-right: none;
    cursor: inherit;
}
.stock-group .item:last-child {
    /*border-right: 1px solid #333!important;*/
}
.stock-group::after, .stock-group::before {
    content: "";
    display: table;
    clear: both;
}
.stock-group .site {
    width: 80px;
    float: left;
}
button.item {
    font-size: 13px;
    padding: 1px 1px 1px 1px;
    width: 30px;
    height: 20px;
    outline: none;
    cursor: pointer;
    color: #333;
    background-color: transparent;
    transition: 0.4s;
}
button.item:hover {
    background-color: #333;
    color: #fff;
}
/* 堆垛机 */
.machine {
    margin-left: 30px;
    position: relative;
    background-color: #fff;
    height: 20px;
    width: 80px;
    background-image: url("../image/Crane_auto.png");
    background-repeat: no-repeat;
    background-size:100% 100%;
    background-position: top center;
    cursor: pointer;
}
/* 入库 */
.machine-pakin {
    background-image: url("../image/Crane_store.png");
}
/* 出库 */
.machine-pakout {
    background-image: url("../image/Crane_retrieve.png");
}
/* 库到库 */
.machine-stock-move {
    background-image: url("../image/Crane_loctoloc.png");
}
/* 站到站 */
.machine-site-move {
    background-image: url("../image/Crane_stntostn.png");
}
/* p to p */
.machine-p-move {
    background-image: url("../image/Crane_hptoohp.png");
}
/* 异常 */
.machine-error {
    background-image: url("../image/Crane_error.png");
}
/* 自动 */
.machine-auto {
    background-image: url("../image/Crane_auto.png");
}
/* 非自动/收到 */
.machine-un-auto {
    background-image: url("../image/Crane_manual.png");
}
/* 入库 */
.machine-put-flag {
    background-color: #90d0f3;
}
/* 出库 */
.machine-take-flag {
    background-color: yellow;
}
/* 库到库 */
.machine-stock-move-flag {
    background-color: #0c24fb;
    color: #fff;
}
/* 站到站 */
.machine-site-move-flag {
    background-color: #faa328;
}
/* PToP */
.machine-p-move-flag {
    background-color: #128014;
    color: #fff;
}
/* 异常 */
.machine-error-flag {
    background-color: red;
}
/* 自动 */
.machine-auto-flag {
    background-color: rgb(42,253,47);
}
/* 非自动/收到 */
.machine-unauto-flag {
    background-color: #aaaaaa;
}
/* 堆垛机轨道 */
.pathway {
    margin-left: 30px;
    border: 1px solid #333;
    position: absolute;
    background-color:#333!important;
    color: #333 !important;
    width: 100%;
    margin-top: 10px;
}
/* 输送线相关 */
.site:hover {
    opacity: 0.7;
}
/* 入库口 */
/*.cargo-put-0 {*/
/*    transform: rotateY(180deg);*/
/*    top: 338px;*/
/*    left: 1710px;*/
/*    position: absolute;*/
/*    width: 50px;*/
/*    height: 40px;*/
/*    background-image: url("../image/fork_r.png");*/
/*    background-repeat: no-repeat;*/
/*    background-size:100% 100%;*/
/*    background-position: top center;*/
/*}*/
/*.cargo-put-1 {*/
/*    top: 108px;*/
/*    left: 152px;*/
/*    position: absolute;*/
/*    width: 50px;*/
/*    height: 40px;*/
/*    background-image: url("../image/fork_r.png");*/
/*    background-repeat: no-repeat;*/
/*    background-size:100% 100%;*/
/*    background-position: top center;*/
/*}*/
/* 扫码器 */
/*.code-decoder {*/
/*    position: absolute;*/
/*    width: 30px;*/
/*    height: 30px;*/
/*    background-image: url("../image/bscanner.png");*/
/*    background-repeat: no-repeat;*/
/*    background-size:100% 60%;*/
/*    background-position: top center;*/
/*}*/
/* 扫码器文字 */
.code-decoder-data {
    font-size: small;
    display: inline-block;
    /*transform: scale(0.90);*/
}
/* 扫码器1 */
#code-decoder-1 {
    top: 267px;
    left: 1780px;
}
/* 扫码器数据1 */
#code-decoder-data-1 {
    font-size: xx-small;
    margin-left: 35px;
}
/* 磅秤 */
.scale {
    position: absolute;
    width: 50px;
    height: 20px;
    /*background-image: url("../image/bscanner.png");*/
    background-repeat: no-repeat;
    background-size:100% 60%;
    background-position: top center;
}
/* 磅秤1 */
#scale-1 {
    top: 290px;
    left: 240px;
}
/* 弹窗 */
form .form-item {
    display: inline-block;
    padding-top: 10px;
    padding-left: 5px;
}
form .form-item-label {
    float: left;
    text-align: right;
    padding: 1px 6px;
    display: inline-block;
    vertical-align: middle;
}
form .form-item-input {
    display: inline-block;
    float: left;
    vertical-align: middle;
}
form .form-item-input input {
    height: 1.5rem;
    padding-left: 0.5rem;
}
        }
src/main/webapp/static/css/index-0.css
New file
@@ -0,0 +1,76 @@
html {
    overflow: hidden;
}
body {
    overflow: hidden;
}
/* 导航 */
.nav {
    background-color: #fff; /*todo*/
    color: #000;
    list-style-type: none;
    position: fixed;
    width: 100%;
    overflow: hidden;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,.1);
}
.nav li {
    float: left;
    border-right: 1px solid #f1f1f1; /*todo*/
}
.nav li a {
    font-size: 15px;
    letter-spacing: 1px;
    display: block;
    text-decoration: none;
    padding: 12px 16px;
    text-align: center;
    font-weight: bold;
}
.nav li a:hover {
    color: #000;
}
.nav li.right {
    float: right;
}
.nav-unselect {
    color: #666;
}
.nav-select {
    background-color: #f1f1f1;  /*todo*/
    color: #000;
}
/* 主体 */
#content {
    box-sizing: border-box;
    padding-top: 46px;
    width: 100%;
    height: 100%;
}
/* 底部 */
footer {
    border-top: 1px solid #e3e3e3;
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    text-align: center;
    font: 14px Helvetica Neue,Helvetica,PingFang SC,\5FAE\8F6F\96C5\9ED1,Tahoma,Arial,sans-serif;
    box-shadow: 0 -1px 2px 0 rgba(0,0,0,.0);
    box-sizing: border-box;
    background-color: #fff;
    z-index: 999;
    height: 30px;
    font-size: 13px;
    line-height: 30px;
}
footer a {
    color: #3573ab;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
}
src/main/webapp/static/css/index.css
@@ -1,58 +1,78 @@
html {
    overflow: hidden;
* {
    margin: 0;
    overflow: hidden;
}
body {
    overflow: hidden;
html,body {
    height: 100%;
}
/* 导航 */
.nav {
    background-color: #fff; /*todo*/
    color: #000;
    list-style-type: none;
    position: fixed;
    width: 100%;
    overflow: hidden;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,.1)
    width: 100%;
    height: 90px;
    line-height: 90px;
    list-style: none;
    color: #fff;
    position: fixed;
    text-align: center;
    letter-spacing:3px;
}
.nav li {
    float: left;
    border-right: 1px solid #f1f1f1; /*todo*/
.right {
    float: right;
    margin-right: 1%;
    margin-top: 1%;
}
.nav li a {
    font-size: 15px;
    letter-spacing: 1px;
    display: block;
    text-decoration: none;
    padding: 12px 16px;
    text-align: center;
    font-weight: bold;
#about {
    width: 47px;
    height: 47px;
    display: inline-block;
    background-image: url(../images/cancellation.png);
}
.nav li a:hover {
    color: #000;
.sidebar {
    width: 7%;
    height: 40%;
    line-height: 90px;
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
}
.nav li.right {
    float: right;
.sidebar ul {
    font-size: 20px;
    font-weight: 500;
    padding-left: 15%;
}
.sidebar a {
    text-decoration: none;
    /* color: #fff; */
}
.sidebar a:hover {
    color: rgb(87,214,201);
}
.nav-unselect {
    color: #666;
    color: #fff;
}
.nav-select {
    background-color: #f1f1f1;  /*todo*/
    color: #000;
.nav-select {
    color: rgb(87,214,201);
}
/* 主体 */
#content {
    box-sizing: border-box;
    padding-top: 46px;
    width: 100%;
    height: 100%;
iframe {
    width: 100%;
    height: 100%;
    border-width: 0;
}
/* 底部 */
footer {
    border-top: 1px solid #e3e3e3;
    /* border-top: 1px solid #e3e3e3; */
    position: fixed;
    bottom: 0;
    right: 0;
@@ -61,15 +81,15 @@
    font: 14px Helvetica Neue,Helvetica,PingFang SC,\5FAE\8F6F\96C5\9ED1,Tahoma,Arial,sans-serif;
    box-shadow: 0 -1px 2px 0 rgba(0,0,0,.0);
    box-sizing: border-box;
    background-color: #fff;
    background-color: rgba(255,255,255,.05);
    z-index: 999;
    height: 30px;
    height: 20px;
    font-size: 13px;
    line-height: 30px;
    line-height: 20px;
}
footer a {
    color: #3573ab;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
}
}
src/main/webapp/static/image/Crane_auto.png
Binary files differ
src/main/webapp/static/image/start48.png
Binary files differ
src/main/webapp/static/image/stop48.png
Binary files differ
src/main/webapp/static/images/Crane_auto.png
src/main/webapp/static/images/Crane_error.png

src/main/webapp/static/images/Crane_hptoohp.png

src/main/webapp/static/images/Crane_loctoloc.png

src/main/webapp/static/images/Crane_manual.png

src/main/webapp/static/images/Crane_retrieve.png

src/main/webapp/static/images/Crane_stntostn.png

src/main/webapp/static/images/Crane_store.png

src/main/webapp/static/images/Popup-green.png
src/main/webapp/static/images/Popup-yellow.png
src/main/webapp/static/images/barcode.png

src/main/webapp/static/images/bg.jpg

src/main/webapp/static/images/bscanner.png

src/main/webapp/static/images/cancellation.png
src/main/webapp/static/images/fork_l.png

src/main/webapp/static/images/fork_r.png

src/main/webapp/static/images/line.png
src/main/webapp/static/images/login.png

src/main/webapp/static/images/loginBg.jpg

src/main/webapp/static/images/siteclose.png
src/main/webapp/static/images/stacker.png
src/main/webapp/static/images/start48.png
src/main/webapp/static/images/status_bar_1.png
src/main/webapp/static/images/status_bar_2.png
src/main/webapp/static/images/stop48.png
src/main/webapp/static/images/wcs_logo.png

src/main/webapp/views/console-0.html
New file
@@ -0,0 +1,1522 @@
<!DOCTYPE html>
<html lang="en">
<!--5层 28列 1120库位-->
<head>
    <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-0.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>
    <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>
            <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>
                </div>
            </div>
        </div>
    </div>
</header>
<main>
    <!----------- 工具栏 ---------->
    <!-- 入库口 -->
    <div class="cargo-put-0"></div>
    <div class="cargo-put-1"></div>
    <!-- 扫码器 -->
    <div id="code-decoder-1" class="code-decoder">
        <span id="code-decoder-data-1" class="code-decoder-data">0</span>
    </div>
    <!--  磅秤  -->
    <div class="scale" id="scale-1">
<!--        <button id="scale-data-1">磅秤</button>-->
    </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>-->
<!--    </div>-->
    <!--     第1列(宽度 70px) -->
    <div class="site-row site-row-1">
        <div id="site-173" class="site" style="height: 20px;line-height: 20px;margin-bottom: 85px">173</div>
    </div>
    <!--     第2列(宽度 70px)-->
    <div class="site-row site-row-2">
        <div id="site-175" class="site" style="height: 20px;line-height: 20px;">175</div>
        <div id="site-174" class="site" style="height: 21px;line-height: 21px;">174</div>
        <div id="site-172" class="site" style="height: 20px;line-height: 20px;margin-bottom: 245px">172</div>
        <div id="site-182" class="site" style="height: 20px;line-height: 20px;">182</div>
    </div>
    <!-- 第3列(宽度 70px) -->
    <div class="site-row site-row-3">
        <div id="site-171" class="site" style="height: 20px;line-height: 20px;margin-bottom: 245px; ">171</div>
        <div id="site-181" class="site" style="height: 20px;line-height: 20px;margin-bottom: 44px; ">181</div>
    </div>
    <!-- 第4列(宽度 70px 140px) -->
    <div class="site-row site-row-4">
        <div id="site-176" class="site" style="height: 20px;line-height: 20px;width:140px;margin-bottom: 21px">176</div>
        <div id="site-170" class="site" style="height: 20px;line-height: 20px;width:70px;margin-bottom: 245px;position: relative;float: right">170</div>
        <div id="site-180" class="site" style="height: 20px;line-height: 20px;width:70px;position: relative;clear:right;float: right">180</div>
    </div>
<!--    &lt;!&ndash; 第5列(宽度 70px) &ndash;&gt;-->
    <div class="site-row site-row-5">
        <div id="site-163" class="site" style="height: 31px;line-height: 31px">163</div>
        <div id="site-162" class="site" style="height: 31px;line-height: 31px">162</div>
        <div id="site-161" class="site" style="height: 71px;line-height: 71px">161</div>
        <div id="site-160" class="site" style="height: 31px;line-height: 31px">160</div>
        <div id="site-159" class="site" style="height: 31px;line-height: 31px">159</div>
        <div id="site-158" class="site" style="height: 70px;line-height: 70px">158</div>
        <div id="site-157" class="site" style="height: 31px;line-height: 31px">157</div>
        <div id="site-156" class="site" style="height: 31px;line-height: 31px">156</div>
        <div id="site-155" class="site" style="height: 70px;line-height: 70px">155</div>
        <div id="site-154" class="site" style="height: 31px;line-height: 31px">154</div>
        <div id="site-153" class="site" style="height: 31px;line-height: 31px">153</div>
        <div id="site-152" class="site" style="height: 70px;line-height: 70px">152</div>
        <div id="site-151" class="site" style="height: 31px;line-height: 31px">151</div>
        <div id="site-150" class="site" style="height: 31px;line-height: 31px">150</div>
    </div>
<!--    &lt;!&ndash; 第6列(宽度 70px) &ndash;&gt;-->
    <div class="site-row site-row-6">
        <div id="site-120" class="site" style="height: 31px;line-height: 31px">120(8888)</div>
        <div id="site-121" class="site" style="height: 31px;line-height: 31px">121(8888)</div>
        <div id="site-122" class="site" style="height: 71px;line-height: 71px">122</div>
        <div id="site-123" class="site" style="height: 31px;line-height: 31px">123</div>
        <div id="site-124" class="site" style="height: 31px;line-height: 31px">124</div>
        <div id="site-125" class="site" style="height: 70px;line-height: 70px">125</div>
        <div id="site-126" class="site" style="height: 31px;line-height: 31px">126</div>
        <div id="site-127" class="site" style="height: 31px;line-height: 31px">127</div>
        <div id="site-128" class="site" style="height: 70px;line-height: 70px">128</div>
        <div id="site-129" class="site" style="height: 31px;line-height: 31px">129</div>
        <div id="site-130" class="site" style="height: 31px;line-height: 31px">130</div>
        <div id="site-131" class="site" style="height: 70px;line-height: 71px">131</div>
        <div id="site-132" class="site" style="height: 31px;line-height: 31px">132</div>
        <div id="site-133" class="site" style="height: 31px;line-height: 31px">133</div>
    </div>
    <!-- 货架 + 堆垛机 + 入库站点 + 出库站点 -->
    <div class="main-part">
        <!--第一组-->
        <div class="lane">
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">1#</span>
            </div>
            <div class="stock-group">
                <div id="site-100" class="site" style="">100</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">2#</span>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-1" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-101" class="site" style="">101</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">3#</span>
            </div>
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">4#</span>
            </div>
        </div>
        <!--第二组-->
        <div class="lane">
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">5#</span>
            </div>
            <div class="stock-group">
                <div id="site-102" class="site" style="">102</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">6#</span>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-2" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-103" class="site" style="">103</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">7#</span>
            </div>
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">8#</span>
            </div>
        </div>
        <!--第三组-->
        <div class="lane">
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">9#</span>
            </div>
            <div class="stock-group">
                <div id="site-104" class="site" style="">104</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">10#</span>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-3" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-105" class="site" style="">105</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">11#</span>
            </div>
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">12#</span>
            </div>
        </div>
        <!--第四组-->
        <div class="lane">
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">13#</span>
            </div>
            <div class="stock-group">
                <div id="site-106" class="site" style="">106</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">14#</span>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-4" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-107" class="site" style="">107</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">15#</span>
            </div>
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">16#</span>
            </div>
        </div>
        <!--第五组-->
        <div class="lane">
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">17#</span>
            </div>
            <div class="stock-group">
                <div id="site-108" class="site" style="">108</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">18#</span>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-5" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-109" class="site" style="">109</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">19#</span>
            </div>
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">20#</span>
            </div>
        </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>
<script>
    var crn1Position = 0;
    var crn2Position = 0;
    // 初始化
    getSitesInfo();
    getCrnInfo();
    getSystemRunningStatus();
    getBarcodeInfo();
    getScaleInfo();
    // 实时访问
    setInterval(function () {
        getCrnInfo();
        getSystemRunningStatus();
        getBarcodeInfo();
        getScaleInfo();
    }, 1000);
    setInterval(function () {
        getSitesInfo();
    }, 3000);
    // 系统运行开关
    function systemSwitch() {
        if (parent.systemRunning){
            layer.prompt({title: '请输入口令,并停止 WCS 系统', formType: 1,   shadeClose: true}, function(pass, idx){
                layer.close(idx);
                doSwitch(0, pass); // 停止wcs系统
            });
        } else {
            doSwitch(1); // 启动wcs系统
        }
    }
    // 请求服务器控制wcs系统运行状态
    function doSwitch(operatorType, password) {
        // 加载tips
        var index = layer.load(1, {
            shade: [0.1,'#fff']
        });
        $.ajax({
            url: baseUrl+ "/console/system/switch",
            headers: {'token': localStorage.getItem('token')},
            // async: false,
            data: {
                operatorType: operatorType,
                password: password
            },
            method: 'POST',
            success: function (res) {
                console.log(res)
                layer.close(index);
                if (res.code === 200){
                    if (res.data.status) {
                        $('#system-icon').attr("class", "system-icon-open");
                        $('#system-run-desc').html("系统运行中...");
                        parent.systemRunning = true;
                    } else {
                        $('#system-icon').attr("class", "system-icon-close");
                        $('#system-run-desc').html("系统已停止!");
                        parent.systemRunning = false;
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    // 获取wcs系统运行状态
    function getSystemRunningStatus() {
        $.ajax({
            url: baseUrl+ "/console/system/running/status",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    if (res.data.status) {
                        $('#system-icon').attr("class", "system-icon-open");
                        $('#system-run-desc').html("系统运行中...");
                        parent.systemRunning = true;
                    } else {
                        $('#system-icon').attr("class", "system-icon-close");
                        $('#system-run-desc').html("系统已停止!");
                        parent.systemRunning = false;
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    // 输送设备实时数据获取
    function getSitesInfo(){
        $.ajax({
            url: baseUrl+ "/console/latest/data/site",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var sites = res.data;
                    for (var i = 0; i < sites.length; i++){
                        var siteEl = $("#site-"+sites[i].siteId);
                        siteEl.attr("class", "site " + sites[i].siteStatus);
                        if (sites[i].workNo != null && sites[i].workNo>0) {
                            siteEl.html(sites[i].siteId + "[" + sites[i].workNo + "]");
                        } else {
                            siteEl.html(sites[i].siteId);
                        }
                        if (i+1===8) {
                            carAnimate(i+1, Number(sites[i].nearbySta));
                        }
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    // 堆垛机实时数据获取
    function getCrnInfo(){
        $.ajax({
            url: baseUrl+ "/console/latest/data/crn",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var crns = res.data;
                    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)/2;
                        crnEl.animate({left: (crns[i].bay * unit + 25) +'px'}, 1000);
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    // 扫码器实时数据获取
    function getBarcodeInfo(){
        $.ajax({
            url: baseUrl+ "/console/latest/data/barcode",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var barcodes = res.data;
                    for (var i = 0; i < barcodes.length; i++){
                        $("#code-decoder-data-"+barcodes[i].barcodeId).html(barcodes[i].codeValue);
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    // 磅秤实时数据获取
    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);
                }
            }
        });
    }
    // 堆垛机偏移动画
    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
        }
    }
    // 页面点击事件监听 ---------------------------------------------------------
    // 输送设备点击事件
    $('.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) {
        var targetTop = 122;
        if (id === 8) {
            switch (target) {
                case 1:
                    targetTop += 160;
                    break;
                case 2:
                    targetTop += 140;
                    break;
                case 3:
                    targetTop += 80;
                    break;
                case 4:
                    targetTop += 40;
                    break;
                case 7:
                    targetTop += 0;
                    break;
                default:
                    return;
            }
        } else {
            return;
        }
        $("#site-" + id).animate({top: targetTop+'px'}, 1000);
    }
</script>
</html>
src/main/webapp/views/console.html
@@ -1,1520 +1,1525 @@
<!DOCTYPE html>
<html lang="en">
<!--5层 28列 1120库位-->
<head>
    <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>
    <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>
            <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>
                </div>
            </div>
        </div>
    </div>
</header>
<main>
    <!----------- 工具栏 ---------->
    <!-- 入库口 -->
    <div class="cargo-put-0"></div>
    <div class="cargo-put-1"></div>
    <!-- 扫码器 -->
    <div id="code-decoder-1" class="code-decoder">
        <span id="code-decoder-data-1" class="code-decoder-data">0</span>
    </div>
    <!--  磅秤  -->
    <div class="scale" id="scale-1">
<!--        <button id="scale-data-1">磅秤</button>-->
    </div>
<html>
    <head>
        <meta charset="utf-8">
        <title>WCS控制中心</title>
<!--<link rel="stylesheet" type="text/css" href="../static/css/common.css">-->
        <link rel="stylesheet" href="../static/css/console.css">
        <link rel="stylesheet" type="text/css" href="../static/css/normalize.css">
    <!----------- 左输送线 ---------->
<!--     第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>-->
<!--    </div>-->
        <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>
    </head>
    <body>
        <div id="root">
            <div class="head">
                <h1>自动仓库WCS监控图</h1>
                <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
            </div>
            <!--第1列(宽度 70px) -->
            <div class="site-row site-row-1">
                <div id="site-173" class="site" style="height: 20px;line-height: 20px;margin-bottom: 85px">173</div>
            </div>
            <!--第2列(宽度 70px)-->
            <div class="site-row site-row-2">
                <div id="site-175" class="site" style="height: 20px;line-height: 20px;">175</div>
                <div id="site-174" class="site" style="height: 21px;line-height: 21px;">174</div>
                <div id="site-172" class="site" style="height: 20px;line-height: 20px;margin-bottom: 245px">172</div>
                <div id="site-182" class="site" style="height: 20px;line-height: 20px;">182</div>
            </div>
            <!-- 第3列(宽度 70px) -->
            <div class="site-row site-row-3">
                <div id="site-171" class="site" style="height: 20px;line-height: 20px;margin-bottom: 245px; ">171</div>
                <div id="site-181" class="site" style="height: 20px;line-height: 20px;margin-bottom: 44px; ">181</div>
            </div>
            <!-- 第4列(宽度 70px 140px) -->
            <div class="site-row site-row-4">
                <div id="site-176" class="site" style="height: 20px;line-height: 20px;width:140px;margin-bottom: 21px">176</div>
                <div id="site-170" class="site" style="height: 20px;line-height: 20px;width:70px;margin-bottom: 245px;position: relative;float: right">170</div>
                <div id="site-180" class="site" style="height: 20px;line-height: 20px;width:70px;position: relative;clear:right;float: right">180</div>
            </div>
            <!--&lt;!&ndash; 第5列(宽度 70px) &ndash;&gt;-->
            <div class="site-row site-row-5">
                <div id="site-163" class="site" style="height: 31px;line-height: 31px">163</div>
                <div id="site-162" class="site" style="height: 31px;line-height: 31px">162</div>
                <div id="site-161" class="site" style="height: 71px;line-height: 71px">161</div>
                <div id="site-160" class="site" style="height: 31px;line-height: 31px">160</div>
                <div id="site-159" class="site" style="height: 31px;line-height: 31px">159</div>
                <div id="site-158" class="site" style="height: 70px;line-height: 70px">158</div>
                <div id="site-157" class="site" style="height: 31px;line-height: 31px">157</div>
                <div id="site-156" class="site" style="height: 31px;line-height: 31px">156</div>
                <div id="site-155" class="site" style="height: 70px;line-height: 70px">155</div>
                <div id="site-154" class="site" style="height: 31px;line-height: 31px">154</div>
                <div id="site-153" class="site" style="height: 31px;line-height: 31px">153</div>
                <div id="site-152" class="site" style="height: 70px;line-height: 70px">152</div>
                <div id="site-151" class="site" style="height: 31px;line-height: 31px">151</div>
                <div id="site-150" class="site" style="height: 31px;line-height: 31px">150</div>
            </div>
            <!--&lt;!&ndash; 第6列(宽度 70px) &ndash;&gt;-->
            <div class="site-row site-row-6">
                <div id="site-120" class="site" style="height: 31px;line-height: 31px">120(8888)</div>
                <div id="site-121" class="site" style="height: 31px;line-height: 31px">121(8888)</div>
                <div id="site-122" class="site" style="height: 71px;line-height: 71px">122</div>
                <div id="site-123" class="site" style="height: 31px;line-height: 31px">123</div>
                <div id="site-124" class="site" style="height: 31px;line-height: 31px">124</div>
                <div id="site-125" class="site" style="height: 70px;line-height: 70px">125</div>
                <div id="site-126" class="site" style="height: 31px;line-height: 31px">126</div>
                <div id="site-127" class="site" style="height: 31px;line-height: 31px">127</div>
                <div id="site-128" class="site" style="height: 70px;line-height: 70px">128</div>
                <div id="site-129" class="site" style="height: 31px;line-height: 31px">129</div>
                <div id="site-130" class="site" style="height: 31px;line-height: 31px">130</div>
                <div id="site-131" class="site" style="height: 70px;line-height: 71px">131</div>
                <div id="site-132" class="site" style="height: 31px;line-height: 31px">132</div>
                <div id="site-133" class="site" style="height: 31px;line-height: 31px">133</div>
            </div>
            <!-- 货架 + 堆垛机 + 入库站点 -->
            <div class="main-part">
                <!-- 第一组 -->
                <div class="lane">
                    <!-- 货架 -->
                    <div class="stock-group">
                        <div class="site" style="background-color: rgb(108,167,168)    "></div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">1#</span>
                    </div>
                    <div class="stock-group">
                        <div id="site-100" class="site" style="">100</div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">2#</span>
                    </div>
                    <!-- 堆垛机 -->
                    <div class="crn">
                        <hr class="pathway">
                        <div id="crn-1" class="machine"></div>
                    </div>
                    <!-- 货架 -->
                    <div class="stock-group">
                        <div id="site-101" class="site" style="">101</div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">3#</span>
                    </div>
                    <div class="stock-group">
                        <div class="site" style="background-color: rgb(108,167,168)"></div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">4#</span>
                    </div>
                </div>
                <!-- 第二组 -->
                <div class="lane">
                    <span class="row-no"></span>
                    <!-- 货架 -->
                    <div class="stock-group">
                        <div class="site" style="background-color: rgb(108,167,168)"></div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">5#</span>
                    </div>
                    <div class="stock-group">
                        <div id="site-102" class="site" style="">102</div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">6#</span>
                    </div>
                    <!-- 堆垛机 -->
                    <div class="crn">
                        <hr class="pathway">
                        <div id="crn-2" class="machine"></div>
                    </div>
                    <!-- 货架 -->
                    <div class="stock-group">
                        <div id="site-103" class="site" style="">103</div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">7#</span>
                    </div>
                    <div class="stock-group">
                        <div class="site" style="background-color: rgb(108,167,168)"></div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">8#</span>
                    </div>
                </div>
                <!--第三组-->
                <div class="lane">
                    <span class="row-no"></span>
                    <!-- 货架 -->
                    <div class="stock-group">
                        <div class="site" style="background-color: rgb(108,167,168)"></div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">9#</span>
                    </div>
                    <div class="stock-group">
                        <div id="site-104" class="site" style="">104</div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">10#</span>
                    </div>
                    <!-- 堆垛机 -->
                    <div class="crn">
                        <hr class="pathway">
                        <div id="crn-3" class="machine"></div>
                    </div>
                    <!-- 货架 -->
                    <div class="stock-group">
                        <div id="site-105" class="site" style="">105</div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">11#</span>
                    </div>
                    <div class="stock-group">
                        <div class="site" style="background-color:rgb(108,167,168)"></div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">12#</span>
                    </div>
                </div>
                <!--第四组-->
                <div class="lane">
                    <span class="row-no"></span>
                    <!-- 货架 -->
                    <div class="stock-group">
                        <div class="site" style="background-color:rgb(108,167,168)"></div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">13#</span>
                    </div>
                    <div class="stock-group">
                        <div id="site-106" class="site" style="">106</div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">14#</span>
                    </div>
                    <!-- 堆垛机 -->
                    <div class="crn">
                        <hr class="pathway">
                        <div id="crn-4" class="machine"></div>
                    </div>
                    <!-- 货架 -->
                    <div class="stock-group">
                        <div id="site-107" class="site" style="">107</div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">15#</span>
                    </div>
                    <div class="stock-group">
                        <div class="site" style="background-color:rgb(108,167,168)"></div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">16#</span>
                    </div>
                </div>
                <!--第五组-->
                <div class="lane">
                    <span class="row-no"></span>
                    <!-- 货架 -->
                    <div class="stock-group">
                        <div class="site" style="background-color:rgb(108,167,168)"></div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">17#</span>
                    </div>
                    <div class="stock-group">
                        <div id="site-108" class="site" style="">108</div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">18#</span>
                    </div>
                    <!-- 堆垛机 -->
                    <div class="crn">
                        <hr class="pathway">
                        <div id="crn-5" class="machine"></div>
                    </div>
                    <!-- 货架 -->
                    <div class="stock-group">
                        <div id="site-109" class="site" style="">109</div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">19#</span>
                    </div>
                    <div class="stock-group">
                        <div class="site" style="background-color:rgb(108,167,168)"></div>
                        <button class="item">2</button>
                        <button class="item">4</button>
                        <button class="item">6</button>
                        <button class="item">8</button>
                        <button class="item">10</button>
                        <button class="item">12</button>
                        <button class="item">14</button>
                        <button class="item">16</button>
                        <button class="item">18</button>
                        <button class="item">20</button>
                        <button class="item">22</button>
                        <button class="item">24</button>
                        <button class="item">26</button>
                        <button class="item">28</button>
                        <button class="item">30</button>
                        <button class="item">32</button>
                        <button class="item">34</button>
                        <button class="item">36</button>
                        <button class="item">38</button>
                        <button class="item">40</button>
                        <button class="item">42</button>
                        <button class="item">44</button>
                        <button class="item">46</button>
                        <button class="item">48</button>
                        <button class="item">50</button>
                        <button class="item">52</button>
                        <button class="item">54</button>
                        <button class="item">56</button>
                        <button class="item">58</button>
                        <button class="item">60</button>
                        <button class="item">62</button>
                        <button class="item">64</button>
                        <button class="item">66</button>
                        <button class="item">68</button>
                        <button class="item">70</button>
                        <span class="row-no">20#</span>
                    </div>
                </div>
            </div>
            <div id="body">
                <!-- 总开关 -->
                <div class="system-state">
                    <div class="body-head">总开关</div>
                    <div class="switch">
                        <div id="system-icon" class="system-icon-open" onclick="systemSwitch()"></div>
                        <div class="switch_r">
                            <p>系统状态</p>
                            <p id="system-run-desc">系统运行中</p>
                        </div>
                    </div>
                </div>
                <!-- 堆垛机状态 -->
                <div class="machine-status">
                    <div class="body-head">堆垛机状态</div>
                    <div class="state">
                        <span>堆垛机 1</span>
                        <span>自动</span>
                    </div>
                    <div class="state">
                        <span>堆垛机 2</span>
                        <span>自动</span>
                    </div>
                    <div class="button"><span>所有状态</span></div>
                        <div class="button 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>
                <div class="line-status">
                    <div class="body-head">输送线状态</div>
                    <div class="state states">
                        <span>运输线总数</span>
                        <span>45</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>
            </div>
            <!-- 堆垛机弹窗 -->
            <div id="crnWindow" style="display: none;">
                <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">
                        </div>
                    </div>
                    <!-- 工作号 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>工作号:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="workNo">
                        </div>
                    </div>
                    <!-- 站源 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>站源:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="sourceStaNo">
                        </div>
                    </div>
                    <!-- 目标站 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>目标站:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="staNo">
                        </div>
                    </div>
                    <!-- 工作状态 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>工作状态:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="wrkSts">
                        </div>
                    </div>
                    <!-- 出入类型 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>出入类型:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="ioType">
                        </div>
                    </div>
                    <!-- 源库位 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>源库位:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="sourceLocNo">
                        </div>
                    </div>
                    <!-- 目标库位 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>目标库位:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="locNo">
                        </div>
                    </div>
                    <!-- 堆垛机状态 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>堆垛机状态:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="crnStatus">
                        </div>
                    </div>
                    <!-- 异常 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>异常:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="error">
                        </div>
                    </div>
                </form>
            </div>
            <!-- 输送设备弹窗 -->
            <div id="siteWindow" style="display: none;">
                <!-- 表头 -->
                <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">
                        </div>
                    </div>
                    <!-- 工作号 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>工作号:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="workNo">
                        </div>
                    </div>
                    <!-- 工作状态 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>工作状态:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="wrkSts">
                        </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">
                        </div>
                    </div>
                    <!-- 源站 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>源站:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="sourceStaNo">
                        </div>
                    </div>
                    <!-- 目标站 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>目标站:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="staNo">
                        </div>
                    </div>
                    <!-- 源库位 -->
                    <div class="form-item">
                        <div class="form-item-label">
                            <span>源库位:</span>
                        </div>
                        <div class="form-item-input">
                            <input type="text" name="sourceLocNo">
                        </div>
                    </div>
                    <!-- 目标库位 -->
                    <div class="form-item">
                    <div class="form-item-label">
                        <span>目标库位:</span>
                    </div>
                    <div class="form-item-input">
                        <input type="text" name="locNo">
                    </div>
                </div>
                </form>
            </div>
        </div>
    </body>
</html>
<script type="text/javascript">
    // // 弹窗站点信息
    // $('.site').on('click',function(){
    //     var id = this.id.split("-")[1];
    //      $("#siteWindow").attr("style","display:block;");//显示div
    //      $(".detailed").empty();
    //      $('.detailed').append(id+'站点详细信息');
    // });
    // // 堆垛机信息
    // $('.machine').on('click',function(){
    //     var id = this.id.split("-")[1];
    //     $("#crnWindow").attr('style','display:block;');
    //     $('.detailed').empty();
    //     $('.detailed').append(id+'号堆垛机');
    // })
    // // 弹窗关闭
    // $('button').on('click',function(){
    //     $('#siteWindow').attr('style','display:none')
    //     $('#crnWindow').attr('style','display:none')
    // })
    var crn1Position = 0;
    var crn2Position = 0;
    // 初始化
    getSitesInfo();
    getCrnInfo();
    getSystemRunningStatus();
    getBarcodeInfo();
    getScaleInfo();
    // 实时访问
    setInterval(function () {
        getCrnInfo();
        getSystemRunningStatus();
        getBarcodeInfo();
        getScaleInfo();
    }, 1000);
    setInterval(function () {
        getSitesInfo();
    }, 3000);
    <!--     第1列(宽度 70px) -->
    <div class="site-row site-row-1">
        <div id="site-173" class="site" style="height: 20px;line-height: 20px;margin-bottom: 85px">173</div>
    // 系统运行开关
    function systemSwitch() {
        if (parent.systemRunning){
            layer.prompt({title: '请输入口令,并停止 WCS 系统', formType: 1,   shadeClose: true}, function(pass, idx){
                layer.close(idx);
                doSwitch(0, pass); // 停止wcs系统
            });
        } else {
            doSwitch(1); // 启动wcs系统
        }
    }
    </div>
    // 请求服务器控制wcs系统运行状态
    function doSwitch(operatorType, password) {
        // 加载tips
        var index = layer.load(1, {
            shade: [0.1,'#fff']
        });
        $.ajax({
            url: baseUrl+ "/console/system/switch",
            headers: {'token': localStorage.getItem('token')},
            // async: false,
            data: {
                operatorType: operatorType,
                password: password
            },
            method: 'POST',
            success: function (res) {
                console.log(res)
                layer.close(index);
                if (res.code === 200){
                    if (res.data.status) {
                        $('#system-icon').attr("class", "system-icon-open");
                        $('#system-run-desc').html("系统运行中...");
                        parent.systemRunning = true;
                    } else {
                        $('#system-icon').attr("class", "system-icon-close");
                        $('#system-run-desc').html("系统已停止!");
                        parent.systemRunning = false;
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
    <!--     第2列(宽度 70px)-->
    <div class="site-row site-row-2">
        <div id="site-175" class="site" style="height: 20px;line-height: 20px;">175</div>
        <div id="site-174" class="site" style="height: 21px;line-height: 21px;">174</div>
        <div id="site-172" class="site" style="height: 20px;line-height: 20px;margin-bottom: 245px">172</div>
        <div id="site-182" class="site" style="height: 20px;line-height: 20px;">182</div>
    </div>
                }
            }
        });
    <!-- 第3列(宽度 70px) -->
    <div class="site-row site-row-3">
        <div id="site-171" class="site" style="height: 20px;line-height: 20px;margin-bottom: 245px; ">171</div>
        <div id="site-181" class="site" style="height: 20px;line-height: 20px;margin-bottom: 44px; ">181</div>
    </div>
    }
    <!-- 第4列(宽度 70px 140px) -->
    <div class="site-row site-row-4">
        <div id="site-176" class="site" style="height: 20px;line-height: 20px;width:140px;margin-bottom: 21px">176</div>
        <div id="site-170" class="site" style="height: 20px;line-height: 20px;width:70px;margin-bottom: 245px;position: relative;float: right">170</div>
        <div id="site-180" class="site" style="height: 20px;line-height: 20px;width:70px;position: relative;clear:right;float: right">180</div>
    </div>
    // 获取wcs系统运行状态
    function getSystemRunningStatus() {
        $.ajax({
            url: baseUrl+ "/console/system/running/status",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    if (res.data.status) {
                        $('#system-icon').attr("class", "system-icon-open");
                        $('#system-run-desc').html("系统运行中...");
                        parent.systemRunning = true;
                    } else {
                        $('#system-icon').attr("class", "system-icon-close");
                        $('#system-run-desc').html("系统已停止!");
                        parent.systemRunning = false;
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
<!--    &lt;!&ndash; 第5列(宽度 70px) &ndash;&gt;-->
    <div class="site-row site-row-5">
        <div id="site-163" class="site" style="height: 31px;line-height: 31px">163</div>
        <div id="site-162" class="site" style="height: 31px;line-height: 31px">162</div>
        <div id="site-161" class="site" style="height: 71px;line-height: 71px">161</div>
        <div id="site-160" class="site" style="height: 31px;line-height: 31px">160</div>
        <div id="site-159" class="site" style="height: 31px;line-height: 31px">159</div>
        <div id="site-158" class="site" style="height: 70px;line-height: 70px">158</div>
        <div id="site-157" class="site" style="height: 31px;line-height: 31px">157</div>
        <div id="site-156" class="site" style="height: 31px;line-height: 31px">156</div>
        <div id="site-155" class="site" style="height: 70px;line-height: 70px">155</div>
        <div id="site-154" class="site" style="height: 31px;line-height: 31px">154</div>
        <div id="site-153" class="site" style="height: 31px;line-height: 31px">153</div>
        <div id="site-152" class="site" style="height: 70px;line-height: 70px">152</div>
        <div id="site-151" class="site" style="height: 31px;line-height: 31px">151</div>
        <div id="site-150" class="site" style="height: 31px;line-height: 31px">150</div>
    </div>
    // 输送设备实时数据获取
    function getSitesInfo(){
        $.ajax({
            url: baseUrl+ "/console/latest/data/site",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var sites = res.data;
                    for (var i = 0; i < sites.length; i++){
                        var siteEl = $("#site-"+sites[i].siteId);
                        siteEl.attr("class", "site " + sites[i].siteStatus);
                        if (sites[i].workNo != null && sites[i].workNo>0) {
                            siteEl.html(sites[i].siteId + "[" + sites[i].workNo + "]");
                        } else {
                            siteEl.html(sites[i].siteId);
                        }
                        if (i+1===8) {
                            carAnimate(i+1, Number(sites[i].nearbySta));
                        }
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
<!--    &lt;!&ndash; 第6列(宽度 70px) &ndash;&gt;-->
    <div class="site-row site-row-6">
        <div id="site-120" class="site" style="height: 31px;line-height: 31px">120(8888)</div>
        <div id="site-121" class="site" style="height: 31px;line-height: 31px">121(8888)</div>
        <div id="site-122" class="site" style="height: 71px;line-height: 71px">122</div>
        <div id="site-123" class="site" style="height: 31px;line-height: 31px">123</div>
        <div id="site-124" class="site" style="height: 31px;line-height: 31px">124</div>
        <div id="site-125" class="site" style="height: 70px;line-height: 70px">125</div>
        <div id="site-126" class="site" style="height: 31px;line-height: 31px">126</div>
        <div id="site-127" class="site" style="height: 31px;line-height: 31px">127</div>
        <div id="site-128" class="site" style="height: 70px;line-height: 70px">128</div>
        <div id="site-129" class="site" style="height: 31px;line-height: 31px">129</div>
        <div id="site-130" class="site" style="height: 31px;line-height: 31px">130</div>
        <div id="site-131" class="site" style="height: 70px;line-height: 71px">131</div>
        <div id="site-132" class="site" style="height: 31px;line-height: 31px">132</div>
        <div id="site-133" class="site" style="height: 31px;line-height: 31px">133</div>
    // 堆垛机实时数据获取
    function getCrnInfo(){
        $.ajax({
            url: baseUrl+ "/console/latest/data/crn",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var crns = res.data;
                    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)/2;
                        crnEl.animate({left: (crns[i].bay * unit + 25) +'px'}, 1000);
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    </div>
    // 扫码器实时数据获取
    function getBarcodeInfo(){
        $.ajax({
            url: baseUrl+ "/console/latest/data/barcode",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var barcodes = res.data;
                    for (var i = 0; i < barcodes.length; i++){
                        $("#code-decoder-data-"+barcodes[i].barcodeId).html(barcodes[i].codeValue);
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    <!-- 货架 + 堆垛机 + 入库站点 + 出库站点 -->
    <div class="main-part">
        <!--第一组-->
        <div class="lane">
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">1#</span>
            </div>
            <div class="stock-group">
                <div id="site-100" class="site" style="">100</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">2#</span>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-1" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-101" class="site" style="">101</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">3#</span>
            </div>
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">4#</span>
            </div>
        </div>
        <!--第二组-->
        <div class="lane">
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">5#</span>
            </div>
            <div class="stock-group">
                <div id="site-102" class="site" style="">102</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">6#</span>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-2" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-103" class="site" style="">103</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">7#</span>
            </div>
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">8#</span>
            </div>
        </div>
        <!--第三组-->
        <div class="lane">
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">9#</span>
            </div>
            <div class="stock-group">
                <div id="site-104" class="site" style="">104</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">10#</span>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-3" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-105" class="site" style="">105</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">11#</span>
            </div>
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">12#</span>
            </div>
        </div>
        <!--第四组-->
        <div class="lane">
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">13#</span>
            </div>
            <div class="stock-group">
                <div id="site-106" class="site" style="">106</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">14#</span>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-4" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-107" class="site" style="">107</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">15#</span>
            </div>
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">16#</span>
            </div>
        </div>
        <!--第五组-->
        <div class="lane">
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">17#</span>
            </div>
            <div class="stock-group">
                <div id="site-108" class="site" style="">108</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">18#</span>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-5" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-109" class="site" style="">109</div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">19#</span>
            </div>
            <div class="stock-group">
                <div class="site" style="background-color: white"></div>
                <button class="item">2</button>
                <button class="item">4</button>
                <button class="item">6</button>
                <button class="item">8</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">20#</span>
            </div>
        </div>
    </div>
</main>
    // 磅秤实时数据获取
    function getScaleInfo(){
        $.ajax({
            url: baseUrl+ "/console/latest/data/scale",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
<!-- 弹窗 -->
<!-- 输送设备弹窗 -->
<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>
                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);
                }
            }
        });
    }
        <!-- 第二行 -->
        <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>
    // 堆垛机偏移动画
    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
        }
    }
        <!-- 第三行 -->
        <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>
    // 输送设备点击事件
    $('.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');
            }
        });
    });
<!-- 堆垛机弹窗 -->
<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>
<script>
    var crn1Position = 0;
    var crn2Position = 0;
    // 初始化
    getSitesInfo();
    getCrnInfo();
    getSystemRunningStatus();
    getBarcodeInfo();
    getScaleInfo();
    // 实时访问
    setInterval(function () {
        getCrnInfo();
        getSystemRunningStatus();
        getBarcodeInfo();
        getScaleInfo();
    }, 1000);
    setInterval(function () {
        getSitesInfo();
    }, 3000);
    // 系统运行开关
    function systemSwitch() {
        if (parent.systemRunning){
            layer.prompt({title: '请输入口令,并停止 WCS 系统', formType: 1,   shadeClose: true}, function(pass, idx){
                layer.close(idx);
                doSwitch(0, pass); // 停止wcs系统
            });
        } else {
            doSwitch(1); // 启动wcs系统
        }
    }
    // 请求服务器控制wcs系统运行状态
    function doSwitch(operatorType, password) {
        // 加载tips
        var index = layer.load(1, {
            shade: [0.1,'#fff']
        });
        $.ajax({
            url: baseUrl+ "/console/system/switch",
            headers: {'token': localStorage.getItem('token')},
            // async: false,
            data: {
                operatorType: operatorType,
                password: password
            },
            method: 'POST',
            success: function (res) {
                layer.close(index);
                if (res.code === 200){
                    if (res.data.status) {
                        $('#system-icon').attr("class", "system-icon-open");
                        $('#system-run-desc').html("系统运行中...");
                        parent.systemRunning = true;
                    } else {
                        $('#system-icon').attr("class", "system-icon-close");
                        $('#system-run-desc').html("系统已停止!");
                        parent.systemRunning = false;
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    // 获取wcs系统运行状态
    function getSystemRunningStatus() {
        $.ajax({
            url: baseUrl+ "/console/system/running/status",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    if (res.data.status) {
                        $('#system-icon').attr("class", "system-icon-open");
                        $('#system-run-desc').html("系统运行中...");
                        parent.systemRunning = true;
                    } else {
                        $('#system-icon').attr("class", "system-icon-close");
                        $('#system-run-desc').html("系统已停止!");
                        parent.systemRunning = false;
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    // 输送设备实时数据获取
    function getSitesInfo(){
        $.ajax({
            url: baseUrl+ "/console/latest/data/site",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var sites = res.data;
                    for (var i = 0; i < sites.length; i++){
                        var siteEl = $("#site-"+sites[i].siteId);
                        siteEl.attr("class", "site " + sites[i].siteStatus);
                        if (sites[i].workNo != null && sites[i].workNo>0) {
                            siteEl.html(sites[i].siteId + "[" + sites[i].workNo + "]");
                        } else {
                            siteEl.html(sites[i].siteId);
                        }
                        if (i+1===8) {
                            carAnimate(i+1, Number(sites[i].nearbySta));
                        }
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    // 堆垛机实时数据获取
    function getCrnInfo(){
        $.ajax({
            url: baseUrl+ "/console/latest/data/crn",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var crns = res.data;
                    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)/2;
                        crnEl.animate({left: (crns[i].bay * unit + 25) +'px'}, 1000);
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    // 扫码器实时数据获取
    function getBarcodeInfo(){
        $.ajax({
            url: baseUrl+ "/console/latest/data/barcode",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var barcodes = res.data;
                    for (var i = 0; i < barcodes.length; i++){
                        $("#code-decoder-data-"+barcodes[i].barcodeId).html(barcodes[i].codeValue);
                    }
                } else if (res.code === 403){
                    parent.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    // 磅秤实时数据获取
    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);
                }
            }
        });
    }
    // 堆垛机偏移动画
    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
        }
    }
    // 页面点击事件监听 ---------------------------------------------------------
    // 输送设备点击事件
    $('.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');
            }
        });
    });
    // 堆垛机点击事件
    $('.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) {
        var targetTop = 122;
        if (id === 8) {
            switch (target) {
                case 1:
                    targetTop += 160;
                    break;
                case 2:
                    targetTop += 140;
                    break;
                case 3:
                    targetTop += 80;
                    break;
                case 4:
                    targetTop += 40;
                    break;
                case 7:
                    targetTop += 0;
                    break;
                default:
                    return;
            }
        } else {
            return;
        }
        $("#site-" + id).animate({top: targetTop+'px'}, 1000);
    }
    // 小车偏移动画
    function carAnimate(id, target) {
        var targetTop = 122;
        if (id === 8) {
            switch (target) {
                case 1:
                    targetTop += 160;
                    break;
                case 2:
                    targetTop += 140;
                    break;
                case 3:
                    targetTop += 80;
                    break;
                case 4:
                    targetTop += 40;
                    break;
                case 7:
                    targetTop += 0;
                    break;
                default:
                    return;
            }
        } else {
            return;
        }
        $("#site-" + id).animate({top: targetTop+'px'}, 1000);
    }
</script>
</html>
</script>
src/main/webapp/views/index.html
@@ -9,7 +9,7 @@
  <link rel="icon" type="image/x-icon" href="../static/image/wcs_logo.png" />
  <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/index.css">
  <link rel="stylesheet" type="text/css" href="../static/css/index-0.css">
  <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>
  <style>
@@ -26,7 +26,7 @@
  </ul>
  <!-- 主体内容 -->
  <iframe id="content" src="console.html"></iframe>
  <iframe id="content" src="console-0.html"></iframe>
  <footer class="footer">
    Copyright © 2015 All Rights Reserved. <a href="http://www.zoneyung.com" target="_blank">浙江中扬立库技术有限公司</a>  保留所有权利
src/main/webapp/views/index0.html
New file
@@ -0,0 +1,44 @@
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>自动仓库WCS系统</title>
        <link rel="stylesheet" href="../static/css/index.css">
        <script src="../static/js/jquery/jquery-3.3.1.min.js"></script>
    </head>
    <body>
        <!-- 导航栏 -->
        <div class="nav">
            <li class="right">注销<a id="about" class="nav-unselect" onclick="logout()" href="#"></a></li>
        </div>
        <div class="sidebar">
            <ul>
                <li><a id="console" onclick="nav(this.id)" class="nav-select" href="#">主控图</a></li>
                <li><a id="pipeline" onclick="nav(this.id)" class="nav-unselect" href="#">输送设备</a></li>
                <li><a id="crn" onclick="nav(this.id)" class="nav-unselect" href="#">堆垛机</a></li>
            </ul>
        </div>
        <!-- 主体内容 -->
        <iframe id="content" src="console.html"></iframe>
        <footer class="footer">
            Copyright © 2015 All Rights Reserved. <a href="http://www.zoneyung.com" target="_blank">浙江中扬立库技术有限公司</a>  保留所有权利
        </footer>
    </body>
    <script>
    // 导航栏
      function nav(id) {
          $('.nav-select').attr("class", "nav-unselect");
          $('#'+id).attr("class", "nav-select");
          $('#content').attr("src", id+".html");
      }
      注销
      function logout() {
          localStorage.removeItem("token");
          window.location.href = baseUrl + "/login";
      }
      // 系统运行状态
      var systemRunning = true;
    </script>
</html>