自动化立体仓库 - WCS系统
Junjie
2023-04-14 f27968397dd2d37add528bf7937ebd6905762a09
src/main/webapp/views/shuttle.html
@@ -101,42 +101,82 @@
                <!-- 设备任务操作 -->
                <div class="task-operator">
                    <div style="display: flex;">
                        <div class="task-operator" style="height: auto;width: 100%;">
                            <div class="operator-item" style="height: auto">
                                <span class="select-title">源库位/目标库位</span>
                                <div class="select-container" style="height: auto">
                                    <div class="select-container-item">
                                        <span>源库位</span>
                                        <label><input id="sourceLocNo" type="text" name="sourceLocNo" /></label>
                                    </div>
                                    <div class="select-container-item">
                                        <span>目标库位</span>
                                        <label><input id="distLocNo" type="text" name="distLocNo" /></label>
                    <fieldset style="height: auto;padding-bottom: 20px;">
                        <legend>手动操作</legend>
                        <div style="display: flex;">
                            <div style="width: 30%;">
                                <div class="operator-item" style="height: auto;width: 100%;">
                                    <span class="select-title">源库位/目标库位</span>
                                    <div class="select-container" style="height: auto;padding: 30px 10px 20px 10px;">
                                        <div class="select-container-item">
                                            <span>源库位</span>
                                            <label><input id="sourceLocNo" type="text" name="sourceLocNo" /></label>
                                        </div>
                                        <div class="select-container-item">
                                            <span>目标库位</span>
                                            <label><input id="distLocNo" type="text" name="distLocNo" /></label>
                                        </div>
                                        <div style="margin-top: 10px;">
                                            <button class="item" onclick="shuttleOperator(1)">入库</button>
                                            <button class="item" onclick="shuttleOperator(2)">出库</button>
                                            <button class="item" onclick="shuttleOperator(14)">移动到目标库位</button>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <fieldset style="height: auto;padding-bottom: 20px;">
                        <legend>手动操作</legend>
                        <div class="button-group">
                            <button class="item" onclick="shuttleOperator(1)">入库</button>
                            <button class="item" onclick="shuttleOperator(2)">出库</button>
                            <button class="item" onclick="shuttleOperator(3)">托盘顶升</button>
                            <button class="item" onclick="shuttleOperator(4)">托盘下降</button>
                            <button class="item" onclick="shuttleOperator(5)">左移</button>
                            <button class="item" onclick="shuttleOperator(6)">右移</button>
                            <button class="item" onclick="shuttleOperator(7)">后移</button>
                            <button class="item" onclick="shuttleOperator(8)">前移</button>
                            <button class="item" onclick="shuttleOperator(9)">复位</button>
                            <button class="item" onclick="shuttleOperator(10)">正方向(左)寻库位</button>
                            <button class="item" onclick="shuttleOperator(11)">负方向(右)寻库位</button>
                            <button class="item" onclick="shuttleOperator(12)">正方向(前)寻库位</button>
                            <button class="item" onclick="shuttleOperator(13)">负方向(后)寻库位</button>
                            <button class="item" onclick="shuttleOperator(14)">移动到目标库位</button>
                            <button class="item" onclick="shuttleOperator(15)">充电开关</button>
                            <div style="width: 40%;">
                                <div class="operator-item" style="height: auto;width: 100%;">
                                    <span class="select-title">相关指令</span>
                                    <div class="select-container" style="height: auto;padding: 30px 10px 10px 10px;">
                                        <div class="button-group">
                                            <button class="item" onclick="shuttleOperator(3)">托盘顶升</button>
                                            <button class="item" onclick="shuttleOperator(4)">托盘下降</button>
                                            <button class="item" onclick="shuttleOperator(5)">左移</button>
                                            <button class="item" onclick="shuttleOperator(6)">右移</button>
                                            <button class="item" onclick="shuttleOperator(7)">后移</button>
                                            <button class="item" onclick="shuttleOperator(8)">前移</button>
                                            <button class="item" onclick="shuttleOperator(9)">复位</button>
                                            <button class="item" onclick="shuttleOperator(10)">正方向(左)寻库位</button>
                                            <button class="item" onclick="shuttleOperator(11)">负方向(右)寻库位</button>
                                            <button class="item" onclick="shuttleOperator(12)">正方向(前)寻库位</button>
                                            <button class="item" onclick="shuttleOperator(13)">负方向(后)寻库位</button>
                                            <button class="item" onclick="shuttleOperator(15)">充电开关</button>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div style="width: 20%;">
                                <div class="operator-item" style="height: auto;width: 100%;">
                                    <span class="select-title">设置配置参数</span>
                                    <div class="select-container" style="height: auto;padding: 30px 10px 10px 10px;">
                                        <div class="select-container-item">
                                            <span>运行速度</span>
                                            <label><input id="runSpeed" type="text" name="runSpeed" /></label>
                                        </div>
                                        <div class="select-container-item">
                                            <span>充电阈值</span>
                                            <label><input id="chargeLine" type="text" name="runSpeed" /></label>
                                        </div>
                                        <div>
                                            <button class="item" onclick="shuttleParamSave()">保存</button>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div style="width: 15%;">
                                <div class="operator-item" style="height: auto;width: 100%;">
                                    <span class="select-title">配置参数</span>
                                    <div class="select-container" style="height: auto;padding: 30px 10px 10px 10px;">
                                        <div>运行速度:<span id="runSpeedText"></span></div>
                                        <div>充电阈值:<span id="chargeLineText"></span></div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </fieldset>
                </div>
