#
luxiaotao1123
2023-02-15 a7223a5dfc7c83c7fe3894e65d1fed84cae61a8e
src/main/webapp/views/ste.html
@@ -21,65 +21,10 @@
            <!-- 日志监控板 -->
            <div class="log-board">
                <div class="command-log">
                    <div class="ste-command-item" style="margin-top: 30px">
                    <div data-steNo="1" class="ste-command-item">
                        <label>1#</label>
                        <div class="dropdown-menu">
                            <button id="steBtn-1" class="demoBtn" onclick="changePosition(this.id)">修改位置</button>
                                <ul class="dropdown-menu-nav dark" >
                                    <div class="dropdown-anchor"></div>
                                    <div class="form-item"><span>当前穿梭机:</span><input type="text"></div>
                                    <div class="form-item"><span>排:</span><input type="text"></div>
                                    <div class="form-item"><span>列:</span><input type="text"></div>
                                    <div class="form-item"><span>层:</span><input type="text"></div>
                                </ul>
                        </div>
                        <div class="dropdown-menu">
                            <button class="demoBtn" onclick="">所属堆垛机</button>
                                <ul class="dropdown-menu-nav dark">
                                    <div class="dropdown-anchor"></div>
                                    <div class="form-item"><span>堆垛机号:</span><input type="text"></div>
                                </ul>
                        </div>
                    </div>
                    <div class="ste-command-item" style="margin-top: 30px">
                        <label>2#</label>
                        <div class="dropdown-menu">
                            <button id="steBtn-2" class="demoBtn" onclick="changePosition(this.id)">修改位置</button>
                            <ul class="dropdown-menu-nav dark" >
                                <div class="dropdown-anchor"></div>
                                <div class="form-item"><span>当前穿梭机:</span><input type="text"></div>
                                <div class="form-item"><span>排:</span><input type="text"></div>
                                <div class="form-item"><span>列:</span><input type="text"></div>
                                <div class="form-item"><span>层:</span><input type="text"></div>
                            </ul>
                        </div>
                        <div class="dropdown-menu">
                            <button class="demoBtn" onclick="">所属堆垛机</button>
                                <ul class="dropdown-menu-nav dark">
                                    <div class="dropdown-anchor"></div>
                                    <div class="form-item"><span>堆垛机号:</span><input type="text"></div>
                                </ul>
                        </div>
                    </div>
                    <div class="ste-command-item" style="margin-top: 30px">
                        <label>3#</label>
                        <div class="dropdown-menu">
                            <button id="steBtn-3" class="demoBtn" onclick="changePosition(this.id)">修改位置</button>
                            <ul class="dropdown-menu-nav dark" >
                                <div class="dropdown-anchor"></div>
                                <div class="form-item"><span>当前穿梭机:</span><input type="text"></div>
                                <div class="form-item"><span>排:</span><input type="text"></div>
                                <div class="form-item"><span>列:</span><input type="text"></div>
                                <div class="form-item"><span>层:</span><input type="text"></div>
                            </ul>
                        </div>
                        <div class="dropdown-menu">
                        <button class="demoBtn" onclick="">所属堆垛机</button>
                            <ul class="dropdown-menu-nav dark">
                                <div class="dropdown-anchor"></div>
                                <div class="form-item"><span>堆垛机号:</span><input type="text"></div>
                            </ul>
                        </div>
                        <button class="demoBtn pos-btn">数据维护</button>
                        <button id="mode-1" class="demoBtn mode-btn" > - </button>
                    </div>
                </div>
                <!-- 堆垛机状态位信息 -->
@@ -98,6 +43,7 @@
                                <th>层</th>
                                <th>等待WCS确认</th>
                                <th>定位</th>
                                <th>充电状态</th>
                                <th>报警信息1</th>
                                <th>报警信息2</th>
                            </tr>
@@ -121,6 +67,7 @@
                            <th>目标库位</th>
                            <th>速度</th>
                            <th>近点距离</th>
                            <th>作业标记</th>
                        </tr>
                    </thead>
                    <tbody>
@@ -142,8 +89,6 @@
                        <span class="select-title">穿梭车号</span>
                        <div class="select-container">
                            <label><input type="radio" name="steSelect" value="1" checked>&nbsp;1号穿梭车</label>
                            <label><input type="radio" name="steSelect" value="2">&nbsp;2号穿梭车</label>
                            <label><input type="radio" name="steSelect" value="3">&nbsp;3号穿梭车</label>
                        </div>
                    </div>
                </div>
