中航光电PDA端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

246 lines
8.7 KiB

<template>
<ifrm ref="ifrm">
<!-- 工序检验 -->
<u-sticky offset-top="10">
<uni-forms ref="form" err-show-type="toast">
<uni-forms-item name="allegation"><input type="text" v-model="value" @confirm="proConfrim"
class="uni-input-border" placeholder="流程卡" /></uni-forms-item>
</uni-forms>
</u-sticky>
<t-table>
<t-tr>
<t-td>流程卡号</t-td>
<t-td>{{ tableObj.cardNo }}</t-td>
</t-tr>
<t-tr>
<t-td>车间订单号</t-td>
<t-td>{{ tableObj.woCode }}</t-td>
</t-tr>
<t-tr>
<t-td>批单号</t-td>
<t-td>{{ tableObj.batchNo }}</t-td>
</t-tr>
<t-tr>
<t-td>零件编码</t-td>
<t-td>{{ tableObj.partCode }}</t-td>
</t-tr>
<t-tr>
<t-td>零件名称</t-td>
<t-td>{{ tableObj.partName }}</t-td>
</t-tr>
<t-tr>
<t-td>上序号</t-td>
<t-td>{{ tableObj.frontOrders }}</t-td>
</t-tr>
<t-tr>
<t-td>上序名称</t-td>
<t-td>{{ tableObj.frontPpsName }}</t-td>
</t-tr>
<t-tr>
<t-td>工序号</t-td>
<t-td>{{ tableObj.orders }}</t-td>
</t-tr>
<t-tr>
<t-td>工序名称</t-td>
<t-td>{{ tableObj.ppsName }}</t-td>
</t-tr>
<t-tr>
<t-td>班组</t-td>
<t-td>{{ tableObj.makeTeam }}</t-td>
</t-tr>
<t-tr>
<t-td>检验数量</t-td>
<t-td><input type="number" v-model="tableObj.makeQty" /></t-td>
</t-tr>
<t-tr>
<t-td>是否合格</t-td>
<t-td>
<picker @change="bindPickerChange" :value="pickerIndex" :range="array">
<view>{{ array[pickerIndex] }}</view>
</picker>
</t-td>
</t-tr>
<t-tr>
<t-td>合格数量</t-td>
<t-td><input :disabled="pickerIndex > 0" type="number" v-model="fillInObj.qualifiedQty" /></t-td>
</t-tr>
<t-tr>
<t-td>不合格数量</t-td>
<t-td><input :disabled="pickerIndex > 0" type="number" v-model="fillInObj.unqualifiedQty" /></t-td>
</t-tr>
<t-tr>
<t-td style="color: red;">比例(%)</t-td>
<t-td><input type="" type="number" v-model="fillInObj.scale" /></t-td>
</t-tr>
<t-tr>
<t-td>不良原因</t-td>
<t-td><uni-data-select v-model="fillInObj.poorReason" :localdata="reasonArr"></uni-data-select></t-td>
</t-tr>
<t-tr>
<t-td>不良描述</t-td>
<t-td><uni-easyinput type="textarea" v-model="fillInObj.poorMemo"></uni-easyinput></t-td>
</t-tr>
</t-table>
<view class="buttonBox"><button class="button" type="primary" :disabled="!(Object.keys(tableObj).length>1)"
@click="submitClick">保存</button></view>
</ifrm>
</template>
<script>
import ifrm from '@/pages/index/ifrm';
import tTable from '@/components/t-table/t-table.vue';
import tTh from '@/components/t-table/t-th.vue';
import tTr from '@/components/t-table/t-tr.vue';
import tTd from '@/components/t-table/t-td.vue';
import scan from '../../mixin/scan.js';
export default {
mixins: [scan],
components: {
ifrm,
tTable,
tTh,
tTr,
tTd
},
data() {
return {
value: '',
tableObj: {
makeQty: null,
},
fillInObj: {
qualifiedQty: null,
unqualifiedQty: null,
poorReason: '',
poorMemo: ''
},
pickerIndex: null,
array: ['合格', '不合格', 'NA'],
reasonArr: []
};
},
onLoad() {
this.reasonArr = [];
this.$ajax.request({
url: 'comBox/product/queryPoorReason',
method: 'POST',
data: {
filterValue: null,
paging: {
pageSize: 9999999,
pageNumber: 1
},
baseParams: {}
},
success: data => {
data.list.forEach(item => {
this.reasonArr.push({
value: item.bcId,
text: item.name
});
});
}
});
},
methods: {
bindPickerChange: function(e) {
if (e.detail.value == 1) {
this.fillInObj.unqualifiedQty = this.tableObj.makeQty;
this.fillInObj.qualifiedQty = 0;
} else {
this.fillInObj.unqualifiedQty = 0;
this.fillInObj.qualifiedQty = this.tableObj.makeQty;
}
this.pickerIndex = e.detail.value;
},
getBarCode(code) {
this.getData(code);
},
proConfrim(e) {
this.getBarCode(e.target.value);
},
getData(code) {
if (!code) return;
this.value = code;
this.$ajax.request({
url: 'pdaLoad/loadProTest/' + code,
method: 'GET',
success: data => {
this.value = '';
this.tableObj = data.pdaProRelevant;
this.pickerIndex = 0;
this.fillInObj = {
unqualifiedQty: 0,
qualifiedQty: this.tableObj.makeQty,
poorReason: '',
poorMemo: ''
};
uni.showToast({
title: '数据获取成功'
});
}
});
},
submitClick() {
const num = Number(this.fillInObj.unqualifiedQty) + Number(this.fillInObj.qualifiedQty);
if (num > this.tableObj.makeQty) {
return uni.showToast({
title: '合格与不合格数量之和不能大于检验数量',
icon: 'none'
});
}
if (this.pickerIndex == 1) {
if (this.fillInObj.poorReason == '' || this.fillInObj.poorMemo == '') {
return uni.showToast({
title: '请填写原因或描述!!!',
icon: 'none'
});
}
}
if (Number(this.fillInObj.scale) > 100 || Number(this.fillInObj.scale) < 0) {
return uni.showToast({
title: '比例所填值的范围在 0~100!!!',
icon: 'none'
});
}
this.fillInObj.checkResult = this.pickerIndex + 1;
this.fillInObj.makeQty = this.tableObj.makeQty;
this.fillInObj.wpId = this.tableObj.wpId;
this.$ajax.request({
url: 'pdaSave/saveProCheck',
method: 'POST',
data: this.fillInObj,
success: data => {
uni.showToast({
title: '检验成功'
});
this.pickerIndex = null;
this.tableObj = {
makeQty: null
};
this.fillInObj = {
qualifiedQty: null,
unqualifiedQty: null,
poorReason: '',
poorMemo: ''
};
this.value = '';
}
});
}
},
onNavigationBarButtonTap(btn) {
this.$refs.ifrm.topMenuClick(btn);
},
onShow() {}
};
</script>
<style scoped>
.tabsBox {
margin-top: 40rpx;
}
.contentBox {}
</style>