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,134 +1,220 @@ html { * { margin: 0; overflow: hidden; } html,body { height: 100%; } body { #root { width: 100%; height: 100%; background-color: #f1f1f1; border-radius: 5px; box-shadow: 0 0 3px rgba(0,0,0,.3); padding: 10px; background-color: rgb(108,167,168); } /* ------------------------------------ 头部 ------------------------------------*/ header { border-radius: 5px; box-shadow: 0 0 3px rgba(0,0,0,.3); background-color: #fff; height: 17%; opacity: 0.8; position: relative; .head { height: 10%; width: 20%; padding-top: 1%; padding-left: 1%; color: #FFFFFF; } /* 分割线 */ .header-hr { border-radius: 5px; border: 1px solid #777; width: 80%; .head h1 { font-weight: 400; letter-spacing:3px; } .head h6 { font-weight: 400; } #body { width: 100%; height: 23% ; position: absolute; bottom: 0; bottom: 1%; } /* 系统运行状态 */ /* 控制开关 */ .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; 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 { background-image: url("../image/stop48.png"); width: 153px; height: 153px; background-image: url(../images/start48.png); display: inline-block; } .system-icon-close { background-image: url("../image/start48.png"); } #system-run-desc { font-size: large; width: 153px; height: 153px; background-image: url(../images/stop48.png); 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; .switch_r { color: #FFFFFF; font-size: 14px; width: 130px; text-align: right; font-size: xx-small; height: 153px; float: right; padding-top: 30px; } .item-group { display: inline-block; #system-run-desc { font-size: 20px; margin-top: 15px; } .item-group span { font-size: xx-small; .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); } /* ------------------------------------ 主体 ------------------------------------*/ main { margin-top: 8px; border-radius: 5px; box-shadow: 0 0 3px rgba(0,0,0,.3); background-color: #fff; height: 82%; position: relative; /* 出库 */ .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; } /* 输送线第0列 */ .site-row-0 { top: 162px; left: 140px; } .site-row-0 .site { width: 80px; } /* 输送线第一列 */ .site-row-1 { top: 188px; left: 120px; top: 210px; left: 166px; } .site-row-1 .site { width: 70px; @@ -136,270 +222,69 @@ /* 输送线第二列 */ .site-row-2 { top: 188px; left: 190px; top: 210px; left: 238px; } .site-row-2 .site { width: 70px; } /* 输送线第三列 */ .site-row-3 { top: 229px; left: 260px; top: 253px; left: 310px; } .site-row-3 .site { width: 70px; } /* 输送线第4列 */ .site-row-4 { top: 188px; left: 260px; } .site-row-4 .site { /*width: 80px;*/ top: 210px; left: 311px; } /* 输送线第5列 */ .site-row-5 { top: 55px; left: 400px; top: 71px; left: 455px; } .site-row-5 .site { width: 70px; } .site-row-6 { top: 55px; left: 470px; top: 71px; left: 528px; } .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; top: 20px; left: 600px; } .main-part .lane { /*margin-bottom: 30px;*/ margin-top: 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-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 .item:last-child { /*border-right: 1px solid #333!important;*/ .stock-group .site { width: 80px; float: left; } .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; @@ -410,98 +295,131 @@ 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; /* 堆垛机 */ .machine { margin-left: 30px; position: relative; background-color: rgb(108,167,168); height: 20px; /*background-image: url("../image/bscanner.png");*/ width: 80px; background-image: url("../images/Crane_auto.png"); background-repeat: no-repeat; background-size:100% 60%; background-size:100% 100%; background-position: top center; cursor: pointer; } /* 磅秤1 */ #scale-1 { top: 290px; left: 240px; /* 堆垛机弹窗 */ #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-top: 10px; padding-left: 5px; padding-left: 10px; } form .form-item-label { float: left; text-align: right; padding: 1px 6px; display: inline-block; vertical-align: middle; width: 90px; font-size: 10px; } form .form-item-input { display: inline-block; float: left; vertical-align: middle; width: 180px; } form .form-item-input input { height: 1.5rem; padding-left: 0.5rem; 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; } 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 { * { margin: 0; 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%; html,body { height: 100%; } .nav { width: 100%; height: 90px; line-height: 90px; list-style: none; color: #fff; position: fixed; text-align: center; letter-spacing:3px; } .right { float: right; margin-right: 1%; margin-top: 1%; } #about { width: 47px; height: 47px; display: inline-block; background-image: url(../images/cancellation.png); } .sidebar { width: 7%; height: 40%; line-height: 90px; position: fixed; top: 50%; transform: translateY(-50%); } .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: #fff; } .nav-select { color: rgb(87,214,201); } /* 主体 */ 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,11 +81,11 @@ 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; src/main/webapp/static/image/Crane_auto.pngBinary files differ
src/main/webapp/static/image/start48.pngBinary files differ
src/main/webapp/static/image/stop48.pngBinary files differ
src/main/webapp/static/images/Crane_auto.png
src/main/webapp/static/images/Crane_error.pngsrc/main/webapp/static/images/Crane_hptoohp.pngsrc/main/webapp/static/images/Crane_loctoloc.pngsrc/main/webapp/static/images/Crane_manual.pngsrc/main/webapp/static/images/Crane_retrieve.pngsrc/main/webapp/static/images/Crane_stntostn.pngsrc/main/webapp/static/images/Crane_store.pngsrc/main/webapp/static/images/Popup-green.png
src/main/webapp/static/images/Popup-yellow.png
src/main/webapp/static/images/barcode.pngsrc/main/webapp/static/images/bg.jpgsrc/main/webapp/static/images/bscanner.pngsrc/main/webapp/static/images/cancellation.png
src/main/webapp/static/images/fork_l.pngsrc/main/webapp/static/images/fork_r.pngsrc/main/webapp/static/images/line.png
src/main/webapp/static/images/login.pngsrc/main/webapp/static/images/loginBg.jpgsrc/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.pngsrc/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>自动仓库 WCS 监控图</h1> <!-- 颜色提示 --> <div class="tips"> <div class="tips-item"> <label>堆垛机状态颜色: </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>输送设备状态颜色: </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> <!-- <!– 第5列(宽度 70px) –>--> <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> <!-- <!– 第6列(宽度 70px) –>--> <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,112 +1,29 @@ <!DOCTYPE html> <html lang="en"> <!--5层 28列 1120库位--> <html> <head> <meta charset="UTF-8"> <meta charset="utf-8"> <title>WCS控制中心</title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> <!--<link rel="stylesheet" type="text/css" href="../static/css/common.css">--> <link rel="stylesheet" href="../static/css/console.css"> <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 src="../static/js/jquery/jquery-3.3.1.min.js"></script> <script src="../static/js/layer/layer.js"></script> <script type="text/javascript" src="../static/js/common.js"></script> <style> /* layer 深蓝色按钮修改 */ /*.layui-layer-lan .layui-layer-btn {*/ /*border-top: none;*/ /*}*/ .layui-layer-lan .layui-layer-btn a { background: #4476A7; border-color: #4476A7; color: #fff; } .layui-layer-lan .layui-layer-btn .layui-layer-btn1 { background: #fff; color: #333; border-color: #E9E7E7; } .layui-layer-lan .layui-layer-btn .layui-layer-btn1:hover { background-color: #f7f7f7; } </style> </head> <body> <header> <!-- 系统运行状态 --> <div class="system-state"> <div id="system-icon" class="system-icon-open" onclick="systemSwitch()"></div> <span id="system-run-desc">系统运行中...</span> <div id="root"> <div class="head"> <h1>自动仓库WCS监控图</h1> <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6> </div> <!-- 信息展示 --> <div class="data-window"> <!-- 标题 --> <h1>自动仓库 WCS 监控图</h1> <!-- 颜色提示 --> <div class="tips"> <div class="tips-item"> <label>堆垛机状态颜色: </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>输送设备状态颜色: </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> @@ -114,20 +31,17 @@ <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> <!-- <!– 第5列(宽度 70px) –>--> <div class="site-row site-row-5"> <div id="site-163" class="site" style="height: 31px;line-height: 31px">163</div> @@ -145,7 +59,6 @@ <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> <!-- <!– 第6列(宽度 70px) –>--> <div class="site-row site-row-6"> <div id="site-120" class="site" style="height: 31px;line-height: 31px">120(8888)</div> @@ -162,17 +75,15 @@ <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> <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> @@ -295,7 +206,7 @@ <span class="row-no">3#</span> </div> <div class="stock-group"> <div class="site" style="background-color: white"></div> <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> @@ -339,7 +250,7 @@ <span class="row-no"></span> <!-- 货架 --> <div class="stock-group"> <div class="site" style="background-color: white"></div> <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> @@ -462,7 +373,7 @@ <span class="row-no">7#</span> </div> <div class="stock-group"> <div class="site" style="background-color: white"></div> <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> @@ -506,7 +417,7 @@ <span class="row-no"></span> <!-- 货架 --> <div class="stock-group"> <div class="site" style="background-color: white"></div> <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> @@ -629,7 +540,7 @@ <span class="row-no">11#</span> </div> <div class="stock-group"> <div class="site" style="background-color: white"></div> <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> @@ -673,7 +584,7 @@ <span class="row-no"></span> <!-- 货架 --> <div class="stock-group"> <div class="site" style="background-color: white"></div> <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> @@ -796,7 +707,7 @@ <span class="row-no">15#</span> </div> <div class="stock-group"> <div class="site" style="background-color: white"></div> <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> @@ -840,7 +751,7 @@ <span class="row-no"></span> <!-- 货架 --> <div class="stock-group"> <div class="site" style="background-color: white"></div> <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> @@ -963,7 +874,7 @@ <span class="row-no">19#</span> </div> <div class="stock-group"> <div class="site" style="background-color: white"></div> <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> @@ -1003,213 +914,305 @@ </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 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 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"> <!-- 堆垛机状态 --> <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="checkbox" name="autoing" disabled="disabled" style="width: 1rem"> <input type="text" name="crnNo"> </div> </div> <div class="form-item" style="width: 20%"> <!-- 工作号 --> <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"> <input type="checkbox" name="loading" disabled="disabled" style="width: 1rem"> <div class="form-item-input-checkbox"> <input type="checkbox" name="loading"> </div> </div> <div class="form-item" style="width: 20%"> <div class="form-item-label"> <!-- 能入 --> <div class="form-item-checkbox"> <div class="form-item-label-checkbox"> <span>能入</span> </div> <div class="form-item-input"> <input type="checkbox" name="canining" disabled="disabled" style="width: 1rem"> <div class="form-item-input-checkbox"> <input type="checkbox" name="canining"> </div> </div> <div class="form-item" style="width: 20%"> <div class="form-item-label"> <!-- 能出 --> <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="checkbox" name="canouting" disabled="disabled" style="width: 1rem"> <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> <!-- 第三行 --> <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> </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; // 初始化 @@ -1257,6 +1260,7 @@ }, method: 'POST', success: function (res) { console.log(res) layer.close(index); if (res.code === 200){ if (res.data.status) { @@ -1516,5 +1520,6 @@ $("#site-" + id).animate({top: targetTop+'px'}, 1000); } </script> </html> 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>