From cb4e543d5e4236ad3fc95ff4ed21a4a1f683062e Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期二, 15 十月 2024 09:33:58 +0800 Subject: [PATCH] 优化 --- jcdm-ui/src/views/main/kb/stationTerminal/index.vue | 459 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 419 insertions(+), 40 deletions(-) diff --git a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue index 5a26a9f..64abccf 100644 --- a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue +++ b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue @@ -9,8 +9,7 @@ <el-col :span="17"> <el-card shadow="never"> <span class="head-font">鐗╂枡缂栫爜 : </span> - <el-input style="width: 50%" ref="inputData" v-model="materialCode" @change="handleEnter" @keyup="handleEnter" placeholder="璇锋壂鎻忕墿鏂欑紪鐮�"></el-input> - <el-button type="primary" style="float: right" icon="el-icon-search" @click="serialLink">涓插彛杩炴帴</el-button> + <el-input style="width: 50%" ref="inputData" v-model="materialCode" @change="handleEnter" placeholder="璇锋壂鎻忕墿鏂欑紪鐮�"></el-input> <el-button @click="clearClick" style="float: right" type="danger" >娓呴櫎</el-button> </el-card> </el-col> @@ -30,8 +29,8 @@ <el-descriptions-item label="宸ュ崟缂栧彿"> <span>{{workpieceInformation.workOrderNo}}</span> </el-descriptions-item> - <el-descriptions-item label="鐗╂枡缂栫爜"> - <span>{{workpieceInformation.materialCode}}</span> + <el-descriptions-item label="浜у搧缂栫爜"> + <span>{{workpieceInformation.productCode}}</span> </el-descriptions-item> <el-descriptions-item label="璁″垝鏁伴噺"> <span>{{workpieceInformation.planQty}}</span> @@ -77,8 +76,209 @@ <span> 鍏佽鏀捐</span> </el-col> </el-row> + <el-row v-show="printFlag" style="margin-top: 20px"> + <el-button id="print" v-print="'#printMe'" type="primary">鎵撳嵃</el-button> + <div style="display: none"> + <div id="printMe"> + <div style="text-align: center;margin-top: 70px"> + <span style="font-size: 29px;">鐢甸┍绯荤粺鎬绘垚</span> + </div> + <div style="display: flex;margin-top: 2px;margin-left: 39px;font-size: 15px"> + <div class="div1"> + <div > + <span>鐢垫満鍨嬪彿锛�</span><span>TZ180XSDSZX01</span><br> + </div> + <div style="margin-top: 4px"> + <span>棰濆畾鍔熺巼锛�</span><span>30kW</span><br> + </div> + <div style="margin-top: 4px"> + <span>棰濆畾鎵煩锛�</span><span>70N.m</span><br> + </div> + <div style="margin-top: 4px"> + <span>棰濆畾鐢靛帇锛�</span><span>336VDC</span><br> + </div> + <div style="margin-top: 4px"> + <span>棰濆伐浣滃埗锛�</span><span>S9</span><br> + </div> + <div style="margin-top: 4px"> + <span>鎸佺画宸ヤ綔鐢垫祦锛�</span><span>115A</span><br> + </div> + <div style="margin-top: 4px"> + <span>鐩告暟锛�</span><span>3</span><br> + </div> + <div style="margin-top: 4px"> + <span>闆朵欢鍙凤細</span><span>{{printMaterialCode}}</span><br> + </div> + </div> + + <div class="div2" style="font-size: 15px;margin-left: 4px"> + <div> + <span>鎺у埗鍣ㄥ瀷鍙凤細</span><span>KTZ34X23SZX07</span><br> + </div> + <div style="margin-top: 4px"> + <span>宄板�煎姛鐜囷細</span><span>60kW</span><br> + </div> + <div style="margin-top: 4px"> + <span>宄板�艰浆鐭╋細</span><span>175N.m</span><br> + </div> + <div style="margin-top: 4px"> + <span>鏈�楂樿浆閫燂細</span><span>12000rpm</span><br> + </div> + <div style="margin-top: 4px"> + <span>闃叉姢绛夌骇锛�</span><span>IP67</span><br> + </div> + <div style="margin-top: 4px"> + <span>宄板�煎伐浣滅數娴侊細</span><span>230A</span><br> + </div> + <div style="margin-top: 4px"> + <span>缁濈紭绛夌骇锛�</span><span>H</span><br> + </div> + <div style="margin-top: 4px"> + <span>鍑哄巶缂栧彿锛�</span><span>{{headContent.sfcCode}}</span><br> + </div> + </div> + </div> + <div style="margin-top: 2px;margin-left: 70px"> + <span style="font-size: 26px;">婀栧窞鏅鸿姱鍔ㄥ姏绯荤粺鍙戝睍鏈夐檺鍏徃</span> + </div> + + + <div style="text-align: center;margin-top: 101px;font-size: 20px"> + <div style="margin-top: 12px"> + <span style="font-size: 22px">TZ180XSDSZX01</span><br> + + </div> + <div style="margin-top: 4px"> + <span style="font-size: 22px">KTZ34X23SZX07</span><br> + + </div> + <div style="margin-top: 4px"> + <span style="font-size: 22px">993983</span><br> + + </div> + <div style="margin-top: 4px"> + <span style="font-size: 22px">{{printMaterialCode}}</span><br> + + </div> + <div style="margin-top: 4px"> + <span style="font-size: 22px">{{headContent.sfcCode}}</span> + + </div> + </div> + + <div style="margin-top: 57px;display: flex;margin-left: 40px"> + <div style="width: 30%;flex: 1"> + <VueQr :size='80' :margin='0' :text='this.text'></VueQr> + </div> + <div style="width: 70%;flex: 1;margin-top: 18px;margin-right: 29px"> + <span style="margin-left: -122px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px"> + P{{printMaterialCode}} + </span> + <span style="margin-left: -5px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px"> + # + </span> + <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px"> + T{{headContent.sfcCode}} + </span><br> + + <span style="margin-left: -122px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px"> + # + </span> + <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px"> + V993983 + </span> + <span style="margin-left: -4px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px"> + # + </span> + <span style="margin-left: -10px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px"> + SSW001.001 + </span> + <span style="margin-left: -4px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px"> + # + </span> + <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px"> + HHW001.001 + </span> + <span style="margin-left: -6px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px"> + # + </span> + <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px"> + NMCU + </span> +<!-- <span style="margin-left: -80px;font-size: 19px;font-family: FZYaoti;letter-spacing: -0.8px;font-weight: 100">--> +<!-- #V993983#SSW002.005#HHW001.001#NMCU--> +<!-- </span>--> + </div> + </div> + + <div style="margin-top: 44px;display: flex;margin-left: 40px"> + <div style="width: 30%;flex: 1"> + <VueQr :size='80' :margin='0' :text='this.text'></VueQr> + </div> + <div style="width: 70%;flex: 1;margin-top: 18px;margin-right: 29px"> +<!-- <span style="margin-left: -80px;font-size: 19px;font-family: FZYaoti;letter-spacing: -0.8px;font-weight: 100">--> +<!-- P9900200461#T{{headContent.sfcCode}}--> +<!-- </span><br>--> +<!-- <span style="margin-left: -80px;font-size: 19px;font-family: FZYaoti ;letter-spacing: -0.8px;font-weight: 100">--> +<!-- #V993983#SSW002.005#HHW001.001#NMCU--> +<!-- </span>--> + <span style="margin-left: -122px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px"> + P{{printMaterialCode}} + </span> + <span style="margin-left: -5px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px"> + # + </span> + <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px"> + T{{headContent.sfcCode}} + </span><br> + + <span style="margin-left: -122px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px"> + # + </span> + <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px"> + V993983 + </span> + <span style="margin-left: -4px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px"> + # + </span> + <span style="margin-left: -10px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px"> + SSW001.001 + </span> + <span style="margin-left: -4px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px"> + # + </span> + <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px"> + HHW001.001 + </span> + <span style="margin-left: -6px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px"> + # + </span> + <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px"> + NMCU + </span> + </div> + </div> + + <div style="text-align: center;margin-left: -190px;margin-top: 31px"> + <div style="margin-top: 4px"> + <span>{{printMaterialCode}}</span><br> + </div> + <div style="margin-top: 8px"> + <span>MCU</span><br> + </div> + <div style="margin-top: 8px"> + <span>HW 001.001</span><br> + </div> + <div style="margin-top: 8px"> + <span>SW 001.001</span><br> + </div> + </div> + + </div> + </div> + </el-row> <el-row v-show="orderFlag" style="margin-top: 20px"> - <el-button @click="getWorkOrders" type="warning" size="mini">鎺ユ敹宸ュ崟</el-button> +<!-- <el-button @click="getWorkOrders" type="warning" size="mini">鎺ユ敹宸ュ崟</el-button>--> </el-row> </el-card> @@ -129,7 +329,7 @@ bindYzSfcFlag, checkCarCode, checkYzSfcCode, findBytrolleyYardGetOne, - listProductionOrde, mozuReceivingWorkOrders, + listProductionOrde, listProductionOrdeLoopLine, mozuReceivingWorkOrders, receivingWorkOrders, trolleyYardBinDing } from "@/api/main/om/productionOrde/productionOrde"; @@ -142,11 +342,17 @@ replaceAssemblyCode, checkRecordDataDone, } from "@/api/main/da/paramCollection/paramCollection"; import {addFormula} from "@/api/main/bs/formula/formula"; +import QRCode from "qrcodejs2"; +import VueQr from "vue-qr"; export default { + components: { + VueQr + }, name: "stationTerminal", data() { return { + text: 'P9900200461#T2408170000004#V993983#SSW001.001#HHW001.001#NMCU', materialCode: '', // 鐗╂枡缂栫爜 carCode: '', showInput: false, @@ -185,6 +391,7 @@ pageNum: 1, pageSize: 10, sfcCode: null, + productNum: '', }, // 鏌ヨ鍙傛暟 StationConfQueryParams: { @@ -201,12 +408,15 @@ release: 0 //鍏佽鏀捐 }, content: '', + // url: "ws://10.103.214.26:8080/websocket/message/", url: "ws://192.168.20.250:8080/websocket/message/", passingStationForm: {}, originalArray: [], orderFlag: true, + printFlag: false, activeName: 'first', + printMaterialCode : '', } }, @@ -234,25 +444,49 @@ console.log(tab, event); }, handleEnter() { - this.serialPortMethod(this.materialCode) - this.$message("鎵弿鐗╂枡缂栫爜"+this.materialCode); - }, - getWorkOrders(){ - if(this.headContent.sfcCode === '' || this.headContent.sfcCode === null){ - //鎺ユ敹宸ュ崟 - const param = { - lineCode: this.headContent.processesCode + console.log("鐗╂枡鐮�:"+this.materialCode); + if(this.materialCode.includes("9900200461") || this.materialCode.includes("9900207783")){ + if(this.headContent.processesCode === "OP170" || this.headContent.processesCode === "OP180" || + this.headContent.processesCode === "OP190" || this.headContent.processesCode === "OP200" || + this.headContent.processesCode === "OP210" || this.headContent.processesCode === "OP220" || + this.headContent.processesCode === "OP230" + ){ + if(this.materialCode.length>25){ + let code = this.materialCode.substring(13,26); + // this.headContent.sfcCode = code; + this.queryParams.productNum = code; + this.getList(); + this.cakeLamp.scanFinish = 1 + this.cakeLamp.startWork = 1 + this.cakeLamp.InPlace = 1 + const param = { + processesCode: this.headContent.processesCode, + productCode: this.workpieceInformation.productCode, + sfcBarcode:code, + } + fistSetpNumber(param).then(response => { + console.log("fistSetpNumber------"+response.msg) + }); + this.$message("鎵弿鐗╂枡缂栫爜"+this.materialCode); + this.materialCode=""; + this.setFocus(); + }else{ + this.$message("鎵弿鐗╂枡缂栫爜閿欒锛�"+this.materialCode); + this.materialCode=""; + this.setFocus(); + } + } - mozuReceivingWorkOrders(param).then(response => { - this.headContent.sfcCode = response.msg; - this.queryParams.productNum = response.msg; - this.getList() - this.cakeLamp.scanFinish = 1 - this.cakeLamp.startWork = 1 - this.cakeLamp.InPlace = 1 - }); - }else { - this.$message.error("宸茬粡鏈夊伐鍗曚簡锛屼笉鑳芥帴鏀讹紒"); + }else{ + if(this.headContent.sfcCode === '' || this.headContent.sfcCode === null){ + this.$message("璇峰厛鎵弿浜у搧鏉$爜锛�"); + }else{ + this.serialPortMethod(this.materialCode); + this.$message("鎵弿鐗╂枡缂栫爜"+this.materialCode); + this.setFocus(); + this.materialCode=""; + } + } }, serialLink() { @@ -339,24 +573,48 @@ locationCode: this.headContent.processesCode, productBarcode: this.headContent.sfcCode, } - this.endClear() + // this.endClear() clearWorkpieceRelease(param).then(response => {}); - this.headContent.sfcCode = '' + // this.headContent.sfcCode = '' this.$message('娓呴櫎鎴愬姛锛�'); + this.setFocus(); + this.getList() + }, /** 鏌ヨ宸ュ崟鍒楄〃 */ async getList() { - await listProductionOrde(this.queryParams).then(response => { + await listProductionOrdeLoopLine(this.queryParams).then(response => { + console.log('杩涘叆鍒濆鍖栧姞杞絣ist鏂规硶') let rowsData = response.rows[0]; - console.log(rowsData) - this.workpieceInformation.workOrderNo = rowsData.workOrderNo; - this.workpieceInformation.productCode = rowsData.productCode; - this.workpieceInformation.materialCode = rowsData.materialCode; - this.workpieceInformation.planQty = rowsData.planQty; - this.headContent.cardCode = rowsData.trolleyYard; + if(rowsData){ + console.log('杩涘叆鍒濆鍖栧姞杞絣ist鏂规硶'+response.rows[0]) + if(this.headContent.processesCode === 'OP170' + ||this.headContent.processesCode === 'OP180'|| + this.headContent.processesCode === 'OP190'|| + this.headContent.processesCode === 'OP200'|| + this.headContent.processesCode === 'OP210'|| + this.headContent.processesCode === 'OP220'|| + this.headContent.processesCode === 'OP230' + ){ + this.headContent.sfcCode = rowsData.productNum + } + this.workpieceInformation.workOrderNo = rowsData.workOrderNo; + this.workpieceInformation.productCode = rowsData.productCode; + this.workpieceInformation.materialCode = rowsData.materialCode; + this.workpieceInformation.planQty = rowsData.planQty; + this.headContent.cardCode = rowsData.trolleyYard; + this.getListFormulaChild() + this.workpieceInformation.inboundTime = this.getCurrentTime() + this.printMaterialCode = rowsData.productCode + console.log(rowsData.productCode) + console.log(this.printMaterialCode) + this.text = 'P'+this.printMaterialCode+'#T'+this.headContent.sfcCode+'#V993983#SSW001.001#HHW001.001#NMCU' + console.log(this.text) + + }else { + this.$message.error('绯荤粺娌℃湁姝ゅ伐鍗曪紝璇烽噸鏂版壂鐮侊紒'); + } }); - this.getListFormulaChild() - this.workpieceInformation.inboundTime = this.getCurrentTime() }, initializedData(){ @@ -365,12 +623,18 @@ } initializedData(param).then(response => { if(response.msg !== ''){ - this.headContent.sfcCode = response.msg; - this.queryParams.productNum = response.msg; + if(this.headContent.processesCode === 'OP165'){ + this.headContent.sfcCode = response.msg.substring(13,26) + this.queryParams.productNum = response.msg.substring(13,26); + }else { + this.headContent.sfcCode = response.msg; + this.queryParams.productNum = response.msg; + } this.getList() this.cakeLamp.scanFinish = 1 this.cakeLamp.startWork = 1 this.cakeLamp.InPlace = 1 + // this.text = 'P9900200461#T'+this.headContent.sfcCode+'#V993983#SSW001.001#HHW001.001#NMCU' } }); }, @@ -395,6 +659,32 @@ this.ws = null; } }, + test1(){ + document.getElementById('canvasWrapper1').innerHTML = ''; + this.$nextTick(() => { + let qrCode = new QRCode('canvasWrapper1',{ + width: 83, + height: 83, + text: 'P9900200461#T'+this.headContent.sfcCode+'#V993983#SSW001.001#HHW001.001#NMCU', + colorDark: '#000', + colorLight: '#fff' + }) + } + ) + }, + test2(){ + document.getElementById('canvasWrapper2').innerHTML = ''; + this.$nextTick(() => { + let qrCode = new QRCode('canvasWrapper2',{ + width: 83, + height: 83, + text: 'P9900200461#T'+this.headContent.sfcCode+'#V993983#SSW001.001#HHW001.001#NMCU', + colorDark: '#000', + colorLight: '#fff' + }) + } + ) + }, send() { if (this.ws) { this.ws.send(this.message); @@ -417,6 +707,13 @@ this.headContent.processesName = rows.processesName this.headContent.processesCode = rows.processesCode this.initializedData() + if(this.headContent.processesCode === 'OP165'){ + this.printFlag = true + } + + if(this.headContent.processesCode === 'OP250'){ + this.printFlag = true + } }); console.log('websocket杩炴帴宸ヤ綅涓�' + this.headContent.processesCode) @@ -430,8 +727,13 @@ //socket浠庡悗鍙板悜鍓嶅彴鎺ㄩ�佹暟鎹� this.ws.onmessage = function (event) { - if (event.data === "IN") { + if (event.data === "print") { + document.getElementById('print').click(); + unfinishedProcess({processesCode: self.headContent.processesCode,recordDataDone: 21}).then(response => {}); + }else if (event.data === "IN") { self.cakeLamp.InPlace = 1; + }else if(event.data === "twoHundredAndThirtyEND"){ + self.endClear() } else if (event.data === "OUT") { self.cakeLamp.release = 1; } else if (event.data === "END") { @@ -467,15 +769,83 @@ console.log("杩涘叆鏈�缁堟柟娉�") self.endSaveData(param) - } else if(event.data.includes("productNum")){ + } else if(event.data.includes("productNum")){//浜у搧搴忓垪鍙� let productNum = event.data.split(',')[1]; - self.headContent.sfcCode = productNum; + if(self.headContent.processesCode === 'OP165'){ + console.log("杩涘幓鎴彇鎬绘垚鐮佹柟娉�165宸ョ珯鍘熷鍊兼槸"+productNum+"鎴彇涔嬪悗鐨勬槸"+productNum.substring(13,26)) + self.headContent.sfcCode = productNum.substring(13,26) + console.log("self.headContent.sfcCode"+self.headContent.sfcCode) + }else { + self.headContent.sfcCode = productNum; + } self.queryParams.productNum = productNum; self.getList() self.cakeLamp.scanFinish = 1 self.cakeLamp.startWork = 1 self.cakeLamp.InPlace = 1 + const param = { + processesCode: self.headContent.processesCode, + productCode: self.workpieceInformation.productCode + } + fistSetpNumber(param).then(response => { + console.log("fistSetpNumber------"+response.msg) + }); + + //鎵撳嵃 + if(self.headContent.processesCode === "OP165"){ + // self.test1() + // self.test2() + self.text = 'P9900200461#T'+self.headContent.sfcCode+'#V993983#SSW002.005#HHW001.001#NMCU#' + } + + }else if (event.data.includes("[")) {//鎷х揣 + let formulaChilds = ""; + self.formulaChildList.sort((a, b) => a.stepSort - b.stepSort); + self.formulaChildList + .filter((formulaChild) => formulaChild.operationType === '1'); + for (let i = 0; i < self.formulaChildList.length; i++) { + let formulaChild = self.formulaChildList[i]; + let results = formulaChild.results; + + if (results === '' || results === null || results === 'NG') { + formulaChilds = formulaChild; + break; + } + } + if(formulaChilds === ""){ + self.$message.error('鏈伐浣嶅凡宸ヤ綔瀹屾垚锛�'); + return; + } + const param = { + id: formulaChilds.id, + tightenTheArray: event.data, + paramCode: formulaChilds.paramCode, + workOrderNo: self.workpieceInformation.workOrderNo, + productCode: self.workpieceInformation.productCode, + locationCode: self.headContent.processesCode, + productBarcode: self.headContent.sfcCode, + spareField1: formulaChilds.spareField1, + spareField2: formulaChilds.spareField2, + spareField3: formulaChilds.spareField3, + spareField4: formulaChilds.spareField4, + stepSort: formulaChilds.stepSort, + ngTimes: formulaChilds.ngTimes, + } + if(formulaChilds.paramCode === null||formulaChilds.paramCode ===''){ + self.$message('鏈壘鍒板弬鏁扮爜锛岃妫�鏌ュ弬鏁扮爜鏄惁姝g‘'); + return; + } + self.formulaChildParams.artificialNgFlag = null + console.log("self.formulaChildParams.artificialNgFlag"+self.formulaChildParams.artificialNgFlag) + if(self.headContent.sfcCode!==null||self.headContent.sfcCode!==''){ + updateTighteningFormula(param).then(response => { + //addTighteningParameters(param).then(response => {}); + self.getListFormulaChild() + }).catch(error =>{ + self.getListFormulaChild() + }); + } } }; }, @@ -492,6 +862,15 @@ </script> <style scoped> +.div1, .div2 { + flex: 1; /* 涓や釜div骞冲垎瀹瑰櫒瀹藉害 */ +} +.span{ + font-family: 'Microsoft YaHei', sans-serif; +} +.div2{ + margin-left: 30px; +} .bottom-card{ height: 600px; } -- Gitblit v1.9.3