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.
401 lines
11 KiB
401 lines
11 KiB
|
3 weeks ago
|
<template>
|
||
|
|
<ifrm ref="ifrm">
|
||
|
|
<!-- 工序报工 -->
|
||
|
|
<uni-forms ref="wrForm" :modelValue="formData">
|
||
|
|
<uni-forms-item name="allegation"
|
||
|
|
><input
|
||
|
|
type="text"
|
||
|
|
v-model="formData.cardNo"
|
||
|
|
@confirm="confirm"
|
||
|
|
class="uni-input-border"
|
||
|
|
:focus="twoInputFcous"
|
||
|
|
placeholder="流程卡"
|
||
|
|
/></uni-forms-item>
|
||
|
|
</uni-forms>
|
||
|
|
<t-table style="margin-bottom: 120rpx">
|
||
|
|
<t-tr>
|
||
|
|
<t-td>车间订单号</t-td>
|
||
|
|
<t-td>{{ tableObj.woCode }}</t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>流程卡号</t-td>
|
||
|
|
<t-td>{{ tableObj.cardNo }}</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.productType }}</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.plate }}</t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>当前工序</t-td>
|
||
|
|
<t-td>{{ tableObj.currentWpTitle }}</t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>订单数量</t-td>
|
||
|
|
<t-td>{{ tableObj.makeQty }}</t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>已合格数量</t-td>
|
||
|
|
<t-td>{{ tableObj.workQty }}</t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>已报废数量</t-td>
|
||
|
|
<t-td>{{ tableObj.scrapQty }}</t-td>
|
||
|
|
</t-tr>
|
||
|
|
<template
|
||
|
|
v-if="tableObj.currentWpId != null && tableObj.frontMakeTeam == null"
|
||
|
|
>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>自检是否合格</t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td
|
||
|
|
><uni-data-checkbox v-model="formData.line" :localdata="lineList"
|
||
|
|
/></t-td>
|
||
|
|
</t-tr>
|
||
|
|
</template>
|
||
|
|
|
||
|
|
<t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>合格数量</t-td>
|
||
|
|
<t-td><input type="number" v-model="formData.workQty" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>报废数量</t-td>
|
||
|
|
<t-td><input type="number" v-model="formData.scrapQty" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>色标数量</t-td>
|
||
|
|
<t-td><input type="number" v-model="formData.flagQty" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>颜色1</t-td>
|
||
|
|
<t-td><input type="text" v-model="formData.flagColourOne" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>颜色2</t-td>
|
||
|
|
<t-td><input type="text" v-model="formData.flagColourTwo" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>油墨</t-td>
|
||
|
|
<t-td><input type="text" v-model="formData.flagInk" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>色带数量</t-td>
|
||
|
|
<t-td><input type="number" v-model="formData.beltQty" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>颜色1</t-td>
|
||
|
|
<t-td><input type="text" v-model="formData.beltColourOne" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>颜色2</t-td>
|
||
|
|
<t-td><input type="text" v-model="formData.beltColourTwo" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>油墨</t-td>
|
||
|
|
<t-td><input type="text" v-model="formData.beltInk" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
</t-tr>
|
||
|
|
<!-- 水墨连续性的展示 -->
|
||
|
|
<template v-if="formData.isBinging">
|
||
|
|
<!-- <template> -->
|
||
|
|
<t-tr>
|
||
|
|
<t-td>水墨连续性</t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td
|
||
|
|
><uni-data-checkbox
|
||
|
|
v-model="formData.isBingingBool"
|
||
|
|
:localdata="lineList"
|
||
|
|
/></t-td>
|
||
|
|
</t-tr>
|
||
|
|
</template>
|
||
|
|
<template v-if="heatTreatmentShow">
|
||
|
|
<t-tr>
|
||
|
|
<t-td>试片数量/个</t-td>
|
||
|
|
<t-td
|
||
|
|
><uni-data-checkbox
|
||
|
|
v-model="heatTreatment.resource"
|
||
|
|
:localdata="resourceList"
|
||
|
|
/></t-td>
|
||
|
|
<t-td><input type="text" v-model="heatTreatment.num" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>材料厚度/mm</t-td>
|
||
|
|
<t-td><input type="text" v-model="heatTreatment.thickness" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>热处理工装编号</t-td>
|
||
|
|
<t-td><input type="text" v-model="heatTreatment.code" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>材料检验编号</t-td>
|
||
|
|
<t-td><input type="text" v-model="heatTreatment.inspectCode" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>合金材料及状态</t-td>
|
||
|
|
<t-td><input type="text" v-model="heatTreatment.status" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
<t-tr>
|
||
|
|
<t-td>原材料制品形式</t-td>
|
||
|
|
<t-td><input type="text" v-model="heatTreatment.shape" /></t-td>
|
||
|
|
</t-tr>
|
||
|
|
</template>
|
||
|
|
</t-table>
|
||
|
|
<view class="buttonBox"
|
||
|
|
><button
|
||
|
|
class="button"
|
||
|
|
type="primary"
|
||
|
|
:disabled="!(Object.keys(tableObj).length > 0)"
|
||
|
|
@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 {
|
||
|
|
tableObj: {},
|
||
|
|
heatTreatment: {
|
||
|
|
resource: "是",
|
||
|
|
},
|
||
|
|
formData: {
|
||
|
|
cardNo: "",
|
||
|
|
workQty: "",
|
||
|
|
scrapQty: "",
|
||
|
|
flagQty: null,
|
||
|
|
flagColourOne: null,
|
||
|
|
flagColourTwo: null,
|
||
|
|
flagInk: null,
|
||
|
|
beltQty: null,
|
||
|
|
beltColourOne: null,
|
||
|
|
beltColourTwo: null,
|
||
|
|
beltInk: null,
|
||
|
|
prWorkPlan: {
|
||
|
|
wpId: null,
|
||
|
|
},
|
||
|
|
resource: true,
|
||
|
|
isBinging: false,
|
||
|
|
isBingingBool: 1,
|
||
|
|
},
|
||
|
|
lineList: [
|
||
|
|
{
|
||
|
|
text: "合格",
|
||
|
|
value: 1,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
text: "不合格",
|
||
|
|
value: 0,
|
||
|
|
},
|
||
|
|
],
|
||
|
|
resourceList: [
|
||
|
|
{
|
||
|
|
text: "是",
|
||
|
|
value: "是",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
text: "否",
|
||
|
|
value: "否",
|
||
|
|
},
|
||
|
|
],
|
||
|
|
heatTreatmentShow: false,
|
||
|
|
twoInputFcous: true,
|
||
|
|
};
|
||
|
|
},
|
||
|
|
methods: {},
|
||
|
|
onNavigationBarButtonTap(btn) {
|
||
|
|
this.$refs.ifrm.topMenuClick(btn);
|
||
|
|
},
|
||
|
|
onShow() {},
|
||
|
|
methods: {
|
||
|
|
getBarCode(code, isConfirm = false) {
|
||
|
|
this.getData(code);
|
||
|
|
},
|
||
|
|
confirm(e) {
|
||
|
|
this.getBarCode(e.target.value, true);
|
||
|
|
},
|
||
|
|
getData(code) {
|
||
|
|
this.twoInputFcous = false;
|
||
|
|
if (!code) return;
|
||
|
|
this.formData.cardNo = code;
|
||
|
|
this.$u.api.loadCurrentWp({ cardNo: code }).then((res) => {
|
||
|
|
let data = res.data;
|
||
|
|
this.formData.cardNo = "";
|
||
|
|
this.tableObj = data;
|
||
|
|
if (
|
||
|
|
this.tableObj != null &&
|
||
|
|
this.tableObj.currentWpTitle != null &&
|
||
|
|
this.tableObj.currentWpTitle.split("|")[1] === "热处理"
|
||
|
|
) {
|
||
|
|
this.heatTreatmentShow = true;
|
||
|
|
}
|
||
|
|
this.formData.prWorkPlan.wpId = data.currentWpId;
|
||
|
|
this.formData.workQty = data.notWorkQty;
|
||
|
|
this.formData.scrapQty = 0;
|
||
|
|
uni.showToast({
|
||
|
|
title: "数据获取成功",
|
||
|
|
});
|
||
|
|
});
|
||
|
|
// this.$ajax.request({
|
||
|
|
// url: 'pdaLoad/loadCurrentWp/' + code,
|
||
|
|
// method: 'GET',
|
||
|
|
// success: data => {
|
||
|
|
// this.formData.cardNo = '';
|
||
|
|
// this.tableObj = data;
|
||
|
|
// if (
|
||
|
|
// this.tableObj != null &&
|
||
|
|
// this.tableObj.currentWpTitle != null &&
|
||
|
|
// this.tableObj.currentWpTitle.split('|')[1] === '热处理'
|
||
|
|
// ) {
|
||
|
|
// this.heatTreatmentShow = true;
|
||
|
|
// }
|
||
|
|
// this.formData.prWorkPlan.wpId = data.currentWpId;
|
||
|
|
// this.formData.workQty = data.notWorkQty;
|
||
|
|
// this.formData.scrapQty = 0;
|
||
|
|
// uni.showToast({
|
||
|
|
// title: '数据获取成功'
|
||
|
|
// });
|
||
|
|
// }
|
||
|
|
// });
|
||
|
|
},
|
||
|
|
submitClick() {
|
||
|
|
let isShow = false;
|
||
|
|
let title = "";
|
||
|
|
if (
|
||
|
|
Number(this.formData.workQty) + Number(this.formData.scrapQty) >
|
||
|
|
Number(this.tableObj.notWorkQty)
|
||
|
|
) {
|
||
|
|
isShow = true;
|
||
|
|
title = "合格数量与报废数量已超过总数量";
|
||
|
|
}
|
||
|
|
if (this.formData.workQty <= 0 && this.formData.scrapQty <= 0) {
|
||
|
|
isShow = true;
|
||
|
|
title = "请填写合格数量与报废数量";
|
||
|
|
}
|
||
|
|
if (isShow) {
|
||
|
|
return uni.showToast({
|
||
|
|
title,
|
||
|
|
icon: "none",
|
||
|
|
});
|
||
|
|
}
|
||
|
|
this.$u.api
|
||
|
|
.saveMakeRec({ ...this.tableObj,...this.formData, ...this.heatTreatment })
|
||
|
|
.then((res) => {
|
||
|
|
this.tableObj = {};
|
||
|
|
uni.showToast({
|
||
|
|
title: "报工成功",
|
||
|
|
});
|
||
|
|
this.heatTreatment = {
|
||
|
|
resource: "是",
|
||
|
|
};
|
||
|
|
this.heatTreatmentShow = false;
|
||
|
|
this.formData = {
|
||
|
|
cardNo: "",
|
||
|
|
workQty: "",
|
||
|
|
scrapQty: "",
|
||
|
|
flagQty: null,
|
||
|
|
flagColourOne: null,
|
||
|
|
flagColourTwo: null,
|
||
|
|
flagInk: null,
|
||
|
|
beltQty: null,
|
||
|
|
beltColourOne: null,
|
||
|
|
beltColourTwo: null,
|
||
|
|
beltInk: null,
|
||
|
|
prWorkPlan: {
|
||
|
|
wpId: null,
|
||
|
|
},
|
||
|
|
resource: true,
|
||
|
|
};
|
||
|
|
this.twoInputFcous = true;
|
||
|
|
});
|
||
|
|
// this.$ajax.request({
|
||
|
|
// url: "prMakeRec/saveMakeRec",
|
||
|
|
// data: {
|
||
|
|
// prMakeRec: this.formData,
|
||
|
|
// heatTreatment: this.heatTreatment,
|
||
|
|
// },
|
||
|
|
// method: "POST",
|
||
|
|
// success: (data) => {
|
||
|
|
// this.tableObj = {};
|
||
|
|
// uni.showToast({
|
||
|
|
// title: "报工成功",
|
||
|
|
// });
|
||
|
|
// this.heatTreatment = {
|
||
|
|
// resource: "是",
|
||
|
|
// };
|
||
|
|
// this.heatTreatmentShow = false;
|
||
|
|
// this.formData = {
|
||
|
|
// cardNo: "",
|
||
|
|
// workQty: "",
|
||
|
|
// scrapQty: "",
|
||
|
|
// flagQty: null,
|
||
|
|
// flagColourOne: null,
|
||
|
|
// flagColourTwo: null,
|
||
|
|
// flagInk: null,
|
||
|
|
// beltQty: null,
|
||
|
|
// beltColourOne: null,
|
||
|
|
// beltColourTwo: null,
|
||
|
|
// beltInk: null,
|
||
|
|
// prWorkPlan: {
|
||
|
|
// wpId: null,
|
||
|
|
// },
|
||
|
|
// resource: true,
|
||
|
|
// };
|
||
|
|
// this.twoInputFcous = true;
|
||
|
|
// },
|
||
|
|
// });
|
||
|
|
},
|
||
|
|
},
|
||
|
|
};
|
||
|
|
</script>
|
||
|
|
|
||
|
|
<style scoped lang="scss">
|
||
|
|
.buttonBox {
|
||
|
|
position: fixed;
|
||
|
|
bottom: 10rpx;
|
||
|
|
left: 50%;
|
||
|
|
transform: translate(-50%);
|
||
|
|
}
|
||
|
|
</style>
|