<!DOCTYPE html> 
 | 
<html lang="en"> 
 | 
  
 | 
<head> 
 | 
    <meta charset="UTF-8"> 
 | 
    <title>RGV设备</title> 
 | 
    <link rel="stylesheet" href="../../static/css/element.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> 
 | 
    <script type="text/javascript" src="../../static/js/vue.min.js"></script> 
 | 
    <script type="text/javascript" src="../../static/js/element.js"></script> 
 | 
</head> 
 | 
  
 | 
<body> 
 | 
    <div id="app" style="display: flex;justify-content: center;flex-wrap: wrap;"> 
 | 
        <div style="width: 100%;"> 
 | 
            <el-table border ref="singleTable" :data="tableData" highlight-current-row @row-click="handleRowClick" 
 | 
                max-height="350" style="width: 100%"> 
 | 
                <el-table-column property="rgvNo" label="RGV号"> 
 | 
                </el-table-column> 
 | 
                <el-table-column property="workNo1" label="工作号"> 
 | 
                </el-table-column> 
 | 
                <el-table-column property="statusType" label="模式"> 
 | 
                </el-table-column> 
 | 
                <el-table-column property="status" label="任务状态"> 
 | 
                </el-table-column> 
 | 
                <el-table-column property="walkPos" label="设备状态"> 
 | 
                </el-table-column> 
 | 
                <el-table-column property="pakMk" 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"  v-if="rgvMode !== 2 && rgvMode !== 1 "> 
 | 
