From 706d57aa682845cf1bc01cbfd1087c4c0f33093f Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期二, 12 十一月 2024 09:46:48 +0800 Subject: [PATCH] 优化 --- jcdm-ui/src/views/main/kb/stationTerminal/index.vue | 989 ++++++++++++++++++++++++---------------------------------- 1 files changed, 409 insertions(+), 580 deletions(-) diff --git a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue index d0c9ec0..013403d 100644 --- a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue +++ b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue @@ -1,16 +1,15 @@ <template> <div class="app-container"> <el-row :gutter="5"> - <el-col :span="7"> - <el-card style="height: 71px" shadow="never"> - <span style="margin-top: 200px" class="head-font">宸ヤ綅缂栧彿 : {{headContent.processesCode}}</span> + <el-col :span="7"> + <el-card style="height: 71px;padding-top: 6px" shadow="never"> + <span class="head-font">宸ヤ綅缂栧彿 : {{headContent.processesCode}}</span> </el-card> </el-col> <el-col :span="17"> <el-card shadow="never"> <span class="head-font">鐗╂枡缂栫爜 : </span> - <el-input style="width: 50%" v-model="materialCode" @change="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,14 +76,215 @@ <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 style="vertical-align: -0.5px;">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 style="vertical-align: -0.5px;">I</span><span>P67</span><br> + </div> + <div style="margin-top: 4px"> + <span>宄板�煎伐浣滅數娴侊細</span><span>230A</span><br> + </div> + <div style="margin-top: 4px"> + <span>缁濈紭绛夌骇锛�</span><span style="vertical-align: -0.5px;">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: 41px"> + <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> </el-col> <el-col :span="17"> - <el-tabs type="border-card" style="height: 600px" v-model="activeName" @tab-click="changeMenu"> + <el-tabs type="border-card" style="height: 600px" v-model="activeName"> <el-tab-pane name="first"> <span slot="label"> <a class="el-icon-date"></a>棣栭〉</span> <el-col :span="24"> @@ -108,143 +308,6 @@ </el-tabs> </el-col> </el-row> - <el-dialog v-dialogpop-up :title="title" :visible.sync="open1" width="1000" append-to-body> - <el-row - type="flex" - class="row-bg" - justify="center" - v-show="portsList.length === 0" - > - <el-col :span="7"> - <div style="margin-top: 400px"> - <span style="display: block"> - 浠呮敮鎸丆hrome 89+鎴栬�匛dge 89+娴忚鍣�(瀹夊叏涓婁笅鏂囷紙HTTPS锛変腑鍙敤) - </span> - <el-button type="primary" @click="obtainAuthorization">鎺堟潈</el-button> - </div> - </el-col> - </el-row> - <el-form - v-show="portsList.length > 0" - ref="form1" - :model="form1" - label-width="100px"> - <el-row> - <el-col :span="24" - ><div> - <el-form-item label="涓插彛"> - <el-select - v-model="form1.port" - filterable - placeholder="璇烽�夋嫨涓插彛" - :disabled="isDisable" - > - <el-option - v-for="item in portsList" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="娉㈢壒鐜�"> - <el-autocomplete - popper-class="my-autocomplete" - v-model="form1.baudRate" - :fetch-suggestions="querySearch" - placeholder="璇疯緭鍏ユ尝鐗圭巼" - :disabled="isDisable" - > - <i class="el-icon-edit el-input__icon" slot="suffix"> </i> - <template slot-scope="{ item }"> - <div class="name">{{ item.value }}</div> - <span class="addr">{{ item.address }}</span> - </template> - </el-autocomplete> - </el-form-item> - <el-form-item label="鏁版嵁浣�"> - <el-select - v-model="form1.dataBits" - placeholder="璇烽�夋嫨鏁版嵁浣�" - :disabled="isDisable" - > - <el-option label="7" value="7"></el-option> - <el-option label="8" value="8"></el-option> - </el-select> - </el-form-item> - <el-form-item label="鍋滄浣�"> - <el-select - v-model="form1.stopBits" - placeholder="璇烽�夋嫨鍋滄浣�" - :disabled="isDisable" - > - <el-option label="1" value="1"></el-option> - <el-option label="2" value="2"></el-option> - </el-select> - </el-form-item> - - <el-form-item label="鏍¢獙浣�"> - <el-select - v-model="form1.parity" - placeholder="璇烽�夋嫨鏍¢獙浣�" - :disabled="isDisable" - > - <el-option label="None" value="none"></el-option> - <el-option label="Even" value="even"></el-option> - <el-option label="Odd" value="odd"></el-option> - </el-select> - </el-form-item> - - <el-form-item label="娴佹帶鍒�"> - <el-select - v-model="form1.flowControl" - placeholder="璇烽�夋嫨娴佹帶鍒�" - :disabled="isDisable" - > - <el-option label="None" value="none"></el-option> - <el-option label="HardWare" value="hardware"></el-option> - </el-select> - </el-form-item> - <el-form-item label="鏄剧ず鍘嗗彶"> - <el-switch - v-model="form1.isShowHistory" - @change="loadHistory" - ></el-switch> - <el-button - type="danger" - icon="el-icon-delete" - circle - title="娓呯┖鍘嗗彶" - @click="clearHistory" - ></el-button> - </el-form-item> - <el-form-item label="鍙戦�佸尯璁剧疆" v-show="isShowSendArea"> - <el-form-item label="鍙戦�佹牸寮�"> - <el-radio-group v-model="form1.type"> - <el-radio label="1">ASCII</el-radio> - <el-radio label="2">HEX</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="鍙戦�佷俊鎭�"> - <el-input type="textarea" v-model="form1.sendMsg"></el-input> - </el-form-item> - <el-button type="primary" @click="sendCommon">鍙戦��</el-button> - </el-form-item> - - <el-form-item> - <el-button :type="btnType" @click="connectBtn">{{ - btnText - }}</el-button> - <el-button type="info" @click="obtainAuthorization" - >鏂板鎺堟潈</el-button - > - </el-form-item> - </div> - </el-col> - </el-row> - </el-form> - </el-dialog> </div> </template> <script> @@ -266,7 +329,7 @@ bindYzSfcFlag, checkCarCode, checkYzSfcCode, findBytrolleyYardGetOne, - listProductionOrde, mozuReceivingWorkOrders, + listProductionOrde, listProductionOrdeLoopLine, mozuReceivingWorkOrders, receivingWorkOrders, trolleyYardBinDing } from "@/api/main/om/productionOrde/productionOrde"; @@ -279,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, @@ -322,6 +391,7 @@ pageNum: 1, pageSize: 10, sfcCode: null, + productNum: '', }, // 鏌ヨ鍙傛暟 StationConfQueryParams: { @@ -338,75 +408,26 @@ release: 0 //鍏佽鏀捐 }, content: '', - activeName: 'first', - url: "ws://10.103.210.248:8080/websocket/message/", - // url: "ws://192.168.10.100:8080/websocket/message/", - message: "", - text_content: "", - ws: null, - inputValue: '9', - - open1: false, - input: "", - keepReading: true, - form1: { - baudRate: "115200", - dataBits: "8", - stopBits: "1", - parity: "none", - flowControl: "none", - desc: "", - type: "1", - isShowHistory: false, - }, - btnType: "primary", - btnText: "杩炴帴涓插彛", - restaurants: [], - portsList: [], - isShowSendArea: false, - readType: 1, - title: "", + // url: "ws://10.103.214.26:8080/websocket/message/", + url: "ws://192.168.20.250:8080/websocket/message/", passingStationForm: {}, originalArray: [], - yzSfcFlag: 1, - endYz: false, - orderFlag: true + orderFlag: true, + printFlag: false, + activeName: 'first', + printMaterialCode : '', + } + }, + mounted() { + this.setFocus() }, beforeDestroy() { this.exit(); }, created() { - document.onkeyup = e => { - if (e.keyCode === 13) { - // 璋冪敤鐧诲綍 楠岃瘉鏂规硶 - this.submitForm() - } - } this.initStation(); - // this.getStationConfList(); - // setTimeout(() => { - // this.connectWebsocket(); - // }, 3000); - }, - mounted() { - if ("serial" in navigator) { - this.myserialport = new MySerialPort(); - this.getPorts(); - navigator.serial.addEventListener("connect", (e) => { - this.$message.success("璁惧宸茶繛鎺�"); - this.getPorts(); - }); - navigator.serial.addEventListener("disconnect", (e) => { - this.$message.error("璁惧宸叉柇寮�"); - }); - this.restaurants = this.loadAll(); - } else { - this.$message.error( - "褰撳墠涓篐TTP妯″紡鎴栬�呮祻瑙堝櫒鐗堟湰杩囦綆锛屼笉鏀寔缃戦〉杩炴帴涓插彛" - ); - } }, computed: { isDisable() { @@ -414,68 +435,65 @@ }, }, methods: { + setFocus(){ + this.$nextTick(()=>{ + this.$refs.inputData.focus() + }) + }, + changeMenu(tab, event) { + 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.substring(35,56).includes("SSW001.001#HHW001.001")){ + 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(); + } + }else { + this.$message("鐗堟湰鍙锋牎楠岄敊璇紝璇锋鏌ワ紒"+this.materialCode); + } } - 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("宸茬粡鏈夊伐鍗曚簡锛屼笉鑳芥帴鏀讹紒"); - } - }, - bindcardCode(scanValue){ - // this.$message('缁戝畾鎴愬姛锛�'); - let param = { - productNum: this.headContent.sfcCode, - trolleyYard: scanValue, - } - trolleyYardBinDing(param).then(response => { - }); + }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() { 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); - if(this.btnType === "danger"){ - this.$message('杩炴帴浜嗭紒'); - - }else { - this.$message('mei杩炴帴浜嗭紒'); - - } }, serialPortMethod(value){ let formulaChildParams = { @@ -549,9 +567,7 @@ this.headContent.sfcCode = ''; this.headContent.yzSfcCode = ''; this.headContent.cardCode = ''; - }, - changeMenu(tab, event) { - console.log(tab, event); + this.workpieceInformation.planQty = '' }, clearClick(){ const param = { @@ -560,34 +576,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('娓呴櫎鎴愬姛锛�'); - }, - scanCompleted(){ - this.$message('鎵爜瀹屾垚'+this.content); - this.headContent.sfcCode = this.content - this.queryParams.sfcCode = this.content + this.setFocus(); this.getList() - this.getListFormulaChild() - this.cakeLamp.scanFinish = 1 - this.cakeLamp.startWork = 1 }, /** 鏌ヨ宸ュ崟鍒楄〃 */ 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(){ @@ -596,12 +626,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' } }); }, @@ -619,30 +655,38 @@ padTimeUnit(value) { return value.toString().padStart(2, '0'); }, - addBaseData(){ - addBasicParameters(this.passingStationForm).then(response => {}); - }, - /** 鍏ョ珯澧炲姞杩囩珯閲囬泦璁板綍 **/ - addOverStationCollection(){ - this.passingStationForm = { - id: null, - workOrderNo: this.workpieceInformation.workOrderNo, - productCode: this.workpieceInformation.productCode, - 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 => {}); - }, exit() { if (this.ws) { this.ws.close(); 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) { @@ -666,9 +710,15 @@ 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 + } }); - this.conCom() console.log('websocket杩炴帴宸ヤ綅涓�' + this.headContent.processesCode) const wsuri = this.url + this.headContent.processesCode; this.ws = new WebSocket(wsuri); @@ -680,15 +730,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; - 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 === "twoHundredAndThirtyEND"){ + self.endClear() } else if (event.data === "OUT") { self.cakeLamp.release = 1; } else if (event.data === "END") { @@ -724,7 +772,37 @@ console.log("杩涘叆鏈�缁堟柟娉�") self.endSaveData(param) - } else if (event.data.includes("[")) { + } else if(event.data.includes("productNum")){//浜у搧搴忓垪鍙� + let productNum = event.data.split(',')[1]; + 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#SSW001.001#HHW001.001#NMCU' + } + + }else if (event.data.includes("[")) {//鎷х揣 let formulaChilds = ""; self.formulaChildList.sort((a, b) => a.stepSort - b.stepSort); self.formulaChildList @@ -738,10 +816,10 @@ break; } } - if(formulaChilds === ""){ - self.$message.error('鏈伐浣嶅凡宸ヤ綔瀹屾垚锛�'); - return; - } + if(formulaChilds === ""){ + self.$message.error('鏈伐浣嶅凡宸ヤ綔瀹屾垚锛�'); + return; + } const param = { id: formulaChilds.id, tightenTheArray: event.data, @@ -754,12 +832,15 @@ spareField2: formulaChilds.spareField2, spareField3: formulaChilds.spareField3, spareField4: formulaChilds.spareField4, - stepSort: formulaChilds.stepSort + 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 => {}); @@ -768,15 +849,6 @@ self.getListFormulaChild() }); } - }else if(event.data.includes("productNum")){ - let productNum = event.data.split(',')[1]; - self.headContent.sfcCode = productNum; - self.queryParams.productNum = productNum; - self.getList() - self.cakeLamp.scanFinish = 1 - self.cakeLamp.startWork = 1 - self.cakeLamp.InPlace = 1 - } }; }, @@ -788,263 +860,20 @@ workpieceRelease(param).then(response => {}); }); }, - - //鎺ュ彈鏁版嵁鐨勫洖璋� - callBack(value) { - if (this.form1.isShowHistory) this.form1.desc = this.readLi().join(""); - else { - const scanValue = this.myserialport.hex2atostr(value).replace(/[\r\n]/g, ''); - console.log("涓插彛鏀跺埌鏁版嵁-------------------"+scanValue) - console.log("sfc=--"+this.headContent.sfcCode+"--") - if(this.headContent.sfcCode !== '' && this.headContent.sfcCode !== null - && this.headContent.sfcCode !== undefined){ - if(scanValue.includes("0RSP1TE") && this.headContent.processesCode === 'OP240'){ - this.headContent.cardCode = scanValue - this.bindcardCode(scanValue); - this.serialPortMethod(scanValue) - }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 - this.cakeLamp.InPlace = 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.getList() - // this.cakeLamp.scanFinish = 1 - // this.cakeLamp.startWork = 1 - // this.cakeLamp.InPlace = 1 - // }else { - // this.$message('娌℃湁搴忓垪鍙�'+scanValue); - // return - // } - // }); - // } - - } - - } - }, - clearHistory() { - this.form1.desc = ""; - this.myserialport.state.readValue = []; - }, - loadHistory() { - if (this.form1.isShowHistory) this.form1.desc = this.readLi().join(""); - else { - let temp = this.readLi(); - if (temp.length > 0) this.form1.desc = temp[temp.length - 1].join(""); - } - }, - readLi() { - let readType = this.readType; - return this.myserialport.state.readValue.map((items, index) => { - const item = items.value; - const type = items.type; // 1鎺ユ敹锛�2鍙戦�� - let body = []; - if (item !== undefined) { - let strArr = []; - for (let hex of Array.from(item)) { - strArr.push(hex.toString(16).toLocaleUpperCase()); - } - if (strArr.includes("D") && strArr.includes("A")) { - if (strArr.indexOf("A") - strArr.indexOf("D") === 1) { - strArr.splice(strArr.indexOf("D"), 1); - strArr.splice(strArr.indexOf("A"), 1, <br key={0} />); - } - } - strArr = strArr.map((item) => { - if (typeof item === "string") { - if (readType === 1) { - return this.myserialport.hex2a(parseInt(item, 16)); - } else if (readType === 2) { - return item + " "; - } - } - return item; - }); - if (typeof strArr[strArr.length - 1] === "string") { - strArr.push("\r\n"); - } - body.push(strArr.join("")); - } - 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") { - 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; - await this.myserialport.openPort(this.form1.port, true, this.callBack); - console.log(this.form1.port) - } catch (error) { - this.$message.error("涓插彛杩炴帴澶辫触锛佽妫�鏌ヤ覆鍙f槸鍚﹀凡琚崰鐢�"); - } - if (this.myserialport.state.isOpen) { - this.$message.success("涓插彛杩炴帴鎴愬姛"); - this.open1 = false - this.btnType = "danger"; - this.btnText = "鍏抽棴涓插彛"; - } - } else { - this.myserialport.openPort(this.form1.port, false, this.callBack); - this.$message.success("涓插彛鍏抽棴鎴愬姛"); - this.btnType = "primary"; - this.btnText = "杩炴帴涓插彛"; - } - }, - //鎺堟潈 - async obtainAuthorization() { - if ("serial" in navigator) { - console.log("The Web Serial API is supported."); - if (!this.myserialport) this.myserialport = new MySerialPort(); - try { - await this.myserialport.handleRequestPort(); - this.$message.success("涓插彛鎺堟潈鎴愬姛"); - this.getPortInfo(this.myserialport.state.ports); - } catch (error) { - this.$message.warning("鏈�夋嫨鏂颁覆鍙f巿鏉冿紒"); - } - } else { - this.$message.error( - "褰撳墠涓篐TTP妯″紡鎴栬�呮祻瑙堝櫒鐗堟湰杩囦綆锛屼笉鏀寔缃戦〉杩炴帴涓插彛" - ); - } - }, - //涓插彛鍒楄〃鍒濆鍖� - getPortInfo(portList) { - this.portsList = []; - portList.map((port, index) => { - const { usbProductId, usbVendorId } = port.getInfo(); - if (usbProductId === undefined || usbVendorId === undefined) { - this.portsList.push({ label: "鏈煡璁惧" + index, value: index }); - } else { - const usbVendor = USBDevice.filter( - (item) => parseInt(item.vendor, 16) === usbVendorId - ); - let usbProduct = []; - if (usbVendor.length === 1) { - usbProduct = usbVendor[0].devices.filter( - (item) => parseInt(item.devid, 16) === usbProductId - ); - } - this.portsList.push({ label: usbProduct[0].devname, value: index }); - } - }); - }, - // 鍙戦�� - async sendCommon() { - if (this.myserialport.state.isOpen) { - if (this.form1.sendMsg.length !== 0) { - const writeType = this.form1.type; - let value = this.form1.sendMsg; - let arr = []; - if (writeType === 1) { - // ASCII - for (let i = 0; i < value.length; i++) { - arr.push(this.myserialport.a2hex(value[i])); - } - } else if (writeType === 2) { - // HEX - if (/^[0-9A-Fa-f]+$/.test(value) && value.length % 2 === 0) { - for (let i = 0; i < value.length; i = i + 2) { - arr.push(parseInt(value.substring(i, i + 2), 16)); - } - } else { - this.$message.error("鏍煎紡閿欒"); - return; - } - } - this.myserialport.writeText(arr); - } else { - this.$message.warning("璇疯緭鍏ュ彂閫佺殑淇℃伅"); - } - } else { - this.$message.warning("涓插彛澶勪簬鍏抽棴鐘舵�侊紝璇疯繛鎺ヤ覆鍙�"); - } - }, - async getPorts() { - await this.myserialport.getPorts(); - this.getPortInfo(this.myserialport.state.ports); - }, - querySearch(queryString, cb) { - var restaurants = this.restaurants; - var results = queryString - ? restaurants.filter(this.createFilter(queryString)) - : restaurants; - // 璋冪敤 callback 杩斿洖寤鸿鍒楄〃鐨勬暟鎹� - cb(results); - }, - createFilter(queryString) { - return (restaurant) => { - return ( - restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === - 0 - ); - }; - }, - loadAll() { - return [ - { value: "110" }, - { value: "300" }, - { value: "600" }, - { value: "1200" }, - { value: "2400" }, - { value: "4800" }, - { value: "7200" }, - { value: "9600" }, - { value: "14400" }, - { value: "19200" }, - { value: "28800" }, - { value: "38400" }, - { value: "56000" }, - { value: "57600" }, - { value: "76800" }, - { value: "115200" }, - { value: "230400" }, - { value: "460800" }, - ]; - }, } } </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