<!DOCTYPE html> 
 | 
<html lang="en"> 
 | 
  
 | 
<head> 
 | 
    <meta charset="UTF-8"> 
 | 
    <title>堆垛机设备</title> 
 | 
    <link rel="stylesheet" href="../../static/wcs/css/element.css"> 
 | 
    <script type="text/javascript" src="../../static/wcs/js/jquery/jquery-3.3.1.min.js"></script> 
 | 
    <script type="text/javascript" src="../../static/wcs/js/common.js"></script> 
 | 
    <script type="text/javascript" src="../../static/wcs/js/vue.min.js"></script> 
 | 
    <script type="text/javascript" src="../../static/wcs/js/element.js"></script> 
 | 
</head> 
 | 
  
 | 
<body> 
 | 
    <div id="app" style="display: flex;justify-content: center;flex-wrap: wrap;"> 
 | 
        <div style="width: 100%;"> 
 | 
            <el-table ref="singleTable" :data="tableData" highlight-current-row @row-click="handleRowClick" 
 | 
                max-height="350" style="width: 100%"> 
 | 
                <el-table-column property="crnNo" label="堆垛机"> 
 | 
                </el-table-column> 
 | 
                <el-table-column property="workNo" label="工作号"> 
 | 
                </el-table-column> 
 | 
                <el-table-column property="statusType" label="模式"> 
 | 
                </el-table-column> 
 | 
                <el-table-column property="wrkStatus$" label="任务状态"> 
 | 
                </el-table-column> 
 | 
                <el-table-column property="deviceStatus" label="设备状态"> 
 | 
                </el-table-column> 
 | 
            </el-table> 
 | 
        </div> 
 | 
  
 | 
        <div style="width: 100%;display: flex;justify-content: center;margin-top: 10px;"> 
 | 
            <div style="width: 55%;margin-right: 10px;"> 
 | 
                <el-card class="box-card"> 
 | 
                    <div slot="header" class="clearfix"> 
 | 
                        <span>设备调试</span> 
 | 
                    </div> 
 | 
                    <div> 
 | 
                        <el-form :model="formParam" label-position="top" :inline="true" class="demo-form-inline"> 
 | 
                            <el-form-item label="源站/源库位"> 
 | 
                                <el-input v-model="formParam.sourceStaNo" placeholder="源站/源库位"></el-input> 
 | 
                            </el-form-item> 
 | 
                            <el-form-item label="排"> 
 | 
                                <el-input v-model="formParam.sourceRow" placeholder="排"></el-input> 
 | 
                            </el-form-item> 
 | 
                            <el-form-item label="列"> 
 | 
                                <el-input v-model="formParam.sourceBay" placeholder="列"></el-input> 
 | 
                            </el-form-item> 
 | 
                            <el-form-item label="层"> 
 | 
                                <el-input v-model="formParam.sourceLev" placeholder="层"></el-input> 
 | 
                            </el-form-item> 
 | 
                        </el-form> 
 | 
                        <el-form :model="formParam" label-position="top" :inline="true" class="demo-form-inline"> 
 | 
                            <el-form-item label="目标站/目标库位"> 
 | 
                                <el-input v-model="formParam.staNo" placeholder="目标站/目标库位"></el-input> 
 | 
                            </el-form-item> 
 | 
                            <el-form-item label="排"> 
 | 
                                <el-input v-model="formParam.row" placeholder="排"></el-input> 
 | 
                            </el-form-item> 
 | 
                            <el-form-item label="列"> 
 | 
                                <el-input v-model="formParam.bay" placeholder="列"></el-input> 
 | 
                            </el-form-item> 
 | 
                            <el-form-item label="层"> 
 | 
                                <el-input v-model="formParam.lev" placeholder="层"></el-input> 
 | 
                            </el-form-item> 
 | 
                        </el-form> 
 | 
                        <el-form label-position="top" :inline="true" class="demo-form-inline"> 
 | 
                            <el-form-item label=""> 
 | 
                                <el-checkbox @change="updateEnableInOut('in')" v-model="enableIn">可入</el-checkbox> 
 | 
                            </el-form-item> 
 | 
                            <el-form-item label=""> 
 | 
                                <el-checkbox @change="updateEnableInOut('out')" v-model="enableOut">可出</el-checkbox> 
 | 
                            </el-form-item> 
 | 
                        </el-form> 
 | 
                        <div> 
 | 
                            <el-button @click="requestOperate('put')" type="primary">入库</el-button> 
 | 
                            <el-button @click="requestOperate('take')" type="primary">出库</el-button> 
 | 
                            <el-button @click="requestOperate('stockMove')" type="primary">库位转移</el-button> 
 | 
                            <el-button @click="requestOperate('siteMove')" type="primary">站到站</el-button> 
 | 
                            <el-button @click="requestOperate('taskComplete')" type="primary">任务完成</el-button> 
 | 
                            <el-button @click="requestOperate('clearCommand')" type="primary">清除命令</el-button> 
 | 
                            <el-button @click="requestOperate('reset')" type="primary">复位</el-button> 
 | 
                            <br/> 
 | 
                            <br/> 
 | 
                            <el-button @click="requestOperate('auto')" type="warning">联机</el-button> 
 | 
                            <el-button @click="requestOperate('semiAutomatic')" type="warning">半自动</el-button> 
 | 
                            <el-button @click="requestOperate('hand')" type="warning">手动</el-button> 
 | 
                            <el-button @click="requestOperate('onlineWrk4')" type="warning">恢复联机任务</el-button> 
 | 
                            <el-button @click="requestOperate('onlineWrk3')" type="warning">清除联机任务</el-button> 
 | 
                            <el-button @click="requestOperate('onlineWrk1')" type="warning">申请完成任务</el-button> 
 | 
                            <br/> 
 | 
                            <br/> 
 | 
                            <el-button @click="requestOperate('onlineWrk2')" type="warning">申请取消任务</el-button> 
 | 
                        </div> 
 | 
                    </div> 
 | 
                </el-card> 
 | 
            </div> 
 | 
            <div style="width: 45%;"> 
 | 
                <el-card class="box-card"> 
 | 
                    <div slot="header" class="clearfix"> 
 | 
                        <span>设备状态</span> 
 | 
                    </div> 
 | 
                    <div> 
 | 
                        <div v-if="currentIndex == null"> 
 | 
                            <el-empty description="请选择设备"></el-empty> 
 | 
                        </div> 
 | 
                        <div v-else> 
 | 
                            <el-descriptions :title="currentTitle" direction="vertical" :column="4" border> 
 | 
                                <el-descriptions-item label="堆垛机">{{ tableData[currentIndex].crnNo }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="工作号"> 
 | 
                                    {{ tableData[currentIndex].workNo }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="模式"> 
 | 
                                    <el-tag>{{ tableData[currentIndex].statusType }}</el-tag> 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="任务状态"> 
 | 
                                    <div v-if="tableData[currentIndex].wrkStatus == 0"> 
 | 
                                        <el-tag>{{ tableData[currentIndex].wrkStatus$ }}</el-tag> 
 | 
                                    </div> 
 | 
                                    <div v-else> 
 | 
                                        <el-tag type="success">{{ tableData[currentIndex].wrkStatus$ }}</el-tag> 
 | 
                                    </div> 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="设备状态"> 
 | 
                                    <el-tag>{{ tableData[currentIndex].deviceStatus }}</el-tag> 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="有物"> 
 | 
                                    <el-tag>{{ tableData[currentIndex].loading }}</el-tag> 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="列">{{ tableData[currentIndex].bay }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="层">{{ tableData[currentIndex].lev }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="故障代码">{{ tableData[currentIndex].warnCode }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="故障描述">{{ tableData[currentIndex].lev }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="源站">{{ tableData[currentIndex].sourceStaNo }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="目标站">{{ tableData[currentIndex].staNo }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="源库位">{{ tableData[currentIndex].sourceLocNo }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="目标库位">{{ tableData[currentIndex].locNo }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="货叉定位">{{ tableData[currentIndex].forkOffset }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="载货台定位">{{ tableData[currentIndex].liftPos }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="走行在定位">{{ tableData[currentIndex].walkPos }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="走行速度(m/min)">{{ tableData[currentIndex].xspeed }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="升降速度(m/min)">{{ tableData[currentIndex].yspeed }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="叉牙速度(m/min)">{{ tableData[currentIndex].zspeed }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="走行距离(Km)">{{ tableData[currentIndex].xdistance }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="升降距离(Km)">{{ tableData[currentIndex].ydistance }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="走行时长(H)">{{ tableData[currentIndex].xduration }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="升降时长(H)">{{ tableData[currentIndex].yduration }} 
 | 
                                </el-descriptions-item> 
 | 
                            </el-descriptions> 
 | 
                        </div> 
 | 
                    </div> 
 | 
                </el-card> 
 | 
            </div> 
 | 
        </div> 
 | 
    </div> 
 | 
    <script> 
 | 
        var app = new Vue({ 
 | 
            el: '#app', 
 | 
            data: { 
 | 
                tableData: [], 
 | 
                currentRow: null, 
 | 
                currentTitle: "未选择设备", 
 | 
                currentIndex: null, 
 | 
                formParam: { 
 | 
                    crnNo: null, 
 | 
                    sourceStaNo: null, 
 | 
                    sourceRow: 1, 
 | 
                    sourceBay: 0, 
 | 
                    sourceLev: 1, 
 | 
                    staNo: null, 
 | 
                    row: 1, 
 | 
                    bay: 0, 
 | 
                    lev: 1 
 | 
                }, 
 | 
                enableIn: false, 
 | 
                enableOut: false 
 | 
            }, 
 | 
            created() { 
 | 
                this.init() 
 | 
            }, 
 | 
            watch: { 
 | 
  
 | 
            }, 
 | 
            methods: { 
 | 
                init() { 
 | 
                    this.getTableData() 
 | 
  
 | 
                    setInterval(() => { 
 | 
                        this.getTableData() 
 | 
                    }, 1000) 
 | 
                }, 
 | 
                handleRowClick(row, col, event) { 
 | 
                    const index = this.tableData.indexOf(row) 
 | 
                    this.currentRow = row; 
 | 
                    this.currentIndex = index 
 | 
                    this.currentTitle = row.crnNo + "号堆垛机" 
 | 
                    this.formParam.crnNo = row.crnNo 
 | 
                    this.enableIn = row.inEnable == "Y" ? true : false 
 | 
                    this.enableOut = row.outEnable == "Y" ? true : false 
 | 
                }, 
 | 
                getTableData() { 
 | 
                    let that = this; 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/crn/list/auth", 
 | 
                        headers: { 
 | 
                            'token': localStorage.getItem('token') 
 | 
                        }, 
 | 
                        data: {}, 
 | 
                        dataType: 'json', 
 | 
                        contentType: 'application/json;charset=UTF-8', 
 | 
                        method: 'GET', 
 | 
                        success: function (res) { 
 | 
                            that.tableData = res.data 
 | 
                        } 
 | 
                    }); 
 | 
                }, 
 | 
                requestOperate(method) { 
 | 
                    let that = this 
 | 
                    that.$confirm('此操作存在风险,是否继续','提示',{ 
 | 
                        confirmButtonText: '确定', 
 | 
                        cancelButtonText: '取消', 
 | 
                        type: 'warning' 
 | 
                    }).then(()=>{ 
 | 
                        $.ajax({ 
 | 
                            url: baseUrl + "/crn/operator/" + method, 
 | 
                            headers: { 
 | 
                                'token': localStorage.getItem('token') 
 | 
                            }, 
 | 
                            data: this.formParam, 
 | 
                            method: 'POST', 
 | 
                            success: function (res) { 
 | 
                                if (res.code == 200) { 
 | 
                                    that.$message({ 
 | 
                                        message: res.msg, 
 | 
                                        type: 'success' 
 | 
                                    }); 
 | 
                                } else { 
 | 
                                    that.$message({ 
 | 
                                        message: res.msg, 
 | 
                                        type: 'error' 
 | 
                                    }); 
 | 
                                } 
 | 
                            } 
 | 
                        }); 
 | 
                    }) 
 | 
  
 | 
                }, 
 | 
                updateEnableInOut(type) { 
 | 
                    let that = this 
 | 
                    let param = {} 
 | 
                    if (type == "in") { 
 | 
                        param = { 
 | 
                            inEnable: this.enableIn ? "Y" : "N", 
 | 
                            crnNo: this.formParam.crnNo 
 | 
                        } 
 | 
                    } else { 
 | 
                        param = { 
 | 
                            outEnable: this.enableOut ? "Y" : "N", 
 | 
                            crnNo: this.formParam.crnNo 
 | 
                        } 
 | 
                    } 
 | 
  
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/basCrnp/update/auth", 
 | 
                        headers: { 
 | 
                            'token': localStorage.getItem('token') 
 | 
                        }, 
 | 
                        data: param, 
 | 
                        method: 'POST', 
 | 
                        success: function (res) { 
 | 
                            if (res.code == 200) { 
 | 
                                that.$message({ 
 | 
                                    message: res.msg, 
 | 
                                    type: 'success' 
 | 
                                }); 
 | 
                            } else { 
 | 
                                that.$message({ 
 | 
                                    message: res.msg, 
 | 
                                    type: 'error' 
 | 
                                }); 
 | 
                            } 
 | 
                        } 
 | 
                    }); 
 | 
                } 
 | 
            } 
 | 
        }) 
 | 
    </script> 
 | 
</body> 
 | 
  
 | 
</html> 
 |