| | |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="0" > |
| | | <el-col :span="14"> |
| | | <el-card class="box-card" style="margin-top: 5px" > |
| | | <el-form ref="form" :model="form" label-width="25%" > |
| | | <el-form-item prop="engineNo" style="margin-top: 16px"> |
| | | <span slot="label" style="font-size:22px;color:black;"><strong>发动机号</strong></span> |
| | | <el-input style="font-size:20px" v-model="form.engineNo" placeholder="请输入发动机号" clearable @input="EngineNohandleChange"> |
| | | <el-button slot="append" plain type="info" @click="EngineNohandleChange" icon="el-icon-search"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form ref="form" :model="form" label-width="25%" > |
| | | <el-form-item prop="productType"style="margin-top: 30px" > |
| | | <span slot="label" style="font-size:22px;color:black"><strong>机型</strong></span> |
| | | <el-input disabled style="font-size:20px" value="form.productType" v-model="form.productType" placeholder="" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form ref="form" :model="form" label-width="25%" > |
| | | <el-form-item prop="orderNo" style="margin-top: 30px"> |
| | | <span slot="label" style="font-size:22px;color:black"><strong>工单编号</strong></span> |
| | | <el-input disabled style="font-size:20px" v-model="form.orderNo" placeholder="" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form ref="form" :model="form" label-width="25%" > |
| | | <el-form-item prop="currentWorkstation" style="margin-top: 30px"> |
| | | <span slot="label" style="font-size:22px;color:black"><strong>质量状态</strong></span> |
| | | <el-input disabled style="font-size:20px" v-model:value="form.add" placeholder="" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-divider></el-divider> |
| | | <el-row :gutter="0" > |
| | | <el-col :span="14"> |
| | | <el-card class="box-card" style="margin-top: 5px" > |
| | | <el-form ef="form" label-width="25%" :model="form" :inline="true" style="margin-top: 80px;margin-block: 80px" @submit.native.prevent> |
| | | <el-form-item :prop="form.engineNo" style="align-content: center"> |
| | | <span slot="label" style="font-size:22px;color:black"><strong>工单编号</strong></span> |
| | | <input v-model="form.engineNo" |
| | | ref="inputdata" |
| | | style="height: 40px; width: 300px;font-size:18px" |
| | | placeholder="请输入发动机码" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <!-- <el-form ref="form" :model="form" label-width="25%" >--> |
| | | <!-- <el-form-item prop="productType"style="margin-top: 30px" >--> |
| | | <!-- <span slot="label" style="font-size:22px;color:black"><strong>机型</strong></span>--> |
| | | <!-- <el-input disabled style="font-size:20px" value="form.productType" v-model="form.productType" placeholder="" />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-form>--> |
| | | <!-- <el-form ref="form" :model="form" label-width="25%" >--> |
| | | <!-- <el-form-item prop="orderNo" style="margin-top: 30px">--> |
| | | <!-- <span slot="label" style="font-size:22px;color:black"><strong>工单编号</strong></span>--> |
| | | <!-- <el-input disabled style="font-size:20px" v-model="form.orderNo" placeholder="" />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-form>--> |
| | | <!-- <el-form ref="form" :model="form" label-width="25%" >--> |
| | | <!-- <el-form-item prop="currentWorkstation" style="margin-top: 30px">--> |
| | | <!-- <span slot="label" style="font-size:22px;color:black"><strong>质量状态</strong></span>--> |
| | | <!-- <el-input disabled style="font-size:20px" v-model:value="form.add" placeholder="" />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-form>--> |
| | | <el-divider></el-divider> |
| | | |
| | | <el-row :gutter="10" class="mb8" type="flex" justify="center" style="text-align: center"> |
| | | <el-col :span="1.5"> |
| | | <el-button plain :disabled="buttondisabled" type="primary" style="width:400px;height:160px" v-hasPermi="['bs:formula:add']" @click="forceOnline"> |
| | | <span class="el-icon-thumb" style="font-size:40px;color:black"></span> |
| | | <span style="font-size:45px;color:black"><strong>强制上线</strong></span> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </el-card> |
| | | </el-col> |
| | | <el-row :gutter="10" class="mb8" type="flex" justify="center" style="text-align: center"> |
| | | <el-col :span="1.5"> |
| | | <el-button plain @click="ScannerInput" type="primary" style="width:400px;height:160px" v-hasPermi="['bs:formula:add']"> |
| | | <span class="el-icon-thumb" style="font-size:40px;color:black"></span> |
| | | <span style="font-size:45px;color:black"><strong>手动扫码上线</strong></span> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </el-card> |
| | | </el-col> |
| | | |
| | | <el-col :span="10" inline style="margin-top: 5px"> |
| | | <el-card class="custom-content" style="height: 530px" > |
| | | <el-col :span="14"style=" "> |
| | | <span style="font-size:25px"><strong>质量数据</strong></span> |
| | | <el-divider></el-divider> |
| | | {{this.form.engineCheckList}} |
| | | </el-col> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | <el-col :span="10" inline style="margin-top: 5px"> |
| | | <el-card class="custom-content" style="height: 453px" > |
| | | <el-col :span="14"style=" "> |
| | | <span style="font-size:25px"><strong>结果数据</strong></span> |
| | | <el-divider></el-divider> |
| | | {{this.form.engineCheckList}} |
| | | </el-col> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | |
| | | |
| | | import { listOrderScheduling, getOrderScheduling, delOrderScheduling, addOrderScheduling, updateOrderScheduling } from "@/api/main/bs/orderScheduling/orderScheduling"; |
| | | import { listPassingStationCollection, getPassingStationCollection, delPassingStationCollection, addPassingStationCollection, updatePassingStationCollection } from "@/api/main/da/passingStationCollection/passingStationCollection"; |
| | | import {listPassingStationCollection, getPassingStationCollection, delPassingStationCollection, addPassingStationCollection, updatePassingStationCollection,initializedData } from "@/api/main/da/passingStationCollection/passingStationCollection"; |
| | | import {listLineInfo} from "@/api/main/bs/lineInfo/lineInfo"; |
| | | import { setSNCode } from "@/api/main/da/opcuaconfig/opcuaconfig"; |
| | | import {getIp, listStationConf} from "@/api/main/sc/stationConf"; |
| | | import {time} from "echarts"; |
| | | |
| | | export default { |
| | | components: { }, |
| | |
| | | engineCheckList:[], |
| | | showFlag:false, |
| | | buttondisabled:true, |
| | | locationCode: "未配置", |
| | | locationCode: "未配置IP", |
| | | locationName: "未配置工位", |
| | | |
| | | codeValue: "", |
| | | code: "", |
| | | lastTime: "", |
| | | nextTime: "", |
| | | lastCode: "", |
| | | nextCode: "", |
| | | dtmainId: "", |
| | | scannerFlag: false, |
| | | barcode: "", |
| | | |
| | | // 查询参数 |
| | | queryParams: { |
| | |
| | | }, |
| | | computed: {}, |
| | | watch: {}, |
| | | created() { |
| | | window.document.onkeypress = (e) => { |
| | | if (window.event) { |
| | | this.nextCode = e.keyCode; |
| | | } else if (e.which) { |
| | | this.nextCode = e.which; |
| | | } |
| | | if (e.which === 13) { |
| | | // 键盘回车事件 |
| | | if (this.code.length < 3) return; // 扫码枪的速度很快,手动输入的时间不会让code的长度大于2,所以这里不会对扫码枪有效 |
| | | this.parseQRCode(this.code); // 获取到扫码枪输入的内容,做别的操作 |
| | | this.lastCode = ""; |
| | | this.lastTime = ""; |
| | | return; |
| | | } |
| | | this.nextTime = new Date().getTime(); |
| | | if (!this.lastTime && !this.lastCode) { |
| | | this.code = ""; // 清空上次的条形码 |
| | | this.code += e.key; |
| | | } |
| | | if (this.lastCode && this.lastTime && this.nextTime - this.lastTime > 500) { |
| | | // 当扫码前有keypress事件时,防止首字缺失 |
| | | this.code = e.key; |
| | | } else if (this.lastCode && this.lastTime) { |
| | | this.code += e.key; |
| | | } |
| | | this.lastCode = this.nextCode; |
| | | this.lastTime = this.nextTime; |
| | | }; |
| | | |
| | | beforeDestroy() { |
| | | this.$refs.inputdata.removeEventListener('keydown',this.handleScannerInput) |
| | | }, |
| | | mounted() { |
| | | this.setFocus() |
| | | this.$refs.inputdata.addEventListener('keydown',this.handleScannerInput) |
| | | this.getStationConf(); |
| | | }, |
| | | methods: { |
| | | |
| | | refresh() { |
| | | location.reload(); |
| | | }, |
| | | setFocus(){ |
| | | this.$nextTick(()=>{ |
| | | this.$refs.inputdata.focus() |
| | | }) |
| | | }, |
| | | handleScannerInput(event){ |
| | | if (this.scannerFlag){ |
| | | this.form.engineNo = '' |
| | | this.$refs.inputdata.value = '' |
| | | this.scannerFlag = false |
| | | } |
| | | const input = event.target |
| | | const inputValue = input.value |
| | | this.form.engineNo = inputValue |
| | | if (event.key === 'Enter'){ |
| | | this.scannerFlag = true |
| | | console.log("条码:",this.form.engineNo) |
| | | console.log("条码2:",this.locationCode) |
| | | if(this.form.engineNo !== null && this.form.engineNo !== '') { |
| | | |
| | | console.log("条码3:",this.form.engineCheckList) |
| | | initializedData({sfcCode:this.form.engineNo,locationCode:this.locationCode}).then(res =>{ |
| | | if(res.code===500){ |
| | | this.$createElement; |
| | | }else { |
| | | |
| | | addPassingStationCollection({sfcCode:this.form.engineNo,locationCode:this.locationCode}).then(res =>{ |
| | | console.log("rrrrr",res)} |
| | | ) |
| | | this.$message({ |
| | | message: '扫码成功', |
| | | type: 'success' |
| | | }); |
| | | this.scanResult(); |
| | | } |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | message: '未完成扫码', |
| | | type: 'error' |
| | | }); |
| | | this.reset(); |
| | | this.buttondisabled = true |
| | | } |
| | | } |
| | | |
| | | }, |
| | | |
| | | |
| | | |
| | | ScannerInput(){ |
| | | console.log("条码:",this.form.engineNo) |
| | | console.log("条码2:",this.locationCode) |
| | | if(this.form.engineNo !== null && this.form.engineNo !== '') { |
| | | initializedData({sfcCode:this.form.engineNo,locationCode:this.locationCode}).then(res =>{ |
| | | if(res.code===500){ |
| | | this.$createElement; |
| | | }else { |
| | | addPassingStationCollection({sfcCode:this.form.engineNo,locationCode:this.locationCode}).then(res =>{ |
| | | console.log("rrrrr",res)}) |
| | | this.$message({ |
| | | message: '扫码成功', |
| | | type: 'success' |
| | | }); |
| | | this.scanResult(); |
| | | } |
| | | }) |
| | | } |
| | | else { |
| | | this.$message({ |
| | | message: '未完成扫码', |
| | | type: 'error' |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | scanResult(){ |
| | | this.currentDate = new Date().toLocaleDateString(); |
| | | this.currentTime = new Date().toLocaleTimeString(); |
| | | this.form.engineCheckList = "条码:"+this.form.engineNo +"\n扫码时间:" + this.currentDate+"/"+this.currentTime ; |
| | | }, |
| | | |
| | | getStationConf() { |
| | | getIp().then(response => { |
| | | let queryParams = { |
| | |
| | | qualityStatus:null, |
| | | currentWorkstation: null, |
| | | add: null, |
| | | engineCheckList:'暂无数据', |
| | | engineCheckList:'', |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | EngineNohandleChange(){ |
| | | console.log('条码:',this.form.engineNo) |
| | | if(this.form.engineNo !== null && this.form.engineNo !== undefined){ |
| | | //let OrderSchedulingParam = {engineNo: null} |
| | | setSNCode(this.form.engineNo,this.locationCode) |
| | | //OrderSchedulingParam.engineNo = this.form.engineNo; |
| | | /* listOrderScheduling(OrderSchedulingParam).then(response => { |
| | | if(response.total === 1 ){ |
| | | this.form.productType = response.rows[0].model |
| | | this.form.orderNo = response.rows[0].orderNo |
| | | this.form.qualityStatus = response.rows[0].qualityStatus |
| | | this.form.currentWorkstation = response.rows[0].currentWorkstation |
| | | this.form.add= response.rows[0].currentWorkstation+ response.rows[0].qualityStatus |
| | | if(this.form.qualityStatus ==='不合格'){ |
| | | this.buttondisabled = false; |
| | | } |
| | | else{ |
| | | this.buttondisabled = true; |
| | | } |
| | | } |
| | | else{ |
| | | this.reset(); |
| | | this.buttondisabled = true |
| | | const h = this.$createElement; |
| | | this.$message({ |
| | | message: h('p',null, [ |
| | | h('span', null, '警告 '), |
| | | h('i', { style: 'color: black' }, '输入的发动机号有误'), |
| | | h()]), |
| | | type: 'error', |
| | | center: true, |
| | | offset:300 |
| | | }); |
| | | } |
| | | });*/ |
| | | /*let PassingStationCollectionParam = {sfcCode: null} |
| | | PassingStationCollectionParam.sfcCode = this.form.engineNo; |
| | | listPassingStationCollection(PassingStationCollectionParam).then(ponse =>{ |
| | | this.engineCheckList = ponse.rows.locationCode ; |
| | | if(ponse.rows.length >= 1 && this.form.engineNo !== undefined){ |
| | | this.form.engineCheckList = '' |
| | | for (let i = 0; i < ponse.rows.length; i++) { |
| | | this.form.engineCheckList += ' 工位:'+ ponse.rows[i].locationCode+'['+ponse.rows[i].outRsSign+']' |
| | | } |
| | | } |
| | | else{ |
| | | this.form.engineCheckList = '暂无数据' |
| | | } |
| | | });*/ |
| | | } |
| | | }, |
| | | |
| | | parseQRCode(code) { |
| | | this.form.engineNo = code; |
| | | }, |
| | | }, |
| | | } |
| | | |
| | | |
| | | </script> |
| | | <style scoped> |
| | |
| | | justify-content: center; |
| | | margin-top: 5px |
| | | } |
| | | /*.my-custom-modal .el-dialog__wrapper {*/ |
| | | /* width: 400px; !* 设置宽度 *!*/ |
| | | /* height: 200px; !* 设置高度 *!*/ |
| | | /* top: 50px; !* 设置距离页面顶部的位置 *!*/ |
| | | /* left: 50px; !* 设置距离页面左侧的位置 *!*/ |
| | | /*}*/ |
| | | |
| | | </style> |