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
<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> |