<template>
|
<div class="title">
|
<el-row :gutter="20" style="height:85%">
|
<el-col :span="8">
|
<span style="position: relative; top: 100px;left: 30px;">
|
<h4>一楼设备监控</h4>
|
</span>
|
<el-row :gutter="20" style="height:1000px">
|
<el-col :span="8">
|
<div>
|
<div v-for="(group, index) in groupedLines(linescopy7)" :key="index">
|
<div class="positionY-group">
|
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition"
|
url="api/Equipment/GetLineInfoByNo" />
|
</div>
|
</div>
|
<div style="margin-top: 118px;"></div>
|
<div v-for="(group, index) in groupedLines(linescopy8)" :key="index">
|
<div class="positionY-group">
|
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition"
|
url="api/Equipment/GetLineInfoByNo" />
|
</div>
|
</div>
|
<div style="margin-top: 115px;"></div>
|
<div v-for="(group, index) in groupedLines(linescopy9)" :key="index">
|
<div class="positionY-group">
|
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition"
|
url="api/Equipment/GetLineInfoByNo" />
|
</div>
|
</div>
|
<div style="margin-top: 112px;"></div>
|
<div v-for="(group, index) in groupedLines(linescopy10)" :key="index">
|
<div class="positionY-group">
|
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition" />
|
</div>
|
</div>
|
<div style="margin-top: 109px;"></div>
|
<div v-for="(group, index) in groupedLines(linescopy11)" :key="index">
|
<div class="positionY-group">
|
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition" />
|
</div>
|
</div>
|
<div style="margin-top: 107px;"></div>
|
<div v-for="(group, index) in groupedLines(linescopy12)" :key="index">
|
<div class="positionY-group">
|
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition" />
|
</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="line-container">
|
<div class="RGVline"></div>
|
<div :class="updateRGVOne()" :style="{ transform: `translateY(${1280-RGV01.LevelPoint*0.00303627639+50}px)` }"
|
@click="mouseClickRGVFirst">1</div>
|
<div :class="updateRGVTwo()" :style="{ transform: `translateY(${1280-RGV02.LevelPoint*0.00374041519+100}px)` }" @click="mouseClickSecond">2
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div>
|
<div v-for="(group, index) in groupedLines(linescopy1)" :key="index">
|
<div class="positionY-group">
|
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition"
|
url="api/Equipment/GetLineInfoByNo" />
|
</div>
|
</div>
|
<div style="margin-top: 118px;"></div>
|
<div v-for="(group, index) in groupedLines(linescopy2)" :key="index">
|
<div class="positionY-group">
|
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition"
|
url="api/Equipment/GetLineInfoByNo" />
|
</div>
|
</div>
|
<div style="margin-top: 115px;"></div>
|
<div v-for="(group, index) in groupedLines(linescopy3)" :key="index">
|
<div class="positionY-group">
|
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition"
|
url="api/Equipment/GetLineInfoByNo" />
|
</div>
|
</div>
|
<div style="margin-top: 112px;"></div>
|
<div v-for="(group, index) in groupedLines(linescopy4)" :key="index">
|
<div class="positionY-group">
|
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition" />
|
</div>
|
</div>
|
<div style="margin-top: 109px;"></div>
|
<div v-for="(group, index) in groupedLines(linescopy5)" :key="index">
|
<div class="positionY-group">
|
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition" />
|
</div>
|
</div>
|
<div style="margin-top: 107px;"></div>
|
<div v-for="(group, index) in groupedLines(linescopy6)" :key="index">
|
<div class="positionY-group">
|
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition" />
|
</div>
|
</div>
|
</div>
|
</el-col>
|
</el-row>
|
|
</el-col>
|
<el-col :span="8">
|
<!-- 堆垛机 -->
|
<div style="position: relative; top: 50px;">
|
<div class="stackerDiv">
|
<div class="stackDivName">一号堆垛机</div>
|
<LineComponent :x="xValue1" ref="stacker1" :equipNo="SC01"></LineComponent>
|
</div>
|
<el-divider></el-divider>
|
<div class="stackerDiv">
|
<div class="stackDivName">二号堆垛机</div>
|
<LineComponent :x="xValue2" ref="stacker2" :equipNo="SC02"></LineComponent>
|
</div>
|
<el-divider></el-divider>
|
<div class="stackerDiv">
|
<div class="stackDivName">三号堆垛机</div>
|
<LineComponent :x="xValue3" ref="stacker3" :equipNo="SC03"></LineComponent>
|
</div>
|
<el-divider></el-divider>
|
<div class="stackerDiv">
|
<div class="stackDivName">四号堆垛机</div>
|
<LineComponent :x="xValue4" ref="stacker4" :equipNo="SC04"></LineComponent>
|
</div>
|
<el-divider></el-divider>
|
<div class="stackerDiv">
|
<div class="stackDivName">五号堆垛机</div>
|
<LineComponent :x="xValue5" ref="stacker5" :equipNo="SC05"></LineComponent>
|
</div>
|
<el-divider></el-divider>
|
<div class="stackerDiv">
|
<div class="stackDivName">六号堆垛机</div>
|
<LineComponent :x="xValue6" ref="stacker6" :equipNo="SC06"></LineComponent>
|
</div>
|
</div>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" class="cardWidthrow">
|
<el-col :span="12">
|
<div>
|
<el-row :gutter="20" style="height:1000px;margin-top:10px;">
|
<span style="position: relative; top: 100px;left: 30px;">第二层</span>
|
<div>
|
<div v-for="(group, index) in groupedLines(linescopy13)" :key="index">
|
<div class="positionY-group">
|
<LineInfo v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition"
|
url="api/Equipment/GetLineInfoByNo" />
|
</div>
|
</div>
|
</div>
|
<div class="line-containerThird">
|
<div class="lineThird"></div>
|
<div :class="updateRGVThird()"
|
:style="{ transform: `translateX(${1280-RGV03.LevelPoint*0.003397667+200}px)`, marginTop: '3px' }"
|
@click="mouseClickThird">3</div>
|
</div>
|
<div style="margin-top:180px;margin-right:100px">
|
<div v-for="(group, index) in groupedLines(linescopy14)" :key="index">
|
<div class="positionY-group">
|
<LineInfo v-for="(line, lineIndex) in group.lines" :key="lineIndex"
|
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
|
:positionY="line.positionY" :condition="line.condition"
|
url="api/Equipment/GetLineInfoByNo" />
|
</div>
|
</div>
|
</div>
|
</el-row>
|
</div>
|
</el-col>
|
|
</el-row>
|
|
</div>
|
<el-dialog v-model="RGVFirst" title="RGV信息查看" :before-close="handleClose">
|
<el-form ref="$form" :model="StackerCrane" label-position="left" label-width="120px" size="medium">
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="设备编号:">
|
<j-el-description :value="RGV01.DeviceName" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="设备状态:">
|
<j-el-description :value="RGV01.Fault" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="工作模式:">
|
<j-el-description :value="RGV01.Automatic" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="任务号:">
|
<j-el-description :value="RGV01.CurrentTaskNum" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;">
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="作业状态:">
|
<j-el-description :value="RGV01.Running" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="当前水平位置:">
|
<j-el-description :value="RGV01.LevelPoint" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;">
|
<el-col :span="24" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="报警信息:">
|
<j-el-description :value="RGV01.Alarm" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-divider />
|
<h4 style="margin-bottom: 50px;">手动操作</h4>
|
<el-form ref="form" :model="formRGV" label-width="90px">
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="任务命令" prop="TargetAddress">
|
<el-select size="large" v-model="formRGV.TaskType" placeholder="请选择任务命令">
|
<el-option label="取定位" value="1" />
|
<el-option label="放定位" value="2" />
|
<el-option label="取货" value="3" />
|
<el-option label="放货" value="4" />
|
<el-option label="取放货" value="5" />
|
<el-option label="退回" value="6" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="取货位:">
|
<!-- <el-input size="large" v-model="formRGV.SourceAddress" style="width: 800px" placeholder="取货位" /> -->
|
<el-select size="large" v-model="formRGV.SourceAddress" placeholder="请选择取货位">
|
<el-option label="1037" value="1" />
|
<el-option label="1035" value="2" />
|
<el-option label="1033" value="3" />
|
<el-option label="1031" value="4" />
|
<el-option label="1023" value="5" />
|
<el-option label="1021" value="6" />
|
<el-option label="1019" value="8" />
|
<el-option label="1017" value="9" />
|
<el-option label="1011" value="11" />
|
<el-option label="1009" value="12" />
|
<el-option label="1007" value="13" />
|
<el-option label="1005" value="14" />
|
<el-option label="1030" value="15" />
|
<el-option label="1029" value="16" />
|
<el-option label="1028" value="17" />
|
<el-option label="1027" value="18" />
|
<el-option label="1016" value="19" />
|
<el-option label="1015" value="20" />
|
<el-option label="1014" value="21" />
|
<el-option label="1013" value="22" />
|
<el-option label="1040" value="23" />
|
<el-option label="1039" value="24" />
|
<el-option label="1004" value="25" />
|
<el-option label="1002" value="26" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="放货位:">
|
<!-- <el-input size="large" v-model="formRGV.TargetAddress" style="width: 800px" placeholder="放货位" /> -->
|
<el-select size="large" v-model="formRGV.TargetAddress" placeholder="请选择放货位">
|
<el-option label="1037" value="1" />
|
<el-option label="1035" value="2" />
|
<el-option label="1033" value="3" />
|
<el-option label="1031" value="4" />
|
<el-option label="1023" value="5" />
|
<el-option label="1021" value="6" />
|
<el-option label="1019" value="8" />
|
<el-option label="1017" value="9" />
|
<el-option label="1011" value="11" />
|
<el-option label="1009" value="12" />
|
<el-option label="1007" value="13" />
|
<el-option label="1005" value="14" />
|
<el-option label="1030" value="15" />
|
<el-option label="1029" value="16" />
|
<el-option label="1028" value="17" />
|
<el-option label="1027" value="18" />
|
<el-option label="1016" value="19" />
|
<el-option label="1015" value="20" />
|
<el-option label="1014" value="21" />
|
<el-option label="1013" value="22" />
|
<el-option label="1040" value="23" />
|
<el-option label="1039" value="24" />
|
<el-option label="1004" value="25" />
|
<el-option label="1002" value="26" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<el-divider />
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="primary" size="small" plain @click="SendCommand(RGV01.DeviceCode)">
|
<i class="el-icon-check">发送命令</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="warning" size="small" plain @click="RGVReset(RGV01.DeviceCode)">
|
<i class="el-icon-check">复位</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="danger" size="small" plain @click="RGVemergencyStop(RGV01.DeviceCode)">
|
<i class="el-icon-check">急停</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="danger" size="small" plain @click="RGVPause(RGV01.DeviceCode)">
|
<i class="el-icon-check">停止</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="danger" size="small" plain @click="RGVCancel(RGV01.DeviceCode)">
|
<i class="el-icon-check">取消任务</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="danger" size="small" plain @click="RGVInitialize(RGV01.DeviceCode)">
|
<i class="el-icon-check">工位初始化</i>
|
</el-button>
|
</el-col>
|
</el-row>
|
</el-form>
|
<template #footer>
|
<div class="dialog-footer">
|
<el-button @click="RGVFirst = false">取消</el-button>
|
<el-button type="primary" @click="RGVFirst = false">
|
确认
|
</el-button>
|
</div>
|
</template>
|
</el-dialog>
|
<el-dialog v-model="RGVSecond" title="RGV信息查看" :before-close="handleClose">
|
<el-form ref="$form" :model="StackerCrane" label-position="left" label-width="120px" size="medium">
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="设备编号:">
|
<j-el-description :value="RGV02.DeviceName" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="设备状态:">
|
<j-el-description :value="RGV02.Fault" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="工作模式:">
|
<j-el-description :value="RGV02.Automatic" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="任务号:">
|
<j-el-description :value="RGV02.CurrentTaskNum" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;">
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="作业状态:">
|
<j-el-description :value="RGV02.Running" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="当前水平位置:">
|
<j-el-description :value="RGV02.LevelPoint" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;">
|
<el-col :span="24" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="报警信息:">
|
<j-el-description :value="RGV02.Alarm" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-divider />
|
<h4 style="margin-bottom: 50px;">手动操作</h4>
|
<el-form ref="form" :model="formRGV" label-width="90px">
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="任务命令" prop="TargetAddress">
|
<el-select size="large" v-model="formRGV.TaskType" placeholder="请选择任务命令">
|
<el-option label="取定位" value="1" />
|
<el-option label="放定位" value="2" />
|
<el-option label="取货" value="3" />
|
<el-option label="放货" value="4" />
|
<el-option label="取放货" value="5" />
|
<el-option label="退回" value="6" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="取货位:">
|
<!-- <el-input size="large" v-model="formRGV.SourceAddress" style="width: 800px" placeholder="取货位" /> -->
|
<el-select size="large" v-model="formRGV.SourceAddress" placeholder="请选择取货位">
|
<el-option label="1037" value="1" />
|
<el-option label="1035" value="2" />
|
<el-option label="1033" value="3" />
|
<el-option label="1031" value="4" />
|
<el-option label="1023" value="5" />
|
<el-option label="1021" value="6" />
|
<el-option label="1019" value="8" />
|
<el-option label="1017" value="9" />
|
<el-option label="1011" value="11" />
|
<el-option label="1009" value="12" />
|
<el-option label="1007" value="13" />
|
<el-option label="1005" value="14" />
|
<el-option label="1030" value="15" />
|
<el-option label="1029" value="16" />
|
<el-option label="1028" value="17" />
|
<el-option label="1027" value="18" />
|
<el-option label="1016" value="19" />
|
<el-option label="1015" value="20" />
|
<el-option label="1014" value="21" />
|
<el-option label="1013" value="22" />
|
<el-option label="1040" value="23" />
|
<el-option label="1039" value="24" />
|
<el-option label="1004" value="25" />
|
<el-option label="1002" value="26" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="放货位:">
|
<!-- <el-input size="large" v-model="formRGV.TargetAddress" style="width: 800px" placeholder="放货位" /> -->
|
<el-select size="large" v-model="formRGV.TargetAddress" placeholder="请选择放货位">
|
<el-option label="1037" value="1" />
|
<el-option label="1035" value="2" />
|
<el-option label="1033" value="3" />
|
<el-option label="1031" value="4" />
|
<el-option label="1023" value="5" />
|
<el-option label="1021" value="6" />
|
<el-option label="1019" value="8" />
|
<el-option label="1017" value="9" />
|
<el-option label="1011" value="11" />
|
<el-option label="1009" value="12" />
|
<el-option label="1007" value="13" />
|
<el-option label="1005" value="14" />
|
<el-option label="1030" value="15" />
|
<el-option label="1029" value="16" />
|
<el-option label="1028" value="17" />
|
<el-option label="1027" value="18" />
|
<el-option label="1016" value="19" />
|
<el-option label="1015" value="20" />
|
<el-option label="1014" value="21" />
|
<el-option label="1013" value="22" />
|
<el-option label="1040" value="23" />
|
<el-option label="1039" value="24" />
|
<el-option label="1004" value="25" />
|
<el-option label="1002" value="26" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<el-divider />
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="primary" size="small" plain @click="SendCommand(RGV02.DeviceCode)">
|
<i class="el-icon-check">发送命令</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="warning" size="small" plain @click="RGVReset(RGV02.DeviceCode)">
|
<i class="el-icon-check">复位</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="danger" size="small" plain @click="RGVemergencyStop(RGV02.DeviceCode)">
|
<i class="el-icon-check">急停</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="danger" size="small" plain @click="RGVPause(RGV02.DeviceCode)">
|
<i class="el-icon-check">停止</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="danger" size="small" plain @click="RGVCancel(RGV02.DeviceCode)">
|
<i class="el-icon-check">取消任务</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="danger" size="small" plain @click="RGVInitialize(RGV02.DeviceCode)">
|
<i class="el-icon-check">工位初始化</i>
|
</el-button>
|
</el-col>
|
</el-row>
|
</el-form>
|
<template #footer>
|
<div class="dialog-footer">
|
<el-button @click="RGVSecond = false">取消</el-button>
|
<el-button type="primary" @click="RGVSecond = false">
|
确认
|
</el-button>
|
</div>
|
</template>
|
</el-dialog>
|
<el-dialog v-model="RGVThird" title="RGV信息查看" :before-close="handleClose">
|
<el-form ref="$form" :model="StackerCrane" label-position="left" label-width="120px" size="medium">
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="设备编号:">
|
<j-el-description :value="RGV03.DeviceName" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="设备状态:">
|
<j-el-description :value="RGV03.Fault" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="工作模式:">
|
<j-el-description :value="RGV03.Automatic" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="任务号:">
|
<j-el-description :value="RGV03.CurrentTaskNum" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;">
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="作业状态:">
|
<j-el-description :value="RGV03.Running" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="当前水平位置:">
|
<j-el-description :value="RGV03.LevelPoint" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;">
|
<el-col :span="24" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="报警信息:">
|
<j-el-description :value="RGV03.Alarm" type="primary" ellipsis></j-el-description>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-divider />
|
<h4 style="margin-bottom: 50px;">手动操作</h4>
|
<el-form ref="form" :model="formRGV" label-width="90px">
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="任务命令" prop="TargetAddress">
|
<el-select size="large" v-model="formRGV.TaskType" placeholder="请选择任务命令">
|
<el-option label="取定位" value="1" />
|
<el-option label="放定位" value="2" />
|
<el-option label="取货" value="3" />
|
<el-option label="放货" value="4" />
|
<el-option label="取放货" value="5" />
|
<el-option label="退回" value="6" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="取货位:">
|
<!-- <el-input size="large" v-model="formRGV.SourceAddress" style="width: 800px" placeholder="取货位" /> -->
|
<el-select size="large" v-model="formRGV.SourceAddress" placeholder="请选择取货位">
|
<el-option label="3031" value="1" />
|
<el-option label="3029" value="2" />
|
<el-option label="3027" value="3" />
|
<el-option label="3025" value="4" />
|
<el-option label="3023" value="5" />
|
<el-option label="3021" value="6" />
|
<el-option label="3019" value="7" />
|
<el-option label="3017" value="8" />
|
<el-option label="3015" value="9" />
|
<el-option label="3013" value="10" />
|
<el-option label="3011" value="11" />
|
<el-option label="3009" value="12" />
|
<el-option label="3008" value="13" />
|
<el-option label="3006" value="14" />
|
<el-option label="3004" value="15" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
|
<el-form-item label="放货位:">
|
<!-- <el-input size="large" v-model="formRGV.TargetAddress" style="width: 800px" placeholder="放货位" /> -->
|
<el-select size="large" v-model="formRGV.TargetAddress" placeholder="请选择放货位">
|
<el-option label="3031" value="1" />
|
<el-option label="3029" value="2" />
|
<el-option label="3027" value="3" />
|
<el-option label="3025" value="4" />
|
<el-option label="3023" value="5" />
|
<el-option label="3021" value="6" />
|
<el-option label="3019" value="7" />
|
<el-option label="3017" value="8" />
|
<el-option label="3015" value="9" />
|
<el-option label="3013" value="10" />
|
<el-option label="3011" value="11" />
|
<el-option label="3009" value="12" />
|
<el-option label="3008" value="13" />
|
<el-option label="3006" value="14" />
|
<el-option label="3004" value="15" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<el-divider />
|
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="primary" size="small" plain @click="SendCommand(RGV03.DeviceCode)">
|
<i class="el-icon-check">发送命令</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="warning" size="small" plain @click="RGVReset(RGV03.DeviceCode)">
|
<i class="el-icon-check">复位</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="danger" size="small" plain @click="RGVemergencyStop(RGV03.DeviceCode)">
|
<i class="el-icon-check">急停</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="danger" size="small" plain @click="RGVPause(RGV03.DeviceCode)">
|
<i class="el-icon-check">停止</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="danger" size="small" plain @click="RGVCancel(RGV03.DeviceCode)">
|
<i class="el-icon-check">取消任务</i>
|
</el-button>
|
</el-col>
|
<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
|
<el-button type="danger" size="small" plain @click="RGVInitialize(RGV03.DeviceCode)">
|
<i class="el-icon-check">工位初始化</i>
|
</el-button>
|
</el-col>
|
</el-row>
|
</el-form>
|
<template #footer>
|
<div class="dialog-footer">
|
<el-button @click="RGVThird = false">取消</el-button>
|
<el-button type="primary" @click="RGVThird = false">
|
确认
|
</el-button>
|
</div>
|
</template>
|
</el-dialog>
|
</template>
|
|
<script>
|
import { onMounted, ref, reactive } from "vue";
|
import LineInfo from "./LineInfo.vue";
|
import LineInfoCopy from "./LineInfocopy.vue";
|
import LineComponent from './LineComponent.vue';
|
import eventBus from "../uitils/eventBus";
|
import JElDescription from "./JElDescription";
|
|
export default {
|
data() {
|
return {
|
linescopy1: [
|
{
|
equipNo: "1005",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "1006",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 8,
|
condition: false,
|
},
|
|
{
|
equipNo: "1007",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 20,
|
condition: false,
|
},
|
{
|
equipNo: "1008",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 20,
|
condition: false,
|
}, {
|
equipNo: "2002",
|
imgType: "1",
|
positionX: 28,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "2001",
|
imgType: "1",
|
positionX: 28,
|
positionY: 8,
|
condition: false,
|
},
|
|
{
|
equipNo: "2004",
|
imgType: "1",
|
positionX: 28,
|
positionY: 20,
|
condition: false,
|
},
|
{
|
equipNo: "2003",
|
imgType: "1",
|
positionX: 28,
|
positionY: 20,
|
condition: false,
|
},
|
],
|
linescopy2: [
|
{
|
equipNo: "1009",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "1010",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 8,
|
condition: false,
|
},
|
|
{
|
equipNo: "1011",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 20,
|
condition: false,
|
},
|
{
|
equipNo: "1012",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 20,
|
condition: false,
|
}, {
|
equipNo: "2006",
|
imgType: "1",
|
positionX: 28,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "2005",
|
imgType: "1",
|
positionX: 28,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "2008",
|
imgType: "1",
|
positionX: 28,
|
positionY: 20,
|
condition: false,
|
},
|
{
|
equipNo: "2007",
|
imgType: "1",
|
positionX: 28,
|
positionY: 20,
|
condition: false,
|
},
|
],
|
linescopy3: [
|
{
|
equipNo: "1017",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "1018",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 8,
|
condition: false,
|
},
|
|
{
|
equipNo: "1019",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 20,
|
condition: false,
|
},
|
{
|
equipNo: "1020",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 20,
|
condition: false,
|
}, {
|
equipNo: "2010",
|
imgType: "1",
|
positionX: 28,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "2009",
|
imgType: "1",
|
positionX: 28,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "2012",
|
imgType: "1",
|
positionX: 28,
|
positionY: 20,
|
condition: false,
|
},
|
{
|
equipNo: "2011",
|
imgType: "1",
|
positionX: 28,
|
positionY: 20,
|
condition: false,
|
},
|
],
|
linescopy4: [
|
{
|
equipNo: "1021",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "1022",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 8,
|
condition: false,
|
},
|
|
{
|
equipNo: "1023",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 20,
|
condition: false,
|
},
|
{
|
equipNo: "1024",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 20,
|
condition: false,
|
}, {
|
equipNo: "2014",
|
imgType: "1",
|
positionX: 28,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "2013",
|
imgType: "1",
|
positionX: 28,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "2016",
|
imgType: "1",
|
positionX: 28,
|
positionY: 20,
|
condition: false,
|
},
|
{
|
equipNo: "2015",
|
imgType: "1",
|
positionX: 28,
|
positionY: 20,
|
condition: false,
|
},
|
],
|
linescopy5: [
|
{
|
equipNo: "1031",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "1032",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 8,
|
condition: false,
|
},
|
|
{
|
equipNo: "1033",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 20,
|
condition: false,
|
},
|
{
|
equipNo: "1034",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 20,
|
condition: false,
|
}, {
|
equipNo: "2018",
|
imgType: "1",
|
positionX: 28,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "2017",
|
imgType: "1",
|
positionX: 28,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "2020",
|
imgType: "1",
|
positionX: 28,
|
positionY: 20,
|
condition: false,
|
},
|
{
|
equipNo: "2019",
|
imgType: "1",
|
positionX: 28,
|
positionY: 20,
|
condition: false,
|
},
|
],
|
linescopy6: [
|
{
|
equipNo: "1035",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "1036",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 8,
|
condition: false,
|
},
|
|
{
|
equipNo: "1037",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 20,
|
condition: false,
|
},
|
{
|
equipNo: "1038",
|
imgType: "1",
|
positionX: 0.6,
|
positionY: 20,
|
condition: false,
|
}, {
|
equipNo: "2022",
|
imgType: "1",
|
positionX: 28,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "2021",
|
imgType: "1",
|
positionX: 28,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "2024",
|
imgType: "1",
|
positionX: 28,
|
positionY: 20,
|
condition: false,
|
},
|
{
|
equipNo: "2023",
|
imgType: "1",
|
positionX: 28,
|
positionY: 20,
|
condition: false,
|
},
|
],
|
linescopy7: [
|
{
|
equipNo: "1001",
|
imgType: "1",
|
positionX: 5,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "1002",
|
imgType: "1",
|
positionX: 5,
|
positionY: 8,
|
condition: false,
|
},
|
|
{
|
equipNo: "1003",
|
imgType: "1",
|
positionX: 5,
|
positionY: 20,
|
condition: false,
|
},
|
{
|
equipNo: "1004",
|
imgType: "1",
|
positionX: 5,
|
positionY: 20,
|
condition: false,
|
},
|
],
|
linescopy8: [
|
{
|
equipNo: "1039",
|
imgType: "1",
|
positionX: 6,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "1040",
|
imgType: "1",
|
positionX: 6,
|
positionY: 16,
|
condition: false,
|
},
|
],
|
linescopy9: [
|
{
|
equipNo: "1013",
|
imgType: "1",
|
positionX: 6,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "1014",
|
imgType: "1",
|
positionX: 6,
|
positionY: 16,
|
condition: false,
|
},
|
],
|
linescopy10: [
|
{
|
equipNo: "1015",
|
imgType: "1",
|
positionX: 6,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "1016",
|
imgType: "1",
|
positionX: 6,
|
positionY: 16,
|
condition: false,
|
},
|
],
|
linescopy11: [
|
{
|
equipNo: "1027",
|
imgType: "1",
|
positionX: 6,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "1028",
|
imgType: "1",
|
positionX: 6,
|
positionY: 16,
|
condition: false,
|
},
|
|
],
|
linescopy12: [
|
{
|
equipNo: "1029",
|
imgType: "1",
|
positionX: 6,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "1030",
|
imgType: "1",
|
positionX: 6,
|
positionY: 16,
|
condition: false,
|
},
|
],
|
linescopy13: [
|
{
|
equipNo: "3005",
|
imgType: "2",
|
positionX: 5,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3006",
|
imgType: "2",
|
positionX: 5,
|
positionY: 9,
|
condition: false,
|
},
|
|
{
|
equipNo: "3007",
|
imgType: "2",
|
positionX: 6,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3008",
|
imgType: "2",
|
positionX: 6,
|
positionY: 9,
|
condition: false,
|
}, {
|
equipNo: "3010",
|
imgType: "2",
|
positionX: 8,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3009",
|
imgType: "2",
|
positionX: 8,
|
positionY: 9,
|
condition: false,
|
},
|
{
|
equipNo: "3012",
|
imgType: "2",
|
positionX: 9,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3011",
|
imgType: "2",
|
positionX: 9,
|
positionY: 9,
|
condition: false,
|
},
|
{
|
equipNo: "3014",
|
imgType: "2",
|
positionX: 11,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3013",
|
imgType: "2",
|
positionX: 11,
|
positionY: 9,
|
condition: false,
|
},
|
{
|
equipNo: "3016",
|
imgType: "2",
|
positionX: 12,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3015",
|
imgType: "2",
|
positionX: 12,
|
positionY: 9,
|
condition: false,
|
},
|
{
|
equipNo: "3018",
|
imgType: "2",
|
positionX: 14,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3017",
|
imgType: "2",
|
positionX: 14,
|
positionY: 9,
|
condition: false,
|
},
|
{
|
equipNo: "3020",
|
imgType: "2",
|
positionX: 15,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3019",
|
imgType: "2",
|
positionX: 15,
|
positionY: 9,
|
condition: false,
|
},
|
|
{
|
equipNo: "3022",
|
imgType: "2",
|
positionX: 17,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3021",
|
imgType: "2",
|
positionX: 17,
|
positionY: 9,
|
condition: false,
|
},
|
{
|
equipNo: "3024",
|
imgType: "2",
|
positionX: 18,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3023",
|
imgType: "2",
|
positionX: 18,
|
positionY: 9,
|
condition: false,
|
},
|
|
{
|
equipNo: "3026",
|
imgType: "2",
|
positionX: 20,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3025",
|
imgType: "2",
|
positionX: 20,
|
positionY: 9,
|
condition: false,
|
},
|
{
|
equipNo: "3028",
|
imgType: "2",
|
positionX: 21,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3027",
|
imgType: "2",
|
positionX: 21,
|
positionY: 9,
|
condition: false,
|
},
|
{
|
equipNo: "3030",
|
imgType: "2",
|
positionX: 23,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3029",
|
imgType: "2",
|
positionX: 23,
|
positionY: 9,
|
condition: false,
|
},
|
{
|
equipNo: "3032",
|
imgType: "2",
|
positionX: 24,
|
positionY: 8,
|
condition: false,
|
},
|
{
|
equipNo: "3031",
|
imgType: "2",
|
positionX: 24,
|
positionY: 9,
|
condition: false,
|
},
|
],
|
linescopy14: [
|
{
|
equipNo: "3004",
|
imgType: "2",
|
positionX: -8,
|
positionY: 1,
|
condition: false,
|
},
|
{
|
equipNo: "3002",
|
imgType: "2",
|
positionX: -6,
|
positionY: 1,
|
condition: false,
|
},
|
{
|
equipNo: "3001",
|
imgType: "2",
|
positionX: -5,
|
positionY: 2,
|
condition: false,
|
},
|
],
|
|
|
StackerCrane: {
|
Automatic: "",
|
Fault: "",
|
CurrentLayer: "",
|
CurrentRow: "1",
|
CurrentColumn: "",
|
CurrentTaskNum: "",
|
Running: "",
|
DeviceName: "",
|
DeviceCOde: "",
|
StackerAlarm: "",
|
},
|
RGVFirst: false,
|
RGVSecond: false,
|
RGVThird: false,
|
xValue1: 0,
|
xValue2: 0,
|
xValue3: 0,
|
xValue4: 0,
|
xValue5: 0,
|
xValue6: 0,
|
timer1: null, // 定时器变量
|
timer2: null, // 定时器变量
|
RGV01: {
|
Automatic: "",
|
Fault: "",
|
LevelPoint: 0,
|
CurrentTaskNum: "",
|
Running: "",
|
DeviceName: "",
|
DeviceCode: "RGV01",
|
Alarm:"",
|
},
|
RGV02: {
|
Automatic: "",
|
Fault: "",
|
LevelPoint: 1280,
|
CurrentTaskNum: "",
|
Running: "",
|
DeviceName: "",
|
DeviceCode: "RGV02",
|
Alarm:"",
|
},
|
RGV03: {
|
Automatic: "",
|
Fault: "",
|
LevelPoint: 0,
|
CurrentTaskNum: "",
|
Running: "",
|
DeviceName: "",
|
DeviceCode: "RGV03",
|
Alarm:"",
|
},
|
formRGV: {
|
TaskType: "",
|
SourceAddress: "",
|
TargetAddress: "",
|
DeviceCode: "",
|
},
|
};
|
},
|
components: {
|
LineInfoCopy,
|
LineInfo,
|
LineComponent,
|
JElDescription,
|
},
|
methods: {
|
groupedLines(linescopy) {
|
const groups = {};
|
linescopy.forEach((line) => {
|
const positionY = line.positionY;
|
if (!groups[positionY]) {
|
groups[positionY] = {
|
positionY,
|
lines: [],
|
};
|
}
|
groups[positionY].lines.push(line);
|
});
|
return Object.values(groups);
|
},
|
updateRGVOne() {
|
if (this.RGV01.Automatic == "联机模式" && this.RGV01.Fault != "故障" && this.RGV01.Running == "待机") {
|
return 'dot-Automatic ';
|
}
|
else if (this.RGV01.Automatic == "联机模式" && this.RGV01.Fault != "故障" && this.RGV01.Running == "运行中") {
|
return 'dot-Running ';
|
} else if (this.RGV01.Fault == "故障") {
|
return 'dot-Fault ';
|
} else {
|
return 'dot-Fault ';
|
}
|
},
|
updateRGVTwo() {
|
if (this.RGV02.Automatic == "联机模式" && this.RGV02.Fault != "故障" && this.RGV02.Running == "待机") {
|
return 'dot-Automatic ';
|
}
|
else if (this.RGV02.Automatic == "联机模式" && this.RGV01.Fault != "故障" && this.RGV02.Running == "运行中") {
|
return 'dot-Running ';
|
} else if (this.RGV02.Fault == "故障") {
|
return 'dot-Fault ';
|
} else {
|
return 'dot-Fault ';
|
}
|
},
|
updateRGVThird() {
|
if (this.RGV03.Automatic == "联机模式" && this.RGV03.Fault != "故障" && this.RGV03.Running == "待机") {
|
return 'dot-Automatic ';
|
}
|
else if (this.RGV03.Automatic == "联机模式" && this.RGV03.Fault != "故障" && this.RGV03.Running == "运行中") {
|
return 'dot-Running ';
|
} else if (this.RGV03.Fault == "故障") {
|
return 'dot-Fault ';
|
} else {
|
return 'dot-Fault ';
|
}
|
},
|
mouseClickRGVFirst() {
|
this.fullscreenLoading = true;
|
this.RGVFirst = true;
|
this.fullscreenLoading = false;
|
},
|
mouseClickSecond() {
|
this.fullscreenLoading = true;
|
this.RGVSecond = true;
|
this.fullscreenLoading = false;
|
},
|
mouseClickThird() {
|
this.fullscreenLoading = true;
|
this.RGVThird = true;
|
this.fullscreenLoading = false;
|
},
|
SendCommand(x) {
|
this.fullscreenLoading = true;
|
this.formRGV.DeviceCode = x;
|
this.http.post("api/DeviceInfo/RGVHandTask", this.formRGV)
|
.then((x) => {
|
if (!x.status) {
|
this.$message.error(x.message);
|
} else {
|
this.$Message.success(x.message);
|
$vue.refresh();
|
}
|
})
|
.finally(() => {
|
this.fullscreenLoading = false;
|
});
|
},
|
RGVReset(x) {
|
this.fullscreenLoading = true;
|
this.http.post("api/DeviceInfo/RGVReset?DeviceCode=" + x, null, "")
|
.then((x) => {
|
if (!x.status) {
|
this.$message.error(x.message);
|
} else {
|
this.$Message.success(x.message);
|
|
}
|
})
|
.finally(() => {
|
this.fullscreenLoading = false;
|
});
|
},
|
RGVemergencyStop(x) {
|
this.fullscreenLoading = true;
|
this.http.post("api/DeviceInfo/RGVemergencyStop?DeviceCode=" + x, null, "")
|
.then((x) => {
|
if (!x.status) {
|
this.$message.error(x.message);
|
} else {
|
this.$Message.success(x.message);
|
|
}
|
})
|
.finally(() => {
|
this.fullscreenLoading = false;
|
});
|
},
|
RGVPause(x) {
|
this.fullscreenLoading = true;
|
this.http.post("api/DeviceInfo/RGVPause?DeviceCode=" + x, null, "")
|
.then((x) => {
|
if (!x.status) {
|
this.$message.error(x.message);
|
} else {
|
this.$Message.success(x.message);
|
}
|
})
|
.finally(() => {
|
this.fullscreenLoading = false;
|
});
|
},
|
RGVCancel(x) {
|
this.fullscreenLoading = true;
|
this.http.post("api/DeviceInfo/RGVCancel?DeviceCode=" + x, null, "")
|
.then((x) => {
|
if (!x.status) {
|
this.$message.error(x.message);
|
} else {
|
this.$Message.success(x.message);
|
}
|
})
|
.finally(() => {
|
this.fullscreenLoading = false;
|
});
|
},
|
RGVInitialize(x) {
|
this.fullscreenLoading = true;
|
this.http.post("api/DeviceInfo/RGVInitialize?DeviceCode=" + x, null, "")
|
.then((x) => {
|
if (!x.status) {
|
this.$message.error(x.message);
|
} else {
|
this.$Message.success(x.message);
|
}
|
})
|
.finally(() => {
|
this.fullscreenLoading = false;
|
});
|
},
|
},
|
computed: {
|
|
},
|
mounted() {
|
},
|
created() {
|
eventBus.on('stackerData', eventData => {
|
|
const stackerComponentsMap = {
|
"SC01": 'stacker1',
|
"SC02": 'stacker2',
|
"SC03": 'stacker3',
|
"SC04": 'stacker4',
|
"SC05": 'stacker5',
|
"SC06": 'stacker6',
|
};
|
const componentKey = stackerComponentsMap[eventData.data.deviceCode];
|
if (componentKey) {
|
this.StackerCrane.Automatic = eventData.data.automatic;
|
this.StackerCrane.Fault = eventData.data.fault;
|
this.StackerCrane.Running = eventData.data.running;
|
this.StackerCrane.CurrentColumn = eventData.data.currentColumn;
|
this.StackerCrane.CurrentLayer = eventData.data.currentLayer;
|
this.StackerCrane.LevelPoint = eventData.data.levelPoint;
|
this.StackerCrane.DeviceName = eventData.data.deviceName;
|
this.StackerCrane.DeviceCode = eventData.data.deviceCode;
|
this.StackerCrane.StackerAlarm = eventData.data.stackerAlarm;
|
|
this.$nextTick(() => {
|
this.$refs[componentKey].moveDot(this.StackerCrane);
|
});
|
}
|
});
|
|
eventBus.on('RGVData', x => {
|
|
if (x.data.deviceCode == "RGV01") {
|
this.RGV01.Automatic = x.data.automatic == null ? "故障" : x.data.automatic;
|
this.RGV01.Fault = x.data.fault == null ? "故障" : x.data.fault;
|
this.RGV01.Running = x.data.running == null ? "故障" : x.data.running;
|
this.RGV01.LevelPoint = x.data.levelPoint;
|
this.RGV01.DeviceName = x.data.deviceName;
|
this.RGV01.DeviceCode = x.data.deviceCode;
|
this.RGV01.Alarm = x.data.alarm;
|
} else if (x.data.deviceCode == "RGV02") {
|
this.RGV02.Automatic = x.data.automatic == null ? "故障" : x.data.automatic;
|
this.RGV02.Fault = x.data.fault == null ? "故障" : x.data.fault;
|
this.RGV02.Running = x.data.running == null ? "故障" : x.data.running;
|
this.RGV02.LevelPoint = x.data.levelPoint;
|
this.RGV02.DeviceName = x.data.deviceName;
|
this.RGV02.Alarm = x.data.alarm;
|
} else if (x.data.deviceCode == "RGV03") {
|
this.RGV03.Automatic = x.data.automatic == null ? "故障" : x.data.automatic;
|
this.RGV03.Fault = x.data.fault == null ? "故障" : x.data.fault;
|
this.RGV03.Running = x.data.running == null ? "故障" : x.data.running;
|
this.RGV03.LevelPoint = x.data.levelPoint;
|
this.RGV03.DeviceName = x.data.deviceName;
|
this.RGV03.Alarm = x.data.alarm;
|
}
|
|
});
|
|
eventBus.on("LineData", eventData => {
|
const stationMap = {
|
"SC011F": this.linescopy1,
|
"SC021F": this.linescopy2,
|
"SC031F": this.linescopy3,
|
"SC041F": this.linescopy4,
|
"SC051F": this.linescopy5,
|
"SC061F": this.linescopy6,
|
"SC071F": this.linescopy7,
|
"SC081F": this.linescopy8,
|
"SC091F": this.linescopy9,
|
"SC101F": this.linescopy10,
|
"SC111F": this.linescopy11,
|
"SC121F": this.linescopy12,
|
"SC012F": this.linescopy13,
|
"SC022F": this.linescopy13,
|
"SC032F": this.linescopy13,
|
"SC042F": this.linescopy13,
|
"SC052F": this.linescopy13,
|
"SC062F": this.linescopy13,
|
"SC072F": this.linescopy13,
|
"SC082F": this.linescopy14,
|
};
|
|
var station = eventData.stationChildCode;
|
if (stationMap[eventData.roadway]) {
|
stationMap[eventData.roadway].forEach((line) => {
|
if (line.equipNo === station) {
|
line.condition = eventData.inStock;
|
}
|
})
|
}
|
})
|
},
|
};
|
</script>
|
|
<style scoped>
|
/* .positionY-group {
|
margin-bottom: 10px;
|
} */
|
.title {
|
height: 1800px;
|
}
|
|
.cardWidth {
|
height: 100%;
|
width: 100%;
|
box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
|
}
|
|
.cardWidthrow {
|
height: 00%;
|
width: 100%;
|
/* margin-top: 10px; */
|
box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
|
}
|
|
.divider {
|
top: 50px;
|
}
|
|
.layerSize {
|
position: absolute;
|
top: 100px;
|
left: 30px;
|
color: fuchsi
|
}
|
|
.stackerDiv {
|
border: 1px solid rgba(0, 195, 255, 0.822);
|
width: 980px;
|
padding-left: 3px;
|
}
|
|
.stackDivName {
|
text-align: center;
|
color: rgba(0, 195, 255, 0.822);
|
margin-bottom: 12px;
|
}
|
|
.dot-Running {
|
position: absolute;
|
top: -5px;
|
width: 20px;
|
height: 20px;
|
border-radius: 50%;
|
background-color: #409eff;
|
transition: transform 0.3s ease;
|
display: flex;
|
justify-content: center;
|
align-items: center;
|
font-size: 9px;
|
font-weight: bold;
|
color: white;
|
}
|
|
.dot-Automatic {
|
position: absolute;
|
top: -5px;
|
width: 20px;
|
height: 20px;
|
border-radius: 50%;
|
background-color: #0df705;
|
transition: transform 0.3s ease;
|
display: flex;
|
justify-content: center;
|
align-items: center;
|
font-size: 9px;
|
font-weight: bold;
|
color: white;
|
}
|
|
.dot-Fault {
|
position: absolute;
|
top: -5px;
|
width: 20px;
|
height: 20px;
|
/* right:0px; */
|
border-radius: 50%;
|
background-color: #f80410;
|
transition: transform 0.3s ease;
|
display: flex;
|
justify-content: center;
|
align-items: center;
|
font-size: 9px;
|
font-weight: bold;
|
color: white;
|
}
|
|
|
.line-container {
|
position: relative;
|
height: 1280px;
|
background-color: #ecf5ff;
|
width: 20px;
|
top: 30px;
|
left: 200px
|
}
|
|
.RGVline {
|
position: absolute;
|
top: 0;
|
left: 0;
|
right: 0;
|
height: 2px;
|
background-color: #a0cfff;
|
}
|
|
.line {
|
position: absolute;
|
top: 0;
|
left: 0;
|
right: 0;
|
height: 2px;
|
background-color: #a0cfff;
|
}
|
|
.line-containerThird {
|
position: absolute;
|
height: 20px;
|
background-color: #ecf5ff;
|
width: 1330px;
|
/* margin-top:180px; */
|
top: 180px;
|
|
left: 300px;
|
}
|
|
.lineThird {
|
/* position: absolute; */
|
height: 1px;
|
/* margin-top:180px; */
|
background-color: #a0cfff;
|
}
|
</style>
|