@@ -430,38 +470,6 @@
                console.log(shuttleNo)
                http.get(baseUrl+ "/shuttle/sensor/detl/"+shuttleNo, null, function (res) {
                    $('#shuttleNo1').val(res.data.shuttleNo);
                    // getColor(res.data.liftErr,'#liftErr');
                    // getColor(res.data.inFetchErr,'#inFetchErr');
                    // getColor(res.data.outFetchErr,'#outFetchErr');
                    // getColor(res.data.antiErr,'#antiErr');
                    // getColor(res.data.liftSwitchErr,'#liftSwitchErr');
                    // getColor(res.data.trackErr,'#trackErr');
                    // getColor(res.data.timeoutErr,'#timeoutErr');
                    // getColor(res.data.connectErr,'#connectErr');
                    // getColor(res.data.emergencyErr,'#emergencyErr');
                    // getColor(res.data.taskTypeErr,'#taskTypeErr');
                    // getColor(res.data.taskNoErr,'#taskNoErr');
                    // getColor(res.data.newTaskErr,'#newTaskErr');
                    // getColor(res.data.errTaskErr,'#errTaskErr');
                    // getColor(res.data.stopErr,'#stopErr');
                    // getColor(res.data.offlineTaskErr,'#offlineTaskErr');
                    // getColor(res.data.startTaskErr,'#startTaskErr');
                    // getColor(res.data.voltageTaskErr,'#voltageTaskErr');
                    // getColor(res.data.devpErr,'#devpErr');
                    // getColor(res.data.online,'#online');
                    // getColor(res.data.notOnTrack,'#notOnTrack');
                    // getColor(res.data.lowVoltage,'#lowVoltage');
                    // getColor(res.data.electricityLoss,'#electricityLoss');
                    // getColor(res.data.forcedTravel,'#forcedTravel');
                    // getColor(res.data.demoMode,'#demoMode');
                    // getColor(res.data.brushConnect,'#brushConnect');
                    // getColor(res.data.taskManualForbid,'#taskManualForbid');
                    // getColor(res.data.onlineManualForbid,'#onlineManualForbid');
                    // getColor(res.data.devpEmergency,'#devpEmergency');
                    // getColor(res.data.taskInterrupt,'#taskInterrupt');
                    // getColor(res.data.taskClear,'#taskClear');
                    // getColor(res.data.taskConfirmTimeout,'#taskConfirmTimeout');
                    // getColor(res.data.taskWithCharge,'#taskWithCharge');
                    getColor(res.data.pakInTask,'#pakInTask');
                    getColor(res.data.pakOutTask,'#pakOutTask');
                    getColor(res.data.pakMoveTask,'#pakMoveTask');
@@ -477,8 +485,6 @@
                    getColor(res.data.goOHpAvoidFinish,'#goOHpAvoidFinish');
                    getColor(res.data.goHpAvoidErr,'#goHpAvoidErr');
                    getColor(res.data.goOHpAvoidErr,'#goOHpAvoidErr');
                    // getColor(res.data.autoMode,'#autoMode');
                    // getColor(res.data.voltageLow,'#voltageLow');
                })
            },
            end: function () {
@@ -495,36 +501,6 @@
            $(e).attr("style", "color: #00FF00;");
        }
    }
    // $(document).on('click ','.mode-btn', function () {
    //     let shuttleNo = Number($(this).parent().attr("data-shuttleNo"));
    //     layer.confirm("改变" + shuttleNo + ' 号穿梭车在线状态吗?', function(){
    //         var index = layer.load(1, {
    //             shade: [0.1,'#fff']
    //         });
    //         $.ajax({
    //             url: baseUrl+ "/shuttle/mode/switch",
    //             headers: {'token': localStorage.getItem('token')},
    //             data: {
    //                 shuttleNo: Number(shuttleNo),
    //                 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+ "/shuttle/detl/update", {
@@ -653,6 +629,11 @@
                        setVal(tr.children("td").eq(9), table[i-1].pakMk);
                        setVal(tr.children("td").eq(10), table[i-1].locNo);
                        setVal(tr.children("td").eq(11), table[i-1].lev);
                        if (table[i-1].shuttleNo == parseInt($('input[name="shuttleSelect"]:checked').val())) {
                            $("#runSpeedText").text(table[i-1].runSpeed)
                            $("#chargeLineText").text(table[i-1].chargeLine + "%")
                        }
                    }
                } else if (res.code === 403){
                    window.location.href = baseUrl+"/login";
@@ -777,4 +758,26 @@
        shuttleOutputDom.scrollTop = shuttleOutputDom.scrollHeight;
    }
    //四向穿梭车配置参数保存
    function shuttleParamSave() {
        $.ajax({
            url: baseUrl+ "/shuttle/runSpeed/" + $('input[name="shuttleSelect"]:checked').val(),
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            data: {
                runSpeed: $("#runSpeed").val(),
                chargeLine: $("#chargeLine").val(),
            },
            success: function (res) {
                if (res.code === 200){
                    layer.msg("配置已保存", {icon: 1,});
                } else if (res.code === 403){
                    window.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
</script>