| | |
| | | <div class="line-container"> |
| | | <div class="line"></div> |
| | | <!-- <div class="dot" :style="{ right: dotPosition + 'px' }" ref="childDot" @click="mouseClick"></div> --> |
| | | <div :class="update()" :style="{ transform: `translateX(${StackerCrane.CurrentColumn<33?StackerCrane.CurrentColumn * 30-29:0}px)` }" ref="childDot" @click="mouseClick"></div> |
| | | <div :class="update()" |
| | | :style="{ transform: `translateX(${StackerCrane.CurrentColumn < 33 ? StackerCrane.CurrentColumn * 30 - 29 : 0}px)` }" |
| | | ref="childDot" @click="mouseClick"></div> |
| | | </div> |
| | | <div> |
| | | <el-row style="padding-top: 5px;"> |
| | |
| | | </el-row> |
| | | </div> |
| | | |
| | | <el-dialog v-model="dialogVisible" title="ä¿¡æ¯æ¥ç" :before-close="handleClose"> |
| | | <el-form ref="$form" :model="StackerCrane" label-position="left" label-width="100px" size="medium"> |
| | | <el-dialog v-model="dialogVisible" title="å åæºä¿¡æ¯æ¥ç" :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="设å¤ç¼å·ï¼"> |
| | | <!-- <el-input v-model="equipNo"></el-input> --> |
| | | <j-el-description :value="StackerCrane.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="StackerCrane.Fault" type="primary" |
| | | ellipsis></j-el-description> |
| | | <j-el-description :value="StackerCrane.Fault" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <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="StackerCrane.Running" type="primary" ellipsis></j-el-description> |
| | |
| | | :value="StackerCrane.CurrentRow + '-' + StackerCrane.CurrentColumn + '-' + StackerCrane.CurrentLayer" |
| | | 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="StackerCrane.StackerAlarm" 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="form" 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="form.TaskType" placeholder="è¯·éæ©ä»»å¡å½ä»¤"> |
| | | <el-option label="å
¥åº" value="17" /> |
| | | <el-option label="åºåº" value="18" /> |
| | | <el-option label="ç§»åº" value="20" /> |
| | | <el-option label="åè´§" value="24" /> |
| | | <el-option label="æ¾è´§" value="48" /> |
| | | </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="form.SourceAddress" style="width: 800px" placeholder="请è¾å
¥èµ·ç¹è¡åå±" /> |
| | | </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="form.TargetAddress" style="width: 800px" placeholder="请è¾å
¥ç»ç¹è¡åå±" /> |
| | | </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="8" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="primary" size="small" plain @click="start"> |
| | | <i class="el-icon-check">å¯å¨</i> |
| | | </el-button> |
| | | |
| | | </el-col> |
| | | <el-col :span="8" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="warning" size="small" plain @click="reset"> |
| | | <i class="el-icon-check">å¤ä½</i> |
| | | </el-button> |
| | | |
| | | </el-col> |
| | | <el-col :span="8" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="emergencyStop"> |
| | | <i class="el-icon-check">æ¥å</i> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | |
| | | CurrentTaskNum: "", |
| | | Running: "", |
| | | DeviceName: "", |
| | | } |
| | | DeviceCode: "", |
| | | StackerAlarm:"", |
| | | }, |
| | | form: { |
| | | TaskType: "", |
| | | SourceAddress: "", |
| | | TargetAddress: "", |
| | | DeviceCode: "", |
| | | }, |
| | | }; |
| | | }, |
| | | props: { |
| | |
| | | }, |
| | | methods: { |
| | | moveDot(x) { |
| | | this.StackerCrane.Automatic=x.Automatic==null?"æ
é":x.Automatic; |
| | | this.StackerCrane.Fault=x.Fault==null?"æ
é":x.Fault; |
| | | this.StackerCrane.Running=x.Running==null?"æ
é":x.Running; |
| | | this.StackerCrane.CurrentColumn=x.CurrentColumn==undefined?1:x.CurrentColumn; |
| | | this.StackerCrane.CurrentLayer=x.CurrentLayer==undefined?1:x.CurrentLayer; |
| | | this.StackerCrane.LevelPoint=x.LevelPoint; |
| | | this.StackerCrane.DeviceName=x.DeviceName; |
| | | this.StackerCrane.Automatic = x.Automatic == null ? "æ
é" : x.Automatic; |
| | | this.StackerCrane.Fault = x.Fault == null ? "æ
é" : x.Fault; |
| | | this.StackerCrane.Running = x.Running == null ? "æ
é" : x.Running; |
| | | this.StackerCrane.CurrentColumn = x.CurrentColumn == undefined ? 1 : x.CurrentColumn; |
| | | this.StackerCrane.CurrentLayer = x.CurrentLayer == undefined ? 1 : x.CurrentLayer; |
| | | this.StackerCrane.LevelPoint = x.LevelPoint; |
| | | this.StackerCrane.DeviceName = x.DeviceName; |
| | | this.StackerCrane.StackerAlarm = x.StackerAlarm; |
| | | this.form.DeviceCode = x.DeviceCode; |
| | | }, |
| | | update(){ |
| | | if(this.StackerCrane.Automatic=="èæºæ¨¡å¼"&&this.StackerCrane.Fault!="æ
é"&&this.StackerCrane.Running=="å¾
æº"){ |
| | | return 'dot-Automatic '; |
| | | } |
| | | else if(this.StackerCrane.Automatic=="èæºæ¨¡å¼"&&this.StackerCrane.Fault!="æ
é"&&this.StackerCrane.Running=="è¿è¡ä¸"){ |
| | | return 'dot-Running '; |
| | | }else if(this.StackerCrane.Fault=="æ
é"){ |
| | | return 'dot-Fault '; |
| | | }else{ |
| | | return 'dot-Fault '; |
| | | } |
| | | }, |
| | | update() { |
| | | if (this.StackerCrane.Automatic == "èæºæ¨¡å¼" && this.StackerCrane.Fault != "æ
é" && this.StackerCrane.Running == "å¾
æº") { |
| | | return 'dot-Automatic '; |
| | | } |
| | | else if (this.StackerCrane.Automatic == "èæºæ¨¡å¼" && this.StackerCrane.Fault != "æ
é" && this.StackerCrane.Running == "è¿è¡ä¸") { |
| | | return 'dot-Running '; |
| | | } else if (this.StackerCrane.Fault == "æ
é") { |
| | | return 'dot-Fault '; |
| | | } else { |
| | | return 'dot-Fault '; |
| | | } |
| | | }, |
| | | mouseClick() { |
| | | this.fullscreenLoading = true; |
| | | this.dialogVisible = true; |
| | | this.fullscreenLoading = false; |
| | | }, |
| | | start() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/StackerHandTask", this.form) |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success("å åæºå½ä»¤å·²ä¸å"); |
| | | // $vue.success("æå."); |
| | | this.show = false; |
| | | $vue.refresh(); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, reset() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/StackerReset?DeviceCode=" + this.form.DeviceCode) |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success("å¤ä½æå"); |
| | | // $vue.success("æå."); |
| | | this.show = false; |
| | | $vue.refresh(); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | |
| | | emergencyStop() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/StackerEmergencyStop?DeviceCode=" + this.form.DeviceCode) |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success("æ¥åå·²æä¸"); |
| | | // $vue.success("æå."); |
| | | // this.show = false; |
| | | // $vue.refresh(); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | font-weight: bold; |
| | | color: white; |
| | | } |
| | | |
| | | .dot-Automatic { |
| | | position: absolute; |
| | | top: -5px; |