<template>
|
<div class="app-container">
|
<el-card class="box-card" style="height: 60px" >
|
<template>
|
<div class="container" type="flex" justify="center" style="text-align:center">
|
<el-divider><span style="font-size:30px;color:black"><strong>平衡轴扫码上线</strong></span></el-divider>
|
</div>
|
</template>
|
</el-card>
|
<el-row :gutter="3">
|
<el-col :span="6">
|
<el-card shadow="always" class="boxSize">
|
<div class="centerImg">
|
<img style="width: 140px;height: 30px;" src="@/assets/logo/jcdm2.png" alt="dark">
|
<!-- <span class="nextLine" style="font-weight: bold">{{currentTime}}</span>-->
|
</div>
|
|
</el-card>
|
</el-col>
|
<el-col :span="3">
|
<el-card shadow="always" class="boxSize">
|
<span class="centerText" style="height: 60px">{{locationCode}}</span>
|
</el-card>
|
</el-col>
|
<el-col :span="15">
|
<el-card shadow="always" class="boxSize">
|
<span class="centerText" >{{locationName}}</span>
|
</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="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-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>
|
</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 {listLineInfo} from "@/api/main/bs/lineInfo/lineInfo";
|
import { setSNCode } from "@/api/main/da/opcuaconfig/opcuaconfig";
|
import {getIp, listStationConf} from "@/api/main/sc/stationConf";
|
|
export default {
|
components: { },
|
options: [],
|
props: [],
|
data() {
|
return {
|
options: [],
|
total: 0,
|
engineCheckList:[],
|
showFlag:false,
|
buttondisabled:true,
|
locationCode: "未配置",
|
locationName: "未配置工位",
|
|
codeValue: "",
|
code: "",
|
lastTime: "",
|
nextTime: "",
|
lastCode: "",
|
nextCode: "",
|
dtmainId: "",
|
|
// 查询参数
|
queryParams: {
|
pageNum: 1,
|
pageSize: 10,
|
engineNo: null,
|
productType:null,
|
orderNo:null,
|
qualityStatus:null,
|
currentWorkstation: null,
|
add: null,
|
engineCheckList:'暂无数据',
|
},
|
// 表单参数
|
form: {
|
engineNo: null,
|
productType:null,
|
orderNo:null,
|
qualityStatus:null,
|
currentWorkstation: null,
|
add: null,
|
engineCheckList:'暂无数据',
|
},
|
add: null,
|
};
|
},
|
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;
|
};
|
},
|
mounted() {
|
this.getStationConf();
|
},
|
methods: {
|
getStationConf() {
|
getIp().then(response => {
|
let queryParams = {
|
ipAddress: response.msg,
|
}
|
listStationConf(queryParams).then(response => {
|
this.locationName = response.rows[0].processesName
|
this.locationCode = response.rows[0].processesCode
|
});
|
|
});
|
|
},
|
reset() {
|
this.form = {
|
engineNo:null,
|
productType:null,
|
orderNo:null,
|
qualityStatus:null,
|
currentWorkstation: null,
|
add: null,
|
engineCheckList:'暂无数据',
|
};
|
this.resetForm("form");
|
},
|
EngineNohandleChange(){
|
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>
|
::v-deep .el-input__inner{
|
height: 40px;
|
}
|
::v-deep .el-form-item__label {
|
line-height: 40px;
|
}
|
.custom-content {
|
height: 50%; /* 设置高度为50% */
|
}
|
|
.boxSize{
|
height: 60px;
|
}
|
.centerText{
|
color: black;
|
font-weight: bold;
|
font-size: 20px;
|
display: flex;
|
justify-content: center;
|
margin-top: 5px
|
}
|
/*.my-custom-modal .el-dialog__wrapper {*/
|
/* width: 400px; !* 设置宽度 *!*/
|
/* height: 200px; !* 设置高度 *!*/
|
/* top: 50px; !* 设置距离页面顶部的位置 *!*/
|
/* left: 50px; !* 设置距离页面左侧的位置 *!*/
|
/*}*/
|
</style>
|