@@ -152,24 +97,27 @@
                    <fieldset>
                        <legend>手动操作</legend>
                        <div class="button-group">
                            <button class="item" onclick="leftTake()">左出库</button>
                            <button class="item" onclick="rightTake()">右出库</button>
                            <button class="item" onclick="leftPut()">左入库</button>
                            <button class="item" onclick="rightPut()">右入库</button>
                            <button class="item" onclick="leftStockMove()">左移库</button>
                            <button class="item" onclick="rightStockMove()">右移库</button>
                            <button class="item" onclick="oOrigin()">原点</button>
                            <button class="item" onclick="farPoint()">远点</button>
                            <button class="item" onclick="aPoint()">A 点</button>
                            <button class="item" onclick="bPoint()">B 点</button>
                            <button class="item" onclick="moveLift()">左搬移</button>
                            <button class="item" onclick="moveRight()">右搬移</button>
                            <button class="item" onclick="charging()">充电</button>
                            <button class="item" onclick="pause()">左盘点</button>
                            <button class="item" onclick="boot()">右盘点</button>
                            <button class="item" onclick="boot()">任务完成</button>
                            <button class="item" onclick="clearCommand()">清除命令</button>
                            <button class="item" onclick="handleReset()">复位</button>
                            <button class="item" onclick="steOperator(99)">联机</button>
                            <button class="item" onclick="steOperator(100)">脱机</button>
                            <button class="item" onclick="steOperator(1)">向右出库</button>
                            <button class="item" onclick="steOperator(2)">向左出库</button>
                            <button class="item" onclick="steOperator(3)">从右入库</button>
                            <button class="item" onclick="steOperator(4)">从左入库</button>
                            <button class="item" onclick="steOperator(5)">左移库</button>
                            <button class="item" onclick="steOperator(6)">右移库</button>
                            <button class="item" onclick="steOperator(7)">去右端</button>
                            <button class="item" onclick="steOperator(8)">去左端</button>
                            <button class="item" onclick="steOperator(9)">右待机</button>
                            <button class="item" onclick="steOperator(10)">左待机</button>
<!--                            <button class="item" onclick="steOperator(11)">左搬移</button>-->
<!--                            <button class="item" onclick="steOperator(12)">右搬移</button>-->
<!--                            <button class="item" onclick="steOperator(13)">左充电</button>-->
<!--                            <button class="item" onclick="steOperator(14)">右充电</button>-->
<!--                            <button class="item" onclick="steOperator(17)">断开充电</button>-->
<!--                            <button class="item" onclick="steOperator(14)">左盘点</button>-->
<!--                            <button class="item" onclick="steOperator(15)">右盘点</button>-->
                            <button class="item" onclick="steOperator(16)">任务完成</button>
                        </div>
                    </fieldset>
                </div>
@@ -181,17 +129,59 @@
            </div>
        </div>
    </div>
    <div id="ste-detl" style="display: none">
        <div>
            <div class="form-item">
                <label class="form-label">穿梭车号:</label>
                <div class="form-input">
                    <input id="steNo" name="steNo" class="layui-input" lay-verify="required|number" autocomplete="off" disabled="disabled">
                </div>
            </div>
            <div class="form-item">
                <label class="form-label">工作号:</label>
                <div class="form-input">
                    <input id="workNo" name="workNo" type="number" class="layui-input" lay-verify="number" autocomplete="off">
                </div>
            </div>
            <div class="form-item">
                <label class="form-label">排:</label>
                <div class="form-input">
                    <input id="row" name="row" type="number" class="layui-input" lay-verify="number" autocomplete="off">
                </div>
            </div>
            <div class="form-item">
                <label class="form-label">列:</label>
                <div class="form-input">
                    <input id="bay" name="bay" type="number" class="layui-input" autocomplete="off">
                </div>
            </div>
            <div class="form-item">
                <label class="form-label">层:</label>
                <div class="form-input">
                    <input id="lev" name="lev" type="number" class="layui-input" autocomplete="off">
                </div>
            </div>
            <div class="form-item">
                <label class="form-label">堆垛机:</label>
                <div class="form-input">
                    <input id="crnNo" name="crnNo" type="number" class="layui-input" autocomplete="off">
                </div>
            </div>
            <div class="form-item">
                <label class="form-label">作业标记:</label>
                <div class="form-input">
                    <input id="pakMk" name="pakMk" type="text" class="layui-input" autocomplete="off">
                </div>
            </div>
            <div class="form-item form-button-container">
                <button class="form-button" id="save">保存</button>
                <button class="form-button" id="cancel" style="background-color: #D0D0D0">取消</button>
            </div>
        </di>
    </div>
</body>
</html>
<script>
    layui.config({
        base: baseUrl + "/static/layui/lay/modules/"
    }).extend({
        dropdown: 'dropdown/dropdown',
    }).use(['dropdown'],function () {
        var dropdown = layui.dropdown;
    })
</script>
<script>
    // 空白行数
    var steStateTableBlankRows = 0;
