| | |
| | | <el-descriptions-item label="小车码"> |
| | | <span>{{headContent.cardCode}}</span> |
| | | </el-descriptions-item> |
| | | <!-- <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-col> |
| | | |
| | | </el-row> |
| | | <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-row v-show="goOnlineFlag" style="margin-top: 20px"> |
| | | <el-button @click="getWorkOrders" type="primary">接收工单</el-button> |
| | | |
| | | <div style="display: none"> |
| | | <div id="getWorkOrdersPrintPrintMe" style="width: 500px;"> |
| | | <div ref="canvasWrapper" id="canvasWrapper3" style="display: flex;justify-content: center;"></div> |
| | | <p style="font-size: 10px;word-break: break-all;display: flex;justify-content: center;">{{packCode}}</p> |
| | | </div> |
| | | <!-- <el-button @click="print">打印</el-button>--> |
| | | <el-button @click="test1">生成二维码</el-button> |
| | | </div> |
| | | </el-row> |
| | | |
| | | <el-row v-show="offlineFlag" style="margin-top: 20px"> |
| | | <el-button id="print" v-print="'#printMe'" type="primary">打印三联码</el-button> |
| | | <el-button style="display: none" @click="test1">生成二维码</el-button> |
| | | <el-button style="display: none" @click="test2">生成 |
| | | <span style="font-size: 10px;margin-left: 52px">MADE IN CHINA</span><br> |
| | | <br> |
| | | <br>二维码</el-button> |
| | | <div style="display: none"> |
| | | <div id="printMe"> |
| | | <br> |
| | | <p style="margin-left: 53px">{{printInfoData.partNumber}}</p> |
| | | <p style="margin-left: 53px">{{printInfoData.hardwareVersion}}</p> |
| | | <p style="margin-left: 53px">{{printInfoData.softwareVersion}}</p> |
| | | <br> |
| | | <br> |
| | | <br> |
| | | <br> |
| | | <img style="width: 140px;height: 20px;margin-left: 30px" :src="require('@/assets/images/a8963a24920640508e96150a053fc41.png')"/> |
| | | <span style="margin-left: 72px">{{printInfoData.printModel}}</span><br> |
| | | <span style="margin-left: 73px">{{printInfoData.supplierCode}}</span><br> |
| | | <span style="margin-left: 55px">{{printInfoData.partNumber}}</span><br> |
| | | <span style="font-size: 10px;margin-left: 28px;">{{headContent.sfcCode}}</span><br> |
| | | <span style="font-size: 10px;margin-left: 60px">MADE IN CHINA</span><br> |
| | | |
| | | <br> |
| | | <br> |
| | | <br> |
| | | <div ref="canvasWrapper" id="canvasWrapper1" style="display: flex;justify-content: center;margin-top: -27px;"></div> |
| | | <span style="font-size: 10px;word-break: break-all;display: flex;justify-content: center;width: 155px;margin-left: 20px;margin-top: 3px">P{{printInfoData.partNumber}}#T{{headContent.sfcCode}}#V{{printInfoData.supplierCode}}#S{{printInfoData.softwareVersion}}#H{{printInfoData.hardwareVersion}}#NBMS#</span> |
| | | <br> |
| | | <br> |
| | | <div ref="canvasWrapper" id="canvasWrapper2" style="display: flex;justify-content: center;margin-top: -27px"></div> |
| | | <span style="font-size: 10px;word-break: break-all;display: flex;justify-content: center;width: 155px;margin-left: 20px;margin-top: 3px">P{{printInfoData.partNumber}}#T{{headContent.sfcCode}}#V{{printInfoData.supplierCode}}#S{{printInfoData.softwareVersion}}#H{{printInfoData.hardwareVersion}}#NBMS#</span> |
| | | </div> |
| | | </div> |
| | | </el-row> |
| | | </el-card> |
| | | |
| | | </el-col> |
| | |
| | | <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>--> |
| | | <el-table-column label="拧紧步号" width="80" align="center" prop="stepSort"> |
| | | </el-table-column> |
| | | <el-table-column label="操作内容" align="center" prop="operationSteps"> |
| | | </el-table-column> |
| | | <!-- <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="物料编码" width="140" align="center" prop="materialCode"> |
| | |
| | | |
| | | </el-table> |
| | | </el-col> |
| | | <!-- <el-col :span="14">--> |
| | | <!-- <el-image style="height: 520px;width: 100%" :src="imgSrc"></el-image>--> |
| | | <!-- </el-col>--> |
| | | </el-tab-pane> |
| | | <!-- <el-tab-pane name="second">--> |
| | | <!-- <span slot="label"> <b class="el-icon-date"></b>物料BOM</span>--> |
| | | <!-- <el-empty>--> |
| | | <!-- <span slot="description">暂无数据</span>--> |
| | | <!-- </el-empty>--> |
| | | <!-- </el-tab-pane>--> |
| | | <!-- <el-tab-pane name="third">--> |
| | | <!-- <span slot="label"> <b class="el-icon-date"></b>采集清单</span>--> |
| | | <!-- <el-empty>--> |
| | | <!-- <span slot="description">暂无数据</span>--> |
| | | <!-- </el-empty>--> |
| | | <!-- </el-tab-pane>--> |
| | | <!-- <el-tab-pane name="fourth">--> |
| | | <!-- <span slot="label"> <b class="el-icon-date"></b>安灯状态</span>--> |
| | | <!-- <el-empty>--> |
| | | <!-- <span slot="description">暂无数据</span>--> |
| | | <!-- </el-empty>--> |
| | | <!-- </el-tab-pane>--> |
| | | <!-- <el-tab-pane name="fifth">--> |
| | | <!-- <span slot="label"> <b class="el-icon-date"></b>工艺配方</span>--> |
| | | <!-- <el-empty>--> |
| | | <!-- <span slot="description">暂无数据</span>--> |
| | | <!-- </el-empty>--> |
| | | <!-- </el-tab-pane>--> |
| | | </el-tabs> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | saveCampaignTimeParameters, |
| | | replaceAssemblyCode, checkRecordDataDone, enterWeighing, |
| | | } from "@/api/main/da/paramCollection/paramCollection"; |
| | | import QRCode from "qrcodejs2"; |
| | | import {listEquipmentArchives} from "@/api/main/em/equipmentArchives/equipmentArchives"; |
| | | |
| | | export default { |
| | | name: "stationTerminal", |
| | | data() { |
| | | return { |
| | | printInfoData: { |
| | | softwareVersion: 'SW001.001', //软件版本号 |
| | | hardwareVersion: 'HW001.001', //硬件版本号 |
| | | printModel: 'H2155D', //型号 |
| | | partNumber: '9900200136', //零部件号 |
| | | supplierCode: '993983', //供应商编码 |
| | | }, |
| | | carCode: '', |
| | | showInput: false, |
| | | onLineBinDing: false, |
| | | goOnlineFlag: false, |
| | | offlineFlag: false, |
| | | |
| | | |
| | | serialPortContent: '', |
| | | // 查询参数 |
| | |
| | | originalArray: [], |
| | | yzSfcFlag: 1, |
| | | endYz: false, |
| | | packCode: 'test111' |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | |
| | | computed: { |
| | | isDisable() { |
| | | return this.btnType === "danger"; |
| | | }, |
| | | } |
| | | }, |
| | | methods: { |
| | | |
| | | //接收工单-------开始 |
| | | getWorkOrdersPrint() { |
| | | let newStr = document.getElementById('getWorkOrdersPrintPrintMe').innerHTML; |
| | | const printFrame = document.createElement('iframe'); |
| | | printFrame.style.display = 'none'; |
| | | document.body.appendChild(printFrame); |
| | | const content = document.getElementById('getWorkOrdersPrintPrintMe').innerHTML; |
| | | printFrame.contentDocument.write(content); |
| | | printFrame.contentWindow.print(); |
| | | document.body.removeChild(printFrame); |
| | | return false; |
| | | }, |
| | | async getWorkOrders(){ |
| | | await receivingWorkOrders().then(response => { |
| | | this.packCode = response.msg; |
| | | this.getWorkOrdersTest1() |
| | | }); |
| | | setTimeout(() => { |
| | | this.getWorkOrdersPrint() |
| | | },50) |
| | | }, |
| | | getWorkOrdersTest1(){ |
| | | document.getElementById('canvasWrapper3').innerHTML = '' |
| | | this.$nextTick(() => { |
| | | let qrCode = new QRCode('canvasWrapper3',{ |
| | | width: 80, |
| | | height: 80, |
| | | padding: 0, |
| | | margin: 0, |
| | | text: this.packCode, |
| | | colorDark: '#000', |
| | | colorLight: '#fff' |
| | | }) |
| | | }) |
| | | }, |
| | | //接收工单-------结束 |
| | | |
| | | //下线打印-------开始 |
| | | initializePrintInfoData(){ |
| | | listEquipmentArchives().then(response => { |
| | | this.printInfoData.softwareVersion = response.rows[0].equipmentCode |
| | | this.printInfoData.hardwareVersion = response.rows[0].equipmentName |
| | | this.printInfoData.supplierCode = response.rows[0].equipmentSpec |
| | | this.printInfoData.printModel = response.rows[0].equipmentBrand |
| | | this.printInfoData.partNumber = response.rows[0].equipmentTypeName |
| | | console.log(response.rows[0]) |
| | | }); |
| | | }, |
| | | test1(){ |
| | | document.getElementById('canvasWrapper1').innerHTML = ''; |
| | | this.$nextTick(() => { |
| | | let qrCode = new QRCode('canvasWrapper1',{ |
| | | width: 120, |
| | | height: 120, |
| | | text: 'P'+this.printInfoData.partNumber+'#T'+ this.headContent.sfcCode +'#V'+this.printInfoData.supplierCode+'#S'+this.printInfoData.softwareVersion+'#H'+this.printInfoData.hardwareVersion+'#NBMS#', |
| | | colorDark: '#000', |
| | | colorLight: '#fff' |
| | | }) |
| | | } |
| | | ) |
| | | }, |
| | | test2(){ |
| | | document.getElementById('canvasWrapper2').innerHTML = ''; |
| | | this.$nextTick(() => { |
| | | let qrCode = new QRCode('canvasWrapper2',{ |
| | | width: 120, |
| | | height: 120, |
| | | text: 'P'+this.printInfoData.partNumber+'#T'+ this.headContent.sfcCode +'#V'+this.printInfoData.supplierCode+'#S'+this.printInfoData.softwareVersion+'#H'+this.printInfoData.hardwareVersion+'#NBMS#', |
| | | colorDark: '#000', |
| | | colorLight: '#fff' |
| | | }) |
| | | } |
| | | ) |
| | | }, |
| | | print1() { |
| | | // 使用插件打印方式 |
| | | // this.$print(this.$refs.printMe) |
| | | // this.initializePrintInfoData() |
| | | // if(this.headContent.sfcCode){ |
| | | // //新页面打印 |
| | | // // let newStr = document.getElementById('printMe').innerHTML; |
| | | // // let newWin = window.open('', '_blank',st); |
| | | // // newWin.document.body.innerHTML = newStr; |
| | | // // newWin.print(); |
| | | // // 本页面打印 |
| | | // let newStr = document.getElementById('printMe').innerHTML; |
| | | // const printFrame = document.createElement('iframe'); |
| | | // printFrame.style.display = 'none'; |
| | | // document.body.appendChild(printFrame); |
| | | // const content = document.getElementById('printMe').innerHTML; |
| | | // printFrame.contentDocument.write(content); |
| | | // printFrame.contentWindow.print(); |
| | | // console.log(printFrame) |
| | | // // document.body.removeChild(printFrame); |
| | | // console.log(printFrame) |
| | | // return false; |
| | | // }else { |
| | | // this.$message.error('未扫描总成码禁止打印!'); |
| | | // } |
| | | }, |
| | | //下线打印-------截止 |
| | | bindcardCode(scanValue){ |
| | | // this.$message('绑定成功!'); |
| | | let param = { |
| | |
| | | }, |
| | | /** 查询工单列表 */ |
| | | async getList() { |
| | | this.initializePrintInfoData() |
| | | await listProductionOrde(this.queryParams).then(response => { |
| | | let rowsData = response.rows[0]; |
| | | console.log(rowsData) |
| | |
| | | this.headContent.cardCode = rowsData.trolleyYard; |
| | | this.formulaChildParams.artificialNgFlag = rowsData.artificialNgFlag; |
| | | }); |
| | | if(this.headContent.processesCode === 'POP430'){ |
| | | this.test1() |
| | | this.test2() |
| | | } |
| | | this.getListFormulaChild() |
| | | // this.addOverStationCollection() |
| | | this.workpieceInformation.inboundTime = this.getCurrentTime() |
| | |
| | | this.cakeLamp.InPlace = response.data |
| | | }); |
| | | |
| | | if(this.headContent.processesCode === 'POP230'){ |
| | | this.goOnlineFlag = true |
| | | } |
| | | if(this.headContent.processesCode === 'POP430'){ |
| | | this.offlineFlag = true |
| | | } |
| | | |
| | | }); |
| | | this.conCom() |
| | | console.log('websocket连接工位为' + this.headContent.processesCode) |
| | |
| | | this.ws = new WebSocket(wsuri); |
| | | const self = this; |
| | | this.ws.onopen = function (event) { |
| | | this.$message('websocket连接成功!'); |
| | | self.$message('websocket连接成功!'); |
| | | |
| | | }; |
| | | this.ws.onmessage = function (event) { |
| | | if (event.data === "IN") { |
| | | if (event.data === "print") { |
| | | self.$message('postman调用打印方法打印!'); |
| | | // self.print1() |
| | | document.getElementById('print').click(); |
| | | }else if (event.data === "IN") { |
| | | self.cakeLamp.InPlace = 1; |
| | | } else if (event.data === "NG") { |
| | | //给plc发下线信号 |
| | |
| | | inboundTime: self.workpieceInformation.inboundTime, |
| | | formulaChildEntity: self.formulaChildList[formulaChildIndex] |
| | | } |
| | | |
| | | // if(param.locationCode === 'POP430'){ |
| | | // let enterWeighingparam = { |
| | | // sfcCode: param.productBarcode, |
| | | // } |
| | | // enterWeighing(enterWeighingparam).then(response => { |
| | | // }); |
| | | // } |
| | | |
| | | console.log("进入最终方法") |
| | | self.endSaveData(param) |
| | |
| | | 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); |