| | |
| | | <template> |
| | | <div> |
| | | <el-row> |
| | | <template v-for="item in 56" :key="item"> |
| | | <template v-for="item in 32" :key="item"> |
| | | <el-col :span="0.9"> |
| | | <span class="image-text"></span> |
| | | <img src="../../public/è´§æ¶.jpeg" /> |
| | |
| | | </template> |
| | | </el-row> |
| | | <el-row style="padding-bottom: 5px;"> |
| | | <template v-for="item in 56" :key="item"> |
| | | <template v-for="item in 32" :key="item"> |
| | | <el-col :span="0.9"> |
| | | <span class="image-text"></span> |
| | | <img src="../../public/è´§æ¶.jpeg" /> |
| | |
| | | </div> |
| | | <div class="line-container"> |
| | | <div class="line"></div> |
| | | <div class="dot" :style="{ right: dotPosition + 'px' }" ref="childDot" @click="mouseClick"></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> |
| | | <div> |
| | | <el-row style="padding-top: 5px;"> |
| | | <template v-for="item in 56" :key="item"> |
| | | <template v-for="item in 32" :key="item"> |
| | | <el-col :span="0.9"> |
| | | <span class="image-text"></span> |
| | | <img src="../../public/è´§æ¶.jpeg" /> |
| | |
| | | </template> |
| | | </el-row> |
| | | <el-row style="padding-bottom: 5px;"> |
| | | <template v-for="item in 56" :key="item"> |
| | | <template v-for="item in 32" :key="item"> |
| | | <el-col :span="0.9"> |
| | | <span class="image-text"></span> |
| | | <img src="../../public/è´§æ¶.jpeg" /> |
| | |
| | | </div> |
| | | |
| | | <el-dialog v-model="dialogVisible" title="ä¿¡æ¯æ¥ç" :before-close="handleClose"> |
| | | <el-form ref="$form" :model="stackerItemInfo" label-position="left" label-width="100px" size="medium"> |
| | | <el-form ref="$form" :model="StackerCrane" label-position="left" label-width="100px" 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="equipNo" type="primary" ellipsis></j-el-description> |
| | | <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="stackerItemInfo.r_Stack_EquipmentStatus" type="primary" |
| | | <j-el-description :value="StackerCrane.Fault" type="primary" |
| | | ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <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="stackerItemInfo.r_Stack_WorkPattern" type="primary" ellipsis></j-el-description> |
| | | <j-el-description :value="StackerCrane.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="stackerItemInfo.r_Stack_tasknumber" type="primary" ellipsis></j-el-description> |
| | | <j-el-description :value="StackerCrane.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"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä½ä¸ç¶æ:"> |
| | | <j-el-description :value="stackerItemInfo.r_Stack_jobstate" type="primary" ellipsis></j-el-description> |
| | | <j-el-description :value="StackerCrane.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="stackerItemInfo.r_Stack_linenum + '-' + stackerItemInfo.r_Stack_olumnnum + '-' + stackerItemInfo.r_Stack_layernum" |
| | | :value="StackerCrane.CurrentRow + '-' + StackerCrane.CurrentColumn + '-' + StackerCrane.CurrentLayer" |
| | | type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { id } from "element-plus/es/locale"; |
| | | import JElDescription from "./JElDescription"; |
| | | export default { |
| | | components: { |
| | |
| | | x: 0, // åå§xå¼ |
| | | url: "api/Equipment/GetStackerInfoByNo", |
| | | dialogVisible: false, |
| | | stackerItemInfo: { |
| | | r_Stack_EquipmentStatus: "", |
| | | r_Stack_jobstate: "", |
| | | r_Stack_layernum: "", |
| | | r_Stack_linenum: "", |
| | | r_Stack_olumnnum: "", |
| | | r_Stack_tasknumber: "", |
| | | r_Stack_WalkingLaserValue: "", |
| | | r_Stack_WorkPattern: "", |
| | | StackerCrane: { |
| | | Automatic: "", |
| | | Fault: "", |
| | | CurrentLayer: "1", |
| | | CurrentRow: "1", |
| | | CurrentColumn: "1", |
| | | CurrentTaskNum: "", |
| | | Running: "", |
| | | DeviceName: "", |
| | | } |
| | | }; |
| | | }, |
| | |
| | | }, |
| | | computed: { |
| | | dotPosition() { |
| | | return -this.x; |
| | | return this.x; |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.moveDot(-this.x); |
| | | this.moveDot(this.x); |
| | | }, |
| | | methods: { |
| | | moveDot(x) { |
| | | const dot = this.$refs.childDot; |
| | | dot.style.transform = `translateX(${-x}px)`; |
| | | 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; |
| | | }, |
| | | update(){ |
| | | if(this.StackerCrane.Automatic&&!this.StackerCrane.Fault&&!this.StackerCrane.Running){ |
| | | return 'dot-Automatic '; |
| | | } |
| | | else if(!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; |
| | | // å¤çç¹å»äºä»¶ |
| | | if (this.url != "") { |
| | | this.http.post(this.url + "?equipNo=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (x.status) { |
| | | this.stackerItemInfo = x.data; |
| | | } else { |
| | | this.$message({ |
| | | type: "error", |
| | | message: x.message, |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | this.fullscreenLoading = false; |
| | | // this.dialogVisible = false; |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | <style scoped> |
| | | .line-container { |
| | | position: relative; |
| | | height: 10px; |
| | | height: 20px; |
| | | background-color: #ecf5ff; |
| | | width: 1570px; |
| | | width: 960px; |
| | | } |
| | | |
| | | .line { |
| | |
| | | background-color: #a0cfff; |
| | | } |
| | | |
| | | .dot { |
| | | .dot-Running { |
| | | position: absolute; |
| | | top: -5px; |
| | | width: 20px; |
| | | height: 20px; |
| | | width: 25px; |
| | | height: 25px; |
| | | border-radius: 50%; |
| | | background-color: #409eff; |
| | | transition: transform 0.3s ease; |
| | |
| | | font-size: 9px; |
| | | font-weight: bold; |
| | | color: white; |
| | | /* background-image: url("../../public/å åæº.png"); |
| | | background-repeat: no-repeat; |
| | | background-size: cover; |
| | | background-position: center; */ |
| | | } |
| | | .dot-Automatic { |
| | | position: absolute; |
| | | top: -5px; |
| | | width: 25px; |
| | | height: 25px; |
| | | 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: 25px; |
| | | height: 25px; |
| | | 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; |
| | | } |
| | | |
| | | img { |
| | | width: 28px; |
| | | width: 30px; |
| | | height: 25px; |
| | | } |
| | | |