@@ -231,10 +221,90 @@
        }
    }
    // 修改穿梭车位置
    function changePosition(id) {
    var layerIdx;
    $(document).on('click ','.pos-btn', function () {
        let steNo = Number($(this).parent().attr("data-steNo"));
        layerIdx = layer.open({
            type: 1,
            title: false,
            shadeClose: true,
            offset: [$(this).offset().top + 30 + 'px', $(this).offset().left + 'px'],
            anim: 5,
            shade: [0],
            area: ['310px', '370px'],
            closeBtn: 0,
            content: $("#ste-detl"),
            success: function(layero, index){
                http.get(baseUrl+ "/ste/detl/"+steNo, null, function (res) {
                    $('#steNo').val(steNo);
                    $('#workNo').val(res.data.workNo);
                    $('#row').val(res.data.row);
                    $('#bay').val(res.data.bay);
                    $('#lev').val(res.data.lev);
                    $('#crnNo').val(res.data.crnNo);
                    $('#pakMk').val(res.data.pakMk);
                })
            },
            end: function () {
                $('#steNo').val("");
                $('#workNo').val("");
                $('#row').val("");
                $('#bay').val("");
                $('#lev').val("");
                $('#crnNo').val("");
                $('#pakMk').val("");
            }
        })
    })
    }
    $(document).on('click ','.mode-btn', function () {
        let steNo = Number($(this).parent().attr("data-steNo"));
        layer.confirm("改变" + steNo + ' 号穿梭车在线状态吗?', function(){
            var index = layer.load(1, {
                shade: [0.1,'#fff']
            });
            $.ajax({
                url: baseUrl+ "/ste/mode/switch",
                headers: {'token': localStorage.getItem('token')},
                data: {
                    steNo: Number(steNo),
                    password: 'root'
                },
                method: 'POST',
                success: function (res) {
                    layer.close(index);
                    if (res.code === 200){
                        layer.msg(res.msg, {icon: 1});
                    } else if (res.code === 403){
                        window.location.href = baseUrl+"/login";
                    }  else {
                        layer.msg(res.msg, {icon: 2});
                    }
                }
            });
        });
    })
    $(document).on('click ','#save', function () {
        http.post(baseUrl+ "/ste/detl/update", {
            steNo: $('#steNo').val(),
            workNo: $('#workNo').val(),
            row:  $('#row').val(),
            bay: $('#bay').val(),
            lev:  $('#lev').val(),
            crnNo: $('#crnNo').val(),
            pakMk: $('#pakMk').val(),
        }, function (res) {
            layer.msg("修改成功", {icon: 1,});
            layer.close(layerIdx);
        })
    })
    $(document).on('click ','#cancel', function () {
        layer.close(layerIdx);
    })
    // 穿梭车信息表获取 ---- 表一
    function getSteStateInfo() {
@@ -251,6 +321,7 @@
                        steStateTableFullRows = table.length;
                    }
                    for (let i=1;i<=table.length;i++){
                        $("#mode-"+table[i-1].steNo).html(table[i-1].statusVal===0?'联机':'脱机');
                        let tr = tableEl.find("tr").eq(i);
                        setVal(tr.children("td").eq(0), table[i-1].steNo);
                        setVal(tr.children("td").eq(1), table[i-1].statusType);
@@ -263,8 +334,9 @@
                        setVal(tr.children("td").eq(8), table[i-1].lev);
                        setVal(tr.children("td").eq(9), table[i-1].waiting);
                        setVal(tr.children("td").eq(10), table[i-1].loca);
                        setVal(tr.children("td").eq(11), table[i-1].alarm1);
                        setVal(tr.children("td").eq(12), table[i-1].alarm2);
                        setVal(tr.children("td").eq(11), table[i-1].chargeStatus);
                        setVal(tr.children("td").eq(12), table[i-1].alarm1);
                        setVal(tr.children("td").eq(13), table[i-1].alarm2);
                    }
                } else if (res.code === 403){
                    window.location.href = baseUrl+"/login";
@@ -300,6 +372,7 @@
                        setVal(tr.children("td").eq(6), table[i-1].locNo);
                        setVal(tr.children("td").eq(7), table[i-1].speed);
                        setVal(tr.children("td").eq(8), table[i-1].closer);
                        setVal(tr.children("td").eq(9), table[i-1].pakMk);
                    }
                } else if (res.code === 403){
                    window.location.href = baseUrl+"/login";
@@ -328,6 +401,17 @@
        })
    }
    // 任务指令下发
    function steOperator(steTaskMode) {
        http.post(baseUrl+"/ste/operator/ste", {
            steNo: $('input[name="steSelect"]:checked').val(),
            steTaskMode: steTaskMode
        }, function (res) {
            layer.msg(res.msg, {icon: 1});
        });
    }
    // ------------------------------------------------------------------------------------------------
    // 穿梭车信息表获取  ----- 表一
@@ -346,6 +430,7 @@
        let html = "";
        for (let i = 0; i < line; i ++){
            html += " <tr>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
@@ -406,7 +491,5 @@
        steOutputDom.value += content;
        steOutputDom.scrollTop = steOutputDom.scrollHeight;
    }
</script>