zjj
2024-04-23 acacdfa1b6b5dc0ac0c444c53fcbd05f8552ff3c
src/main/webapp/views/deviceOperate/rgvOperate.html
@@ -3,7 +3,7 @@
<head>
   <meta charset="UTF-8">
   <title>堆垛机设备</title>
   <title>RGV设备</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>
@@ -26,6 +26,8 @@
            </el-table-column>
            <el-table-column property="walkPos" label="设备状态">
            </el-table-column>
            <el-table-column property="pakMk" label="锁定状态">
            </el-table-column>
         </el-table>
      </div>
@@ -40,76 +42,37 @@
<!--                     <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 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 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 label="启动">
                        <el-button @click="initiate" type="warning">执行任务</el-button>
                     </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 :model="formParam" label-position="top" :inline="true" class="demo-form-inline">
                     <el-form-item label="托盘码">
                        <el-input v-model="formParam.barcode" placeholder="条码"></el-input>
                     </el-form-item>
                     <el-form-item label="托盘类型">
                        <el-input v-model="formParam.barcodeType" placeholder="类型"></el-input>
                     </el-form-item>
                     <el-form-item label="空托盘">
                        <el-select v-model="formParam.emptyContainer" placeholder="是否为空托盘">
                           <el-option
                                 v-for="item in options"
                                 :key="item.value"
                                 :label="item.label"
                                 :value="item.value">
                           </el-option>
                        </el-select>
                     </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>
                     <el-button v-if="demo === 'N' " @click="demos('true')" type="warning">演示</el-button>
                     <el-button v-if="demo === 'Y' " @click="demos('false')" type="warning">取消演示</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>
            </el-card>
@@ -125,7 +88,7 @@
                  </div>
                  <div v-else>
                     <el-descriptions :title="currentTitle" direction="vertical" :column="4" border>
                        <el-descriptions-item label="堆垛机">{{ tableData[currentIndex].rgvNo }}
                        <el-descriptions-item label="RGV">{{ tableData[currentIndex].rgvNo }}
                        </el-descriptions-item>
                        <el-descriptions-item label="工作号">
                           {{ tableData[currentIndex].workNo1 }}
@@ -134,28 +97,23 @@
                           <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].status}}</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].walkPos }}</el-tag>
                        </el-descriptions-item>
                        <el-descriptions-item label="有物">
                           <el-tag>{{ tableData[currentIndex].loading1 }}</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].sourceStaNo }}
                        </el-descriptions-item>
                        <el-descriptions-item label="目标站">{{ tableData[currentIndex].staNo }}
                        </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>
@@ -171,7 +129,7 @@
            currentTitle: "未选择设备",
            currentIndex: null,
            formParam: {
               crnNo: null,
               rgvNo: null,
               sourceStaNo: null,
               sourceRow: 1,
               sourceBay: 0,
@@ -195,7 +153,8 @@
                  value:'0',
                  label:'否'
               }
            ]
            ],
            demo: 'X'
         },
         created() {
            this.init()
@@ -204,19 +163,54 @@
         },
         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.crnNo + "号堆垛机"
               this.formParam.crnNo = row.crnNo
               this.currentTitle = row.rgvNo + "号RGV"
               this.formParam.rgvNo = row.rgvNo
               this.enableIn = row.inEnable == "Y" ? true : false
               this.enableOut = row.outEnable == "Y" ? true : false
            },
@@ -236,6 +230,86 @@
                  }
               });
            },
            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) {
                     that.demo = res.msg
                  }
               });
            },
            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'
                           });
                        }
                     }
                  });
               })
            },
            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'
                           });
                        }
                     }
                  });
               })
            },
            requestOperate(method) {
               let that = this
               that.$confirm('此操作存在风险,是否继续','提示',{
@@ -244,7 +318,7 @@
                  type: 'warning'
               }).then(()=>{
                  $.ajax({
                     url: baseUrl + "/crn/operator/" + method,
                     url: baseUrl + "/rgv/operator/" + method,
                     headers: {
                        'token': localStorage.getItem('token')
                     },
@@ -273,12 +347,12 @@
               if (type == "in") {
                  param = {
                     inEnable: this.enableIn ? "Y" : "N",
                     crnNo: this.formParam.crnNo
                     rgvNo: this.formParam.rgvNo
                  }
               } else {
                  param = {
                     outEnable: this.enableOut ? "Y" : "N",
                     crnNo: this.formParam.crnNo
                     rgvNo: this.formParam.rgvNo
                  }
               }