<!--                            <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-button @click="initiate" type="warning">执行任务</el-button> 
 | 
                            </el-form-item> 
 | 
                        </el-form> 
 | 
  
 | 
                        <div v-if="rgvMode === 2 "> 
 | 
                            <el-form :model="formParamD" label-position="top" :inline="true" class="demo-form-inline"> 
 | 
                                <el-form-item label="起始站"> 
 | 
                                    <el-input v-model="formParamD.sourceRow" placeholder="起始站"></el-input> 
 | 
                                </el-form-item> 
 | 
                                <el-form-item label="目标站"> 
 | 
                                    <el-input v-model="formParamD.sourceBay" placeholder="目标站"></el-input> 
 | 
                                </el-form-item> 
 | 
                                <el-form-item label="启动"> 
 | 
                                    <el-button @click="initiateD(1)" type="warning">取货</el-button> 
 | 
                                    <el-button @click="initiateD(2)" type="warning">放货</el-button> 
 | 
                                    <el-button @click="initiateD(3)" type="warning">XY移动</el-button> 
 | 
                                </el-form-item> 
 | 
                            </el-form> 
 | 
                        </div> 
 | 
                        <div  v-if="demo === 'N' "> 
 | 
                            <el-button v-if="rgvMode === 0 " type="danger">未知</el-button> 
 | 
                            <el-button v-if="rgvMode === -1 " type="danger">未知</el-button> 
 | 
                            <el-button v-if="rgvMode === 3 " type="primary">联机</el-button> 
 | 
                            <el-button v-if="rgvMode === 2 " type="primary">单机</el-button> 
 | 
                            <el-button v-if="rgvMode === 1 " type="warning">手动</el-button> 
 | 
                        </div> 
 | 
                        <div  v-if="rgvMode !== 0 "> 
 | 
                            <div style="margin: 10px auto 10px auto"> 
 | 
                                <el-button v-if="demo === 'N' " @click="demos('true')" type="info">演示</el-button> 
 | 
                                <el-button v-if="demo === 'Y' " @click="demos('false')" type="info">取消演示</el-button> 
 | 
                            </div> 
 | 
                            <div style="margin: 10px auto 10px auto" v-if="demo === 'N' "> 
 | 
                                <el-button v-if="rgvMode !== 3 " @click="rgvStatus(15)" type="primary">联机</el-button> 
 | 
                                <el-button v-if="rgvMode !== 2 " @click="rgvStatus(14)" type="primary">单机</el-button> 
 | 
                                <el-button v-if="rgvMode !== 1 " @click="rgvStatus(12)" type="warning">手动</el-button> 
 | 
                            </div> 
 | 
                            <div style="margin: 10px auto 10px auto" v-if="demo === 'N' "> 
 | 
                                <el-button @click="rgvStatus(8)" type="primary">启动</el-button> 
 | 
                                <el-button @click="rgvStatus(9)" type="primary">停止</el-button> 
 | 
                                <el-button @click="rgvStatus(11)" type="primary">复位按钮</el-button> 
 | 
                            </div> 
 | 
                            <div style="margin: 10px auto 10px auto" v-if="demo === 'N' "> 
 | 
                                <el-button @click="rgvStatus(7)" type="warning">报警消音</el-button> 
 | 
                                <el-button v-if="rgvMode === 1 " @click="rgvStatus(13)" type="warning">手动定位</el-button> 
 | 
                            </div> 
 | 
                            <div style="margin: 10px auto 10px auto" v-if="demo === 'N' "> 
 | 
                                <el-button :style="" @click="rgvStatus(5)" type="danger">强制启动</el-button> 
 | 
                                <el-button @click="rgvStatus(10)" type="danger">急停</el-button> 
 | 
                                <el-button @click="rgvStatus(16)" type="danger">货叉定位回中</el-button> 
 | 
                            </div> 
 | 
                            <div style="margin-top: 5px" v-if="demo === 'Y'"> 
 | 
                                <el-button  @click="staTova(2,1)" type="warning">输送-置换1</el-button> 
 | 
                                <el-button  @click="staTova(2,3)" type="warning">输送-置换2</el-button> 
 | 
                                <el-button  @click="staTova(2,5)" type="warning">输送-置换3</el-button> 
 | 
                                <el-button  @click="staTova(2,7)" type="warning">输送-置换4</el-button> 
 | 
                            </div> 
 | 
                            <div style="margin-top: 5px" v-if="demo === 'Y'"> 
 | 
                                <el-button  @click="staTova(2,4)" type="warning">输送-灌装1</el-button> 
 | 
                                <el-button  @click="staTova(2,6)" type="warning">输送-灌装2</el-button> 
 | 
                                <el-button  @click="staTova(2,8)" type="warning">输送-灌装3</el-button> 
 | 
                            </div> 
 | 
                            <div style="margin-top: 5px" v-if="demo === 'Y'"> 
 | 
                                <el-button  @click="staTova(1,10)" type="warning">置换1-放货</el-button> 
 | 
                                <el-button  @click="staTova(2,10)" type="warning">置换2-放货</el-button> 
 | 
                                <el-button  @click="staTova(3,10)" type="warning">置换3-放货</el-button> 
 | 
                                <el-button  @click="staTova(4,10)" type="warning">置换4-放货</el-button> 
 | 
                            </div> 
 | 
                        </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="RGV">{{ tableData[currentIndex].rgvNo }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="工作号"> 
 | 
                                    {{ tableData[currentIndex].workNo1 }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="模式"> 
 | 
                                    <el-tag>{{ tableData[currentIndex].statusType }}</el-tag> 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="任务状态"> 
 | 
  
 | 
                                        <el-tag>{{ tableData[currentIndex].status}}</el-tag> 
 | 
  
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="设备状态"> 
 | 
                                    <el-tag>{{ tableData[currentIndex].walkPos }}</el-tag> 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="故障代码">{{ tableData[currentIndex].warnCode }} 
 | 
                                </el-descriptions-item> 
 | 
                                <el-descriptions-item label="故障描述">{{ tableData[currentIndex].alarm }} 
 | 
                                </el-descriptions-item> 
 | 
<!--                                <el-descriptions-item label="源站">{{ tableData[currentIndex].staNo }}--> 
 | 
<!--                                </el-descriptions-item>--> 
 | 
<!--                                <el-descriptions-item label="目标站">{{ tableData[currentIndex].sourceStaNo }}--> 
 | 
<!--                                </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: { 
 | 
                    rgvNo: null, 
 | 
                    sourceStaNo: null, 
 | 
                    sourceRow: 1, 
 | 
                    sourceBay: 0, 
 | 
                    sourceLev: 1, 
 | 
                    staNo: null, 
 | 
                    row: 1, 
 | 
                    bay: 0, 
 | 
                    lev: 1, 
 | 
                    barcode:null, 
 | 
                    barcodeType:null, 
 | 
                    emptyContainer:null 
 | 
                }, 
 | 
                formParamD: { 
 | 
                    rgvNo: null, 
 | 
                    sourceStaNo: null, 
 | 
                    sourceRow: 1, 
 | 
                    sourceBay: 0, 
 | 
                    sourceLev: 1, 
 | 
                    staNo: null, 
 | 
                    row: 1, 
 | 
                    bay: 0, 
 | 
                    lev: 1, 
 | 
                    barcode:null, 
 | 
                    barcodeType:null, 
 | 
                    emptyContainer:null 
 | 
                }, 
 | 
                enableIn: false, 
 | 
                enableOut: false, 
 | 
                options:[ 
 | 
                    { 
 | 
                        value:'1', 
 | 
                        label:'是' 
 | 
                    }, 
 | 
                    { 
 | 
                        value:'0', 
 | 
                        label:'否' 
 | 
                    } 
 | 
                ], 
 | 
                demo: 'X', 
 | 
                rgvMode: 0 
 | 
            }, 
 | 
            created() { 
 | 
                this.init() 
 | 
            }, 
 | 
            watch: { 
 | 
  
 | 
            }, 
 | 
            methods: { 
 | 
                staTova(sta,end){ 
 | 
                    let that = this 
 | 
                    that.$confirm('此操作存在风险,是否继续','提示',{ 
 | 
                        confirmButtonText: '确定', 
 | 
                        cancelButtonText: '取消', 
 | 
                        type: 'warning' 
 | 
                    }).then(()=>{ 
 | 
                        $.ajax({ 
 | 
                            url: baseUrl + "/rgv/rgvDemoTask", 
 | 
                            headers: { 
 | 
                                'token': localStorage.getItem('token') 
 | 
                            }, 
 | 
                            data:{ 
 | 
                                rgvNo : this.formParam.rgvNo, 
 | 
                                sta : sta, 
 | 
                                end : end 
 | 
                            }, 
 | 
                            method: 'Get', 
 | 
                            success: function (res) { 
 | 
                                if (res.code == 200) { 
 | 
                                    that.$message({ 
 | 
                                        message: res.msg, 
 | 
                                        type: 'success' 
 | 
                                    }); 
 | 
                                } else { 
 | 
                                    that.$message({ 
 | 
                                        message: res.msg, 
 | 
                                        type: 'error' 
 | 
                                    }); 
 | 
                                } 
 | 
                            } 
 | 
                        }); 
 | 
                    }) 
 | 
                }, 
 | 
                init() { 
 | 
                    this.getTableData() 
 | 
  
 | 
                    setInterval(() => { 
 | 
                        this.getTableData() 
 | 
                        this.demoStatus() 
 | 
                    }, 1000) 
 | 
                }, 
 | 
                handleRowClick(row, col, event) { 
 | 
                    const index = this.tableData.indexOf(row) 
 | 
                    this.currentRow = row; 
 | 
                    this.currentIndex = index 
 | 
                    this.currentTitle = row.rgvNo + "号RGV" 
 | 
                    this.formParam.rgvNo = row.rgvNo 
 | 
                    this.enableIn = row.inEnable == "Y" ? true : false 
 | 
                    this.enableOut = row.outEnable == "Y" ? true : false 
 | 
                }, 
 | 
                getTableData() { 
 | 
                    let that = this; 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/rgv/table/rgv/state", 
 | 
                        headers: { 
 | 
                            'token': localStorage.getItem('token') 
 | 
                        }, 
 | 
                        data: {}, 
 | 
                        dataType: 'json', 
 | 
                        contentType: 'application/json;charset=UTF-8', 
 | 
                        method: 'post', 
 | 
                        success: function (res) { 
 | 
                            that.tableData = res.data 
 | 
                        } 
 | 
                    }); 
 | 
                }, 
 | 
                demoStatus() { 
 | 
                    let that = this; 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/rgv/demo/status", 
 | 
                        data:{ 
 | 
                            rgvNo : this.formParam.rgvNo 
 | 
                        }, 
 | 
                        headers: { 
 | 
                            'token': localStorage.getItem('token') 
 | 
                        }, 
 | 
                        contentType: 'application/json;charset=UTF-8', 
 | 
                        method: 'get', 
 | 
                        success: function (res) { 
 | 
                            // console.log(res) 
 | 
                            that.demo = res.data.demo 
 | 
                            that.rgvMode = res.data.rgvMode 
 | 
                        } 
 | 
                    }); 
 | 
                }, 
 | 
                initiate(){ 
 | 
                    let that = this 
 | 
                    that.$confirm('此操作存在风险,是否继续','提示',{ 
 | 
                        confirmButtonText: '确定', 
 | 
                        cancelButtonText: '取消', 
 | 
                        type: 'warning' 
 | 
                    }).then(()=>{ 
 | 
                        $.ajax({ 
 | 
                            url: baseUrl + "/rgv/operator/put", 
 | 
                            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' 
 | 
                                    }); 
 | 
                                } 
 | 
                            } 
 | 
                        }); 
 | 
                    }) 
 | 
                }, 
 | 
                initiateD(method){ 
 | 
                    let urlS = "/rgv/operator/single/step/three/put"; 
 | 
                    if (method===1){ 
 | 
                        urlS = "/rgv/operator/single/step/one/put"; 
 | 
                    }else if (method === 2){ 
 | 
                        urlS = "/rgv/operator/single/step/two/put"; 
 | 
                    }else if (method === 3){ 
 | 
                        urlS = "/rgv/operator/single/step/three/put"; 
 | 
                    } 
 | 
                    let that = this 
 | 
                    that.$confirm('此操作存在风险,是否继续','提示',{ 
 | 
                        confirmButtonText: '确定', 
 | 
                        cancelButtonText: '取消', 
 | 
                        type: 'warning' 
 | 
                    }).then(()=>{ 
 | 
                        $.ajax({ 
 | 
                            url: baseUrl + urlS, 
 | 
                            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' 
 | 
                                    }); 
 | 
                                } 
 | 
                            } 
 | 
                        }); 
 | 
                    }) 
 | 
                }, 
 | 
                demos(method){ 
 | 
                    let that = this 
 | 
                    that.$confirm('此操作存在风险,是否继续','提示',{ 
 | 
                        confirmButtonText: '确定', 
 | 
                        cancelButtonText: '取消', 
 | 
                        type: 'warning' 
 | 
                    }).then(()=>{ 
 | 
                        $.ajax({ 
 | 
                            url: baseUrl + "/rgv/demo/status/" + method, 
 | 
                            headers: { 
 | 
                                'token': localStorage.getItem('token') 
 | 
                            }, 
 | 
                            data:{ 
 | 
                                rgvNo : this.formParam.rgvNo 
 | 
                            }, 
 | 
                            method: 'Get', 
 | 
                            success: function (res) { 
 | 
                                if (res.code == 200) { 
 | 
                                    that.$message({ 
 | 
                                        message: res.msg, 
 | 
                                        type: 'success' 
 | 
                                    }); 
 | 
                                } else { 
 | 
                                    that.$message({ 
 | 
                                        message: res.msg, 
 | 
                                        type: 'error' 
 | 
                                    }); 
 | 
                                } 
 | 
                            } 
 | 
                        }); 
 | 
                    }) 
 | 
                }, 
 | 
                rgvStatus(method){ 
 | 
                    let that = this 
 | 
                    that.$confirm('此操作存在风险,是否继续','提示',{ 
 | 
                        confirmButtonText: '确定', 
 | 
                        cancelButtonText: '取消', 
 | 
                        type: 'warning' 
 | 
                    }).then(()=>{ 
 | 
                        $.ajax({ 
 | 
                            url: baseUrl + "/rgv/demo/status/rgvStatus", 
 | 
                            headers: { 
 | 
                                'token': localStorage.getItem('token') 
 | 
                            }, 
 | 
                            data:{ 
 | 
                                rgvNo : this.formParam.rgvNo, 
 | 
                                status : Number(method) 
 | 
                            }, 
 | 
                            method: 'Get', 
 | 
                            success: function (res) { 
 | 
                                if (res.code == 200) { 
 | 
                                    that.$message({ 
 | 
                                        message: res.msg, 
 | 
                                        type: 'success' 
 | 
                                    }); 
 | 
                                } else { 
 | 
                                    that.$message({ 
 | 
                                        message: res.msg, 
 | 
                                        type: 'error' 
 | 
                                    }); 
 | 
                                } 
 | 
                            } 
 | 
                        }); 
 | 
                    }) 
 | 
                }, 
 | 
                requestOperate(method) { 
 | 
                    let that = this 
 | 
                    that.$confirm('此操作存在风险,是否继续','提示',{ 
 | 
                        confirmButtonText: '确定', 
 | 
                        cancelButtonText: '取消', 
 | 
                        type: 'warning' 
 | 
                    }).then(()=>{ 
 | 
                        $.ajax({ 
 | 
                            url: baseUrl + "/rgv/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", 
 | 
                            rgvNo: this.formParam.rgvNo 
 | 
                        } 
 | 
                    } else { 
 | 
                        param = { 
 | 
                            outEnable: this.enableOut ? "Y" : "N", 
 | 
                            rgvNo: this.formParam.rgvNo 
 | 
                        } 
 | 
                    } 
 | 
  
 | 
                    $.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> 
 |