From 4a53ae7900954ef581b45a9c742f01ded1a66db5 Mon Sep 17 00:00:00 2001 From: hdy <1105738590@qq.com> Date: 星期五, 07 六月 2024 09:38:02 +0800 Subject: [PATCH] 打印 --- jcdm-ui/src/views/main/kb/stationTerminal/index.vue | 434 +++++++++++++++++++++++++++++++++++------------------ 1 files changed, 284 insertions(+), 150 deletions(-) diff --git a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue index 0f16945..acc3d9b 100644 --- a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue +++ b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue @@ -85,19 +85,21 @@ </el-col> </el-row> -<!-- <el-row style="margin-top: 20px">--> -<!-- <el-col :span="12">--> -<!-- <el-input v-model="serialPortContent" style="width: 150px;" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>--> - -<!-- </el-col>--> -<!-- <el-col :span="12">--> -<!-- <el-button @click="serialPortMethod" type="primary">涓插彛鑾峰彇鏁版嵁</el-button>--> - -<!-- </el-col>--> -<!-- </el-row>--> - <el-row style="margin-top: 20px"> - <el-button @click="Release" type="primary">鏀捐</el-button> + <el-row v-show="showInput" style="margin-top: 20px"> + <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>--> + + <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> @@ -106,16 +108,18 @@ <el-tab-pane name="first"> <span slot="label"> <a class="el-icon-date"></a>棣栭〉</span> <el-col :span="24"> - <el-table :cell-style="rowStyle" :data="formulaChildList"> - <el-table-column label="鎺掑簭" width="60" align="center" prop="stepSort"> + <el-table height="500" :cell-style="rowStyle" :data="formulaChildList"> + <el-table-column label="鎺掑簭" width="60" align="center" type="index"> </el-table-column> <el-table-column label="鎿嶄綔鍐呭" :show-overflow-tooltip='true' align="center" prop="operationSteps"> </el-table-column> - <el-table-column label="浜у搧缂栧彿" width="150" align="center" prop="productCode"> + <el-table-column label="浜у搧缂栧彿" align="center" prop="productCode"> </el-table-column> - <el-table-column label="閲囬泦鍊�" width="150" align="center" prop="productCode"> + <el-table-column label="鐗╂枡缂栫爜" align="center" prop="materialCode"> </el-table-column> - <el-table-column label="缁撴灉" width="150" align="center" prop="results"> + <el-table-column label="閲囬泦鍊�" align="center" prop="collectData"> + </el-table-column> + <el-table-column label="缁撴灉" align="center" prop="results"> </el-table-column> </el-table> </el-col> @@ -292,21 +296,42 @@ <script> import {listWorkReport} from "@/api/main/om/workReport/workReport"; import {listStationConf,getIpv4} from "@/api/main/sc/stationConf"; -import {listFormulaChild, releaseCheck, updateResults, workpieceRelease} from "@/api/main/bs/formulaChild/formulaChild"; +import { + fistSetpNumber, + listFormulaChild, + noPageListFormulaChild, + releaseCheck, + updateResults, + updateTighteningFormula, + workpieceRelease +} from "@/api/main/bs/formulaChild/formulaChild"; import MySerialPort from "@/utils/MySerialPort"; import USBDevice from "@/utils/usb.json"; -import {listProductionOrde} from "@/api/main/om/productionOrde/productionOrde"; +import { + bindYzSfcFlag, + checkCarCode, checkYzSfcCode, + findBytrolleyYardGetOne, + listProductionOrde, + receivingWorkOrders, + trolleyYardBinDing +} from "@/api/main/om/productionOrde/productionOrde"; import {addPassingStationCollection} from "@/api/main/da/passingStationCollection/passingStationCollection"; import { addBasicParameters, addParamCollection, - addTighteningParameters + addTighteningParameters, + saveCampaignTimeParameters, + replaceAssemblyCode, checkRecordDataDone, } from "@/api/main/da/paramCollection/paramCollection"; export default { name: "stationTerminal", data() { return { + carCode: '', + showInput: false, + onLineBinDing: false, + serialPortContent: '', // 鏌ヨ鍙傛暟 formulaChildParams: { @@ -323,6 +348,8 @@ processesCode: 'OP1010', processesName: '璐存爣鏈�-璐寸爜', sfcCode: '', + yzSfcCode: '', + cardCode: '', }, workpieceInformation: { workOrderNo: null, @@ -353,7 +380,7 @@ }, content: '', activeName: 'first', - url: "ws://192.168.11.76:8080/websocket/message/", + url: "ws://192.168.2.76:8080/websocket/message/", message: "", text_content: "", ws: null, @@ -363,7 +390,7 @@ input: "", keepReading: true, form1: { - baudRate: "9600", + baudRate: "115200", dataBits: "8", stopBits: "1", parity: "none", @@ -382,6 +409,7 @@ passingStationForm: {}, originalArray: [], + yzSfcFlag: 1, } }, beforeDestroy() { @@ -418,8 +446,36 @@ }, }, methods: { + bindcardCode(){ + this.$message('缁戝畾鎴愬姛锛�'); + let param = { + productNum: this.headContent.sfcCode, + trolleyYard: this.headContent.cardCode, + } + trolleyYardBinDing(param).then(response => { + }); + + }, serialLink() { this.open1 = true + }, + bindYzSfc(){ + if(this.headContent.sfcCode!==""&&this.headContent.yzSfcCode!==""){ + let param = { + sfcCode: this.headContent.sfcCode, + locationCode: this.headContent.processesCode, + yzSfcCode: this.headContent.yzSfcCode + } + const orderParam = { + productNum: this.headContent.sfcCode, + } + replaceAssemblyCode(param).then(response => { + this.$message('缁戝畾鎴愬姛锛�'); + bindYzSfcFlag(orderParam).then(response => { + this.yzSfcFlag = 1 + }); + }); + } }, Release(){ // this.$message('portsList锛�'+this.portsList.length); @@ -430,51 +486,23 @@ this.$message('mei杩炴帴浜嗭紒'); } - - // //鍒ゆ柇鏄惁鍙互閲婃斁 - // let formulaChildParams = { - // productCode: this.workpieceInformation.productCode, - // processesCode: this.headContent.processesCode - // } - // releaseCheck(formulaChildParams).then(response => { - // if(response.data === 0){ - // //鏀瑰彉鐘舵�� - // workpieceRelease(formulaChildParams).then(response => { - // }); - // this.$message('鏀捐鎴愬姛锛�'); - // this.formulaChildList = [] - // this.getListFormulaChild() - // // this.resetting() - // }else { - // this.$message('姝ラ鏈畬鎴愪笉璁告斁琛岋紒'); - // } - // }); }, serialPortMethod(value){ - console.log(value.includes('C')); - let formulaChilds = ''; - console.log(this.formulaChildList) - this.formulaChildList.forEach((formulaChild) => { - formulaChilds = formulaChild; - let operationType = formulaChild.operationType; - let results = formulaChild.results; - let materialCode = formulaChild.materialCode; - if(operationType === '2' && value.includes(materialCode) && (results === '' || results === null || results === 'NG')){ - return; // 浣跨敤return浠f浛break + let formulaChildParams = { + scanBarcode: value, + sfcBarcode: this.headContent.sfcCode, + workOrderNo: this.workpieceInformation.workOrderNo, + productCode: this.workpieceInformation.productCode, + locationCode: this.headContent.processesCode, + collectionTime: new Date() + } + updateResults(formulaChildParams).then(response => { + console.log(response) + if(response.msg === "3"){ + this.cakeLamp.release= 1 //鍏佽鏀捐 } + this.getListFormulaChild() }); - console.log(formulaChilds) - // let formulaChildParams = { - // scanBarcode: value, - // sfcBarcode: this.headContent.sfcCode, - // workOrderNo: this.workpieceInformation.workOrderNo, - // productCode: this.workpieceInformation.productCode, - // locationCode: this.headContent.processesCode, - // collectionTime: new Date() - // } - // updateResults(formulaChildParams).then(response => { - // this.getListFormulaChild() - // }); }, rowStyle({ row }) { if (row.results === 'OK') { @@ -486,14 +514,49 @@ }, /** 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭垪琛� */ getListFormulaChild() { + // this.formulaChildList = [] this.formulaChildParams.productCode = this.workpieceInformation.productCode this.formulaChildParams.processesCode = this.headContent.processesCode - listFormulaChild(this.formulaChildParams).then(response => { + console.log(this.formulaChildParams) + noPageListFormulaChild(this.formulaChildParams).then(response => { this.formulaChildList = response.rows; - console.log(this.formulaChildList) + 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(){ + this.cakeLamp.InPlace= 0 //宸ヤ欢鍒颁綅 + this.cakeLamp.scanFinish= 0 + this.cakeLamp.startWork= 0 + this.cakeLamp.release= 0 //鍏佽鏀捐 + this.formulaChildList = [] + this.workpieceInformation.productCode = null; + this.workpieceInformation.workOrderNo = null; + this.workpieceInformation.productModel = null; + this.workpieceInformation.productName = null; + this.headContent.sfcCode = ''; + this.headContent.yzSfcCode = ''; + this.headContent.cardCode = ''; + }, changeMenu(tab, event) { console.log(tab, event); }, @@ -520,9 +583,9 @@ this.workpieceInformation.productCode = rowsData.productCode; this.workpieceInformation.productModel = rowsData.productModel; this.workpieceInformation.productName = rowsData.productName; - this.timer = setInterval(() => { - this.workpieceInformation.beat++; - }, 1000); + // this.timer = setInterval(() => { + // this.workpieceInformation.beat++; + // }, 1000); }); this.getListFormulaChild() this.addOverStationCollection() @@ -537,52 +600,12 @@ locationCode: this.headContent.processesCode, model: this.workpieceInformation.productModel, productBarcode: this.headContent.sfcCode, + sfcCode: this.headContent.sfcCode, inboundTime: new Date() } addPassingStationCollection(this.passingStationForm).then(response => {}); - addBasicParameters(this.passingStationForm).then(response => {}); + // addBasicParameters(this.passingStationForm).then(response => {}); }, - allowRelease(){ - clearInterval(this.timer); - this.$message('淇濆瓨鑺傛媿涓�'+this.workpieceInformation.beat+'绉�'); - }, - /** 鏌ヨ宸ヤ綅缁堢閰嶇疆鍒楄〃 */ - // async getStationConfList() { - // await getIpv4().then(response => { - // this.StationConfQueryParams.ipAddress = response.msg - // console.log('鏌ヨ鍒版湰宸ヤ綅IP涓�'+this.StationConfQueryParams.ipAddress) - // }); - // listStationConf(this.StationConfQueryParams).then(response => { - // let rows = response.rows[0] - // if(response.rows.length===0){ - // this.$message('璇ュ伐浣嶆病鏈夐厤缃甀P锛岃鑱旂郴绠$悊鍛橀厤缃甀P'); - // return - // } - // this.headContent.processesName = rows.processesName - // this.headContent.processesCode = rows.processesCode - // console.log('璁剧疆宸ヤ綅缂栫爜'+this.headContent.processesCode) - // - // }); - // }, - // connectWebsocket() { - // console.log('websocket杩炴帴宸ヤ綅涓�'+this.headContent.processesCode) - // const wsuri = this.url + this.headContent.processesCode; - // this.ws = new WebSocket(wsuri); - // const self = this; - // this.ws.onopen = function (event) { - // // self.text_content = self.text_content + "宸茬粡鎵撳紑杩炴帴!" + "\n"; - // this.$message('websocket杩炴帴鎴愬姛锛�'); - // }; - // this.ws.onmessage = function (event) { - // self.text_content = event.data + "\n"; - // console.log(event.data) - // if(event.data === "IN"){ - // self.cakeLamp.InPlace = "1" - // }else if(event.data === "OUT"){ - // self.cakeLamp.outRsSign = "1" - // } - // }; - // }, exit() { if (this.ws) { this.ws.close(); @@ -596,6 +619,7 @@ alert("鏈繛鎺ュ埌鏈嶅姟鍣�"); } }, + initStation: async function () { await getIpv4().then(response => { this.StationConfQueryParams.ipAddress = response.msg @@ -609,56 +633,105 @@ } 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) }); + this.conCom() console.log('websocket杩炴帴宸ヤ綅涓�' + this.headContent.processesCode) const wsuri = this.url + this.headContent.processesCode; this.ws = new WebSocket(wsuri); const self = this; this.ws.onopen = function (event) { this.$message('websocket杩炴帴鎴愬姛锛�'); + }; this.ws.onmessage = function (event) { - const DELAY_TIME = 2000; if (event.data === "IN") { self.cakeLamp.InPlace = 1; + console.log(self.headContent.processesCode); + const param = { + processesCode: self.headContent.processesCode, + } + fistSetpNumber(param).then(response => {}); } else if (event.data === "IN0") { self.cakeLamp.InPlace = 0; } else if (event.data === "OUT") { self.cakeLamp.release = 1; - setTimeout(() => { - self.cakeLamp.InPlace = 0; - self.cakeLamp.release = 0; - self.cakeLamp.startWork = 0; - self.cakeLamp.scanFinish = 0; - self.Release(); - }, DELAY_TIME); - } else if (event.data === "TIGHTEN") { - this.formulaChildList = []; - self.getListFormulaChild(); + } else if (event.data === "END") { + const param = { + workOrderNo: self.workpieceInformation.workOrderNo, + productCode: self.workpieceInformation.productCode, + locationCode: self.headContent.processesCode, + productBarcode: self.headContent.sfcCode, + } + + const orderParam = { + productNum: self.headContent.sfcCode, + } + + if(self.headContent.sfcCode=== ''||self.headContent.sfcCode=== null){ + self.$message('鎬绘垚鐮佷负绌猴紝璇锋鏌ワ紒') + return + } + + checkCarCode(orderParam).then(response => { + console.log(response.data) + if(response.data === 1){ + if(self.headContent.processesCode === "OP260"){ + checkYzSfcCode(orderParam).then(response => { + if(response.data === 1){ + saveCampaignTimeParameters(param).then(response => { + checkRecordDataDone(param).then(response => { + if(response.msg === "21"){ + self.cakeLamp.release = 1; + self.endClear() + workpieceRelease(param).then(response => {}); + }else { + self.$message('鏈仛瀹屽伐搴忕姝㈡斁琛�'); + } + }); + }); + }else { + self.$message('璇峰厛缁戝畾棰勮鎬绘垚'); + } + }); + }else { + saveCampaignTimeParameters(param).then(response => { + checkRecordDataDone(param).then(response => { + if(response.msg === "21"){ + self.cakeLamp.release = 1; + self.endClear() + workpieceRelease(param).then(response => {}); + }else { + self.$message('鏈仛瀹屽伐搴忕姝㈡斁琛�'); + } + }); + }); + } + }else { + self.$message('鏈粦瀹氬皬杞︾爜绂佹鏀捐'); + } + }); } else if (event.data.includes("[")) { let formulaChilds = ""; - // for(let i=0;i<self.formulaChildList.length;i++){ - // formulaChilds = self.formulaChildList[i]; - // let operationType = formulaChild.operationType; - // let results = formulaChild.results; - // if(operationType === '1' && - // (results === '' || results === null ||results === 'NG')){ - // break; - // } - // } - self.formulaChildList.forEach((formulaChild) => { - formulaChilds = formulaChild; - let operationType = formulaChild.operationType; + 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(operationType === '1' && (results === '' || results === null || results === 'NG')){ - return; // 浣跨敤return浠f浛break + if (results === '' || results === null || results === 'NG') { + formulaChilds = formulaChild; + break; } - // 鎵ц鍏朵粬鎿嶄綔 - }); - console.log(formulaChilds) - console.log(formulaChilds.paramCode) + } const param = { tightenTheArray: event.data, paramCode: formulaChilds.paramCode, @@ -667,29 +740,73 @@ locationCode: self.headContent.processesCode, productBarcode: self.headContent.sfcCode, } - addTighteningParameters(param).then(response => {}); + if(formulaChilds.paramCode === null||formulaChilds.paramCode ===''){ + self.$message('鏈壘鍒板弬鏁扮爜锛岃妫�鏌ュ弬鏁扮爜鏄惁姝g‘'); + return; + } + if(self.headContent.sfcCode!==null||self.headContent.sfcCode!==''){ + addTighteningParameters(param).then(response => {}); + updateTighteningFormula(param).then(response => { + self.getListFormulaChild() + }).catch(error =>{ + self.getListFormulaChild() + }); + } } }; }, + + //鎺ュ彈鏁版嵁鐨勫洖璋� callBack(value) { if (this.form1.isShowHistory) this.form1.desc = this.readLi().join(""); else { const scanValue = this.myserialport.hex2atostr(value).replace(/[\r\n]/g, ''); - this.$message('鎵爜瀹屾垚'+this.content); + console.log("涓插彛鏀跺埌鏁版嵁-------------------"+scanValue) if(this.headContent.sfcCode !== ''){ - console.log(scanValue) - this.serialPortMethod(scanValue) - }else { - this.headContent.sfcCode = scanValue; - this.queryParams.productNum = scanValue; - this.getList() - // this.getListFormulaChild() - this.cakeLamp.scanFinish = 1 - this.cakeLamp.startWork = 1 + if(scanValue.includes("P9900173252")){ + this.headContent.yzSfcCode = scanValue + this.bindYzSfc(); + }else if(scanValue.includes("0RSP1TE")){ + this.headContent.cardCode = scanValue + this.bindcardCode(); + }else { + this.$message('宸ヤ綅缁堢鎵弿鐗╂枡缂栫爜'+scanValue); + console.log(scanValue) + this.serialPortMethod(scanValue) + } + } else { + if(this.headContent.processesCode === 'OP240'){ + this.headContent.sfcCode = scanValue; + this.queryParams.productNum = scanValue; + this.getList() + this.cakeLamp.scanFinish = 1 + this.cakeLamp.startWork = 1 + }else { + let param = { + trolleyYard: scanValue + } + findBytrolleyYardGetOne(param).then(response => { + if(response.msg !== '2'){ + this.headContent.sfcCode = response.msg; + this.queryParams.productNum = response.msg; + this.$message('鎵爜璇嗗埆浜у搧搴忓垪鍙�'+scanValue); + // this.headContent.sfcCode = scanValue; + // this.queryParams.productNum = scanValue; + this.getList() + this.cakeLamp.scanFinish = 1 + this.cakeLamp.startWork = 1 + }else { + this.$message('娌℃湁搴忓垪鍙�'+scanValue); + return + } + }); + } + } + } }, clearHistory() { @@ -738,6 +855,22 @@ return body; }); }, + conCom(){ + try { + this.myserialport.state.baudRate = this.form1.baudRate; + this.myserialport.state.dataBits = this.form1.dataBits; + this.myserialport.state.stopBits = this.form1.stopBits; + this.myserialport.state.parity = this.form1.parity; + this.myserialport.state.flowControl = this.form1.flowControl; + this.myserialport.openPort(0, true, this.callBack); + console.log(this.form1.port) + } catch (error) { + this.$message.error("涓插彛杩炴帴澶辫触锛佽妫�鏌ヤ覆鍙f槸鍚﹀凡琚崰鐢�"); + } + if (this.myserialport.state.isOpen) { + this.$message.success("涓插彛杩炴帴鎴愬姛"); + } + }, //杩炴帴 async connectBtn() { if (this.btnType === "primary") { @@ -748,6 +881,7 @@ this.myserialport.state.parity = this.form1.parity; this.myserialport.state.flowControl = this.form1.flowControl; await this.myserialport.openPort(this.form1.port, true, this.callBack); + console.log(this.form1.port) } catch (error) { this.$message.error("涓插彛杩炴帴澶辫触锛佽妫�鏌ヤ覆鍙f槸鍚﹀凡琚崰鐢�"); } -- Gitblit v1.9.3