From 5f75515d78809c336cb1a004a8cacf53c982344b Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期五, 26 七月 2024 20:25:03 +0800 Subject: [PATCH] -加420订阅 --- jcdm-ui/src/views/main/kb/stationTerminal/index.vue | 297 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 231 insertions(+), 66 deletions(-) diff --git a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue index 8089177..94f9903 100644 --- a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue +++ b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue @@ -34,18 +34,21 @@ <el-descriptions-item label="宸ュ崟缂栧彿"> <span>{{workpieceInformation.workOrderNo}}</span> </el-descriptions-item> - <el-descriptions-item label="浜у搧缂栧彿"> + <el-descriptions-item label="浜у搧鍨嬪彿"> <span>{{workpieceInformation.productCode}}</span> </el-descriptions-item> - <el-descriptions-item label="浜у搧鍨嬪彿"> - <span>{{workpieceInformation.productModel}}</span> + <el-descriptions-item label="灏忚溅鐮�"> + <span>{{headContent.cardCode}}</span> </el-descriptions-item> - <el-descriptions-item label="浜у搧鍚嶇О"> - <span>{{workpieceInformation.productName}}</span> - </el-descriptions-item> -<!-- <el-descriptions-item label="鑺傛媿">--> -<!-- <span>{{workpieceInformation.beat}}</span>--> +<!-- <el-descriptions-item label="浜у搧鍨嬪彿">--> +<!-- <span>{{workpieceInformation.productModel}}</span>--> <!-- </el-descriptions-item>--> +<!-- <el-descriptions-item label="浜у搧鍚嶇О">--> +<!-- <span>{{workpieceInformation.productName}}</span>--> +<!-- </el-descriptions-item>--> + <el-descriptions-item label="寮�濮嬫椂闂�"> + <span>{{workpieceInformation.inboundTime}}</span> + </el-descriptions-item> </el-descriptions> <el-divider></el-divider> <el-row> @@ -89,18 +92,17 @@ <el-col></el-col> <span style="width: 130px;" class="head-font">棰勮鎬绘垚鍙� : {{headContent.yzSfcCode}}</span> </el-row> - <el-row v-show="showInput" style="margin-top: 20px"> - <el-button @click="bindYzSfc" type="primary">缁戝畾</el-button> +<!-- <el-row v-show="showInput" style="margin-top: 20px">--> +<!-- <el-button @click="bindYzSfc" type="primary">缁戝畾</el-button>--> +<!-- </el-row>--> - </el-row> - - <el-row v-show="onLineBinDing" style="margin-top: 20px"> - <el-col></el-col> - <span style="width: 130px;" class="head-font">灏忚溅鐮� : {{headContent.cardCode}}</span> - </el-row> - <el-row v-show="onLineBinDing" style="margin-top: 20px"> - <el-button @click="bindcardCode" type="primary">缁戝畾</el-button> - </el-row> +<!-- <el-row v-show="onLineBinDing" style="margin-top: 20px">--> +<!-- <el-col></el-col>--> +<!-- <span style="width: 130px;" class="head-font">灏忚溅鐮� : {{headContent.cardCode}}</span>--> +<!-- </el-row>--> +<!-- <el-row v-show="onLineBinDing" style="margin-top: 20px">--> +<!-- <el-button @click="bindcardCode" type="primary">缁戝畾</el-button>--> +<!-- </el-row>--> </el-card> </el-col> @@ -110,18 +112,25 @@ <span slot="label"> <a class="el-icon-date"></a>棣栭〉</span> <el-col :span="24"> <el-table height="500" :cell-style="rowStyle" :data="formulaChildList"> - <el-table-column label="鎺掑簭" width="60" align="center" type="index"> +<!-- <el-table-column label="鎺掑簭" width="60" align="center" type="index">--> +<!-- </el-table-column>--> + <el-table-column label="鎷х揣姝ュ彿" width="80" align="center" prop="stepSort"> </el-table-column> - <el-table-column label="鎿嶄綔鍐呭" :show-overflow-tooltip='true' align="center" prop="operationSteps"> + <el-table-column label="鎿嶄綔鍐呭" align="center" prop="operationSteps"> </el-table-column> - <el-table-column label="浜у搧缂栧彿" align="center" prop="productCode"> +<!-- <el-table-column label="涓婇檺" width="60" align="center" prop="spareField3">--> +<!-- </el-table-column>--> +<!-- <el-table-column label="涓嬮檺" width="60" align="center" prop="spareField4">--> +<!-- </el-table-column>--> + <el-table-column label="浜у搧缂栧彿" width="80" align="center" prop="productCode"> </el-table-column> - <el-table-column label="鐗╂枡缂栫爜" align="center" prop="materialCode"> + <el-table-column label="鐗╂枡缂栫爜" width="140" align="center" prop="materialCode"> </el-table-column> <el-table-column label="閲囬泦鍊�" align="center" prop="collectData"> </el-table-column> - <el-table-column label="缁撴灉" align="center" prop="results"> + <el-table-column label="缁撴灉" width="60" align="center" prop="results"> </el-table-column> + </el-table> </el-col> <!-- <el-col :span="14">--> @@ -298,9 +307,11 @@ import {listWorkReport} from "@/api/main/om/workReport/workReport"; import {listStationConf,getIpv4} from "@/api/main/sc/stationConf"; import { - listFormulaChild, + clearWorkpieceRelease, + fistSetpNumber, inPlaceInspection, + listFormulaChild, manualNgOffline, noPageListFormulaChild, - releaseCheck, + releaseCheck, unfinishedProcess, updateResults, updateTighteningFormula, workpieceRelease @@ -308,6 +319,8 @@ import MySerialPort from "@/utils/MySerialPort"; import USBDevice from "@/utils/usb.json"; import { + bindYzSfcFlag, + checkCarCode, checkYzSfcCode, findBytrolleyYardGetOne, listProductionOrde, receivingWorkOrders, @@ -319,7 +332,7 @@ addParamCollection, addTighteningParameters, saveCampaignTimeParameters, - replaceAssemblyCode, + replaceAssemblyCode, checkRecordDataDone, enterWeighing, } from "@/api/main/da/paramCollection/paramCollection"; export default { @@ -337,6 +350,8 @@ pageSize: 10, productCode: null, processesCode: null, + artificialNgFlag: null, + sfcBarcode: null, }, // 閰嶆柟閰嶇疆瀛愪俊鎭〃鏍兼暟鎹� formulaChildList: [], @@ -354,7 +369,7 @@ productCode: null, productModel: null, productName: null, - beat: null, + inboundTime: null, }, // 鏌ヨ鍙傛暟 queryParams: { @@ -378,6 +393,8 @@ }, content: '', activeName: 'first', + // url: "ws://192.168.2.248:8080/websocket/message/", + // url: "ws://10.103.210.248:8080/websocket/message/", url: "ws://192.168.2.76:8080/websocket/message/", message: "", text_content: "", @@ -407,6 +424,8 @@ passingStationForm: {}, originalArray: [], + yzSfcFlag: 1, + endYz: false, } }, beforeDestroy() { @@ -443,11 +462,11 @@ }, }, methods: { - bindcardCode(){ - this.$message('鍙互缁戝畾锛�'); + bindcardCode(scanValue){ + // this.$message('缁戝畾鎴愬姛锛�'); let param = { productNum: this.headContent.sfcCode, - trolleyYard: this.headContent.cardCode, + trolleyYard: scanValue, } trolleyYardBinDing(param).then(response => { }); @@ -463,9 +482,14 @@ locationCode: this.headContent.processesCode, yzSfcCode: this.headContent.yzSfcCode } - this.$message('鍙互缁戝畾锛�'); + const orderParam = { + productNum: this.headContent.sfcCode, + } replaceAssemblyCode(param).then(response => { - + this.$message('缁戝畾鎴愬姛锛�'); + bindYzSfcFlag(orderParam).then(response => { + this.yzSfcFlag = 1 + }); }); } }, @@ -492,6 +516,8 @@ console.log(response) if(response.msg === "3"){ this.cakeLamp.release= 1 //鍏佽鏀捐 + }else if(response.msg === "2"){ + this.$message.error('鎵爜閲嶅璇烽噸鏂版壂鐮侊紒'); } this.getListFormulaChild() }); @@ -509,9 +535,32 @@ // this.formulaChildList = [] this.formulaChildParams.productCode = this.workpieceInformation.productCode this.formulaChildParams.processesCode = this.headContent.processesCode - console.log(this.formulaChildParams) + if(this.formulaChildParams.artificialNgFlag !== null){ + this.formulaChildParams.sfcBarcode = this.headContent.sfcCode + } + console.log("getListFormulaChild"+this.formulaChildParams.artificialNgFlag) noPageListFormulaChild(this.formulaChildParams).then(response => { this.formulaChildList = response.rows; + if (this.formulaChildList.length >0){ + let pos = 0 + const tempArr = this.formulaChildList.filter(x=> 'OK' === x.results) + if (tempArr.length>0){ + pos = tempArr.length + this.$nextTick(() => { + let temp33 = document.getElementsByClassName('el-table__row') + console.log('temp33',temp33) + console.log('len',temp33.item(pos)) + if (temp33.length > 0){ + console.log('1111111111111111') + let arr = temp33[pos-1] + console.log('srr',arr) + arr.scrollIntoView({ block: 'center' }) + } + }) + } + + } + }); }, endClear(){ @@ -525,14 +574,27 @@ this.workpieceInformation.workOrderNo = null; this.workpieceInformation.productModel = null; this.workpieceInformation.productName = null; + this.workpieceInformation.inboundTime = null; this.headContent.sfcCode = ''; + this.headContent.yzSfcCode = ''; + this.headContent.cardCode = ''; + this.formulaChildParams.artificialNgFlag = null + this.formulaChildParams.sfcBarcode = null }, changeMenu(tab, event) { console.log(tab, event); }, clearClick(){ - this.$message('杩欐槸涓�鏉℃竻闄ゆ秷鎭彁绀�'); - this.headContent.sfcCode = null + const param = { + workOrderNo: this.workpieceInformation.workOrderNo, + productCode: this.workpieceInformation.productCode, + locationCode: this.headContent.processesCode, + productBarcode: this.headContent.sfcCode, + } + this.endClear() + clearWorkpieceRelease(param).then(response => {}); + this.headContent.sfcCode = '' + this.$message('娓呴櫎鎴愬姛锛�'); }, scanCompleted(){ this.$message('鎵爜瀹屾垚'+this.content); @@ -553,12 +615,36 @@ this.workpieceInformation.productCode = rowsData.productCode; this.workpieceInformation.productModel = rowsData.productModel; this.workpieceInformation.productName = rowsData.productName; - this.timer = setInterval(() => { - this.workpieceInformation.beat++; - }, 1000); + this.headContent.cardCode = rowsData.trolleyYard; + this.formulaChildParams.artificialNgFlag = rowsData.artificialNgFlag; }); this.getListFormulaChild() - this.addOverStationCollection() + // this.addOverStationCollection() + this.workpieceInformation.inboundTime = this.getCurrentTime() + const param = { + processesCode: this.headContent.processesCode, + productCode: this.workpieceInformation.productCode + } + fistSetpNumber(param).then(response => { + console.log("fistSetpNumber------"+response.msg) + }); + }, + + getCurrentTime() { + const now = new Date(); + const year = now.getFullYear(); + const month = this.padTimeUnit(now.getMonth() + 1); // 鏈堜唤鏄粠0寮�濮嬬殑 + const day = this.padTimeUnit(now.getDate()); + const hours = this.padTimeUnit(now.getHours()); + const minutes = this.padTimeUnit(now.getMinutes()); + const seconds = this.padTimeUnit(now.getSeconds()); + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; + }, + padTimeUnit(value) { + return value.toString().padStart(2, '0'); + }, + addBaseData(){ + addBasicParameters(this.passingStationForm).then(response => {}); }, /** 鍏ョ珯澧炲姞杩囩珯閲囬泦璁板綍 **/ @@ -603,14 +689,12 @@ } this.headContent.processesName = rows.processesName this.headContent.processesCode = rows.processesCode - if(this.headContent.processesCode === 'OP240'){ - this.onLineBinDing = true - } - if(this.headContent.processesCode === 'OP260'){ - this.showInput = true - } - console.log('璁剧疆宸ヤ綅缂栫爜' + this.headContent.processesCode) + inPlaceInspection({processesCode: this.headContent.processesCode}).then(response => { + console.log(response) + this.cakeLamp.InPlace = response.data + }); + }); this.conCom() console.log('websocket杩炴帴宸ヤ綅涓�' + this.headContent.processesCode) @@ -619,25 +703,64 @@ const self = this; this.ws.onopen = function (event) { this.$message('websocket杩炴帴鎴愬姛锛�'); + }; this.ws.onmessage = function (event) { if (event.data === "IN") { self.cakeLamp.InPlace = 1; - } else if (event.data === "IN0") { - self.cakeLamp.InPlace = 0; + } else if (event.data === "NG") { + //缁檖lc鍙戜笅绾夸俊鍙� + //娓呴櫎鏁版嵁 + self.$confirm('鎷х揣涓夋NG锛岃纭涓嬬嚎锛侊紒锛�', '娑堟伅', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + showCancelButton: false, + type: 'warning' + }).then(() => { + self.ngFunction(); + this.$message({ + type: 'success', + message: '纭鎴愬姛!' + }); + }); + } else if (event.data === "OUT") { self.cakeLamp.release = 1; } else if (event.data === "END") { + + const formulaChildIndex = self.formulaChildList.length-1 + + if(self.headContent.sfcCode=== ''||self.headContent.sfcCode=== null){ + unfinishedProcess({processesCode: self.headContent.processesCode,recordDataDone: 26}).then(response => {}); + self.$message('鎬绘垚鐮佷负绌猴紝璇锋壂鐮侊紒') + return; + } + + if(self.formulaChildList[formulaChildIndex].results !== 'OK'){ + self.$message('鏈仛瀹屽伐搴忕姝㈡斁琛�'); + unfinishedProcess({processesCode: self.headContent.processesCode,recordDataDone: 25}).then(response => {}); + return; + } + const param = { workOrderNo: self.workpieceInformation.workOrderNo, productCode: self.workpieceInformation.productCode, locationCode: self.headContent.processesCode, productBarcode: self.headContent.sfcCode, + inboundTime: self.workpieceInformation.inboundTime, + formulaChildEntity: self.formulaChildList[formulaChildIndex] } - saveCampaignTimeParameters(param).then(response => {}); - self.cakeLamp.release = 1; - self.endClear() - workpieceRelease(param).then(response => {}); + + // if(param.locationCode === 'POP430'){ + // let enterWeighingparam = { + // sfcCode: param.productBarcode, + // } + // enterWeighing(enterWeighingparam).then(response => { + // }); + // } + + console.log("杩涘叆鏈�缁堟柟娉�") + self.endSaveData(param) } else if (event.data.includes("[")) { let formulaChilds = ""; self.formulaChildList.sort((a, b) => a.stepSort - b.stepSort); @@ -646,30 +769,67 @@ 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, } - addTighteningParameters(param).then(response => {}); - updateTighteningFormula(param).then(response => { - self.getListFormulaChild() - }).catch(error =>{ - self.getListFormulaChild() - }); + 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() + }); + } } }; }, + endSaveData(param){ + saveCampaignTimeParameters(param).then(response => { + this.cakeLamp.release = 1; + this.endClear() + workpieceRelease(param).then(response => {}); + }); + }, + ngFunction(){ + const param = { + locationCode: this.headContent.processesCode, + sfcBarcode: this.headContent.sfcCode, + productCode: this.workpieceInformation.productCode, + } + manualNgOffline(param).then(response => {}); + clearWorkpieceRelease(param).then(releaseCheck =>{}); + this.endClear() + }, //鎺ュ彈鏁版嵁鐨勫洖璋� callBack(value) { @@ -677,19 +837,24 @@ else { const scanValue = this.myserialport.hex2atostr(value).replace(/[\r\n]/g, ''); console.log("涓插彛鏀跺埌鏁版嵁-------------------"+scanValue) - - if(this.headContent.sfcCode !== ''){ - if(scanValue.includes("P9900173252")){ - this.headContent.yzSfcCode = scanValue - }else if(scanValue.includes("HDY")){ + console.log("sfc=--"+this.headContent.sfcCode+"--") + if(this.headContent.sfcCode !== '' && this.headContent.sfcCode !== null + && this.headContent.sfcCode !== undefined){ + // if(scanValue.includes("P9900173252")){ + // this.headContent.yzSfcCode = scanValue + // this.bindYzSfc(); + // }else + if(scanValue.includes("0RSP1TE") && this.headContent.processesCode === 'POP230'){ this.headContent.cardCode = scanValue + this.bindcardCode(scanValue); + this.serialPortMethod(scanValue) }else { - this.$message('鎵弿鐗╂枡缂栫爜'+scanValue); + this.$message('宸ヤ綅缁堢鎵弿鐗╂枡缂栫爜'+scanValue); console.log(scanValue) this.serialPortMethod(scanValue) } } else { - if(this.headContent.processesCode === 'OP240'){ + if(this.headContent.processesCode === 'POP230'){ this.headContent.sfcCode = scanValue; this.queryParams.productNum = scanValue; this.getList() -- Gitblit v1.9.3