|
|
|
@ -114,7 +114,7 @@ |
|
|
|
min-width="100" |
|
|
|
label="操作"> |
|
|
|
<template slot-scope="scope" class="foo_container"> |
|
|
|
<!-- <a type="text" size="small" @click="initReportModal(scope.row)">报工</a>--> |
|
|
|
<a type="text" size="small" @click="initUseModal(scope.row)">查看工具记录</a> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
@ -279,9 +279,12 @@ |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top"> |
|
|
|
<el-form-item label="生产订单"> |
|
|
|
<el-input style="width: 130px;" readonly v-model="saveHeaderData.orderNo"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="请扫描工具条码"> |
|
|
|
<el-input v-if="!toolReportFlag" style="width: 130px;" ref="issuance" v-model="toolInstanceID" @keyup.enter.native="toolIssuance()"></el-input> |
|
|
|
<el-input v-if="toolReportFlag" style="width: 130px;" ref="report" v-model="toolInstanceID" @keyup.enter.native="toolReport()"></el-input> |
|
|
|
<el-input v-if="toolReportFlag" style="width: 130px;" ref="report" v-model="toolInstanceID" @keyup.enter.native="toolReportCheck()"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table |
|
|
|
@ -290,21 +293,21 @@ |
|
|
|
border |
|
|
|
style="width: 100%"> |
|
|
|
<el-table-column |
|
|
|
prop="toolInstanceID" |
|
|
|
prop="toolInstanceId" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="100" |
|
|
|
label="工具编码"> |
|
|
|
label="工具实例编码"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="toolDesc" |
|
|
|
prop="reportedby" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="100" |
|
|
|
label="工具名称"> |
|
|
|
label="领用人"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="StartDate" |
|
|
|
prop="startDate" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="100" |
|
|
|
@ -315,7 +318,116 @@ |
|
|
|
<el-button @click="setUp.reviewFlag = false">取消</el-button> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<el-dialog title="工具报工" :close-on-click-modal="false" v-drag :visible.sync="reportModalFlag" width="330px"> |
|
|
|
<el-form :inline="true" label-position="top"> |
|
|
|
<el-form-item label="工具实例编码"> |
|
|
|
<el-input style="width: 130px;" readonly v-model="toolReportData.toolInstanceID"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="工具编码"> |
|
|
|
<el-input style="width: 130px;" readonly v-model="toolReportData.toolId"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top"> |
|
|
|
<el-form-item label="模数"> |
|
|
|
<el-input style="width: 130px;" readonly v-model="toolReportData.moQty"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="生产数量"> |
|
|
|
<el-input style="width: 130px;" type="number" ref="reportDo" v-model="toolReportData.finishQty"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
|
|
|
<el-button type="primary" @click="saveToolReport()">保存</el-button> |
|
|
|
<el-button type="primary" @click="reportModalFlag = false">关闭</el-button> |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" v-drag title="工具使用记录" :visible.sync="toolUseDetailFlag" width="805px"> |
|
|
|
<el-form :inline="true" label-position="top"> |
|
|
|
<el-form-item label="派工单号"> |
|
|
|
<el-input style="width: 130px;" readonly onkeyup="this.value = this.value.toUpperCase()" v-model="saveHeaderData.seqNo"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="生产订单"> |
|
|
|
<el-input style="width: 130px;" readonly v-model="saveHeaderData.orderNo"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="产品编码"> |
|
|
|
<el-input style="width: 130px;" readonly v-model="saveHeaderData.partNo"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="产品名称/规格型号"> |
|
|
|
<el-input style="width: 275px;" readonly v-model="saveHeaderData.partDescription"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top"> |
|
|
|
<el-form-item label="工序号"> |
|
|
|
<el-input style="width: 130px;" readonly v-model="saveHeaderData.itemNo"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="工序名称"> |
|
|
|
<el-input style="width: 130px;" readonly v-model="saveHeaderData.operationDesc"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="加工中心编码"> |
|
|
|
<el-input style="width: 130px;" readonly v-model="saveHeaderData.workCenterNo"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="加工中心名称"> |
|
|
|
<el-input style="width: 130px;" readonly v-model="saveHeaderData.workCenterDesc"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table |
|
|
|
height="300" |
|
|
|
:data="toolList2" |
|
|
|
border |
|
|
|
style="width: 100%"> |
|
|
|
<el-table-column |
|
|
|
prop="toolInstanceId" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="100" |
|
|
|
label="工具实例编码"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="reportedby" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="60" |
|
|
|
label="领用人"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="startDate" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="100" |
|
|
|
label="领用日期"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="finishDate" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="100" |
|
|
|
label="报工日期"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="finishQty" |
|
|
|
header-align="center" |
|
|
|
align="right" |
|
|
|
min-width="60" |
|
|
|
label="产量"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="moQty" |
|
|
|
header-align="center" |
|
|
|
align="right" |
|
|
|
min-width="60" |
|
|
|
label="模数"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="useQty" |
|
|
|
header-align="center" |
|
|
|
align="right" |
|
|
|
min-width="60" |
|
|
|
label="消耗寿命"> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
<el-button @click="toolUseDetailFlag = false">关闭</el-button> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
@ -326,6 +438,8 @@ |
|
|
|
toolStart, |
|
|
|
toolIssuance, |
|
|
|
toolReport, |
|
|
|
toolReportCheck, |
|
|
|
toolUseDetail, |
|
|
|
} from '@/api/production/schedule.js' |
|
|
|
import Chooselist from '@/views/modules/common/Chooselist' |
|
|
|
export default { |
|
|
|
@ -359,6 +473,13 @@ |
|
|
|
orderNo:'', |
|
|
|
userId:'', |
|
|
|
}, |
|
|
|
reportModalFlag:false, |
|
|
|
toolReportData:{ |
|
|
|
toolInstanceID:'', |
|
|
|
toolId:'', |
|
|
|
moQty:'', |
|
|
|
finishQty:'', |
|
|
|
}, |
|
|
|
scanSeqNo:'', |
|
|
|
stopModalFlag:false, |
|
|
|
continueModalFlag:false, |
|
|
|
@ -366,6 +487,8 @@ |
|
|
|
qty2:'', |
|
|
|
site: '', |
|
|
|
operatorType: 0, |
|
|
|
toolList2:[], |
|
|
|
toolUseDetailFlag:false, |
|
|
|
// 导出 start |
|
|
|
exportData: [], |
|
|
|
exportDataStandard: { |
|
|
|
@ -541,6 +664,7 @@ |
|
|
|
this.saveHeaderData.partDescription = currentData.partSpec; |
|
|
|
this.saveHeaderData.workCenterNo = currentData.sWorkCenterNo; |
|
|
|
this.saveHeaderData.workCenterDesc = currentData.workCenterDesc; |
|
|
|
this.saveHeaderData.orderNo =currentData.orderNo; |
|
|
|
this.toolList1=data.rows; |
|
|
|
this.setUp.reviewFlag=true; |
|
|
|
this.toolReportFlag=true; |
|
|
|
@ -572,13 +696,6 @@ |
|
|
|
return false; |
|
|
|
} |
|
|
|
let currentData = data.row; |
|
|
|
// if(currentData.closedFlag=='Y'){ |
|
|
|
// this.scanSeqNo='' |
|
|
|
// this.$alert("该派工单已关闭!",'错误', { |
|
|
|
// confirmButtonText: '确定' |
|
|
|
// }) |
|
|
|
// return false; |
|
|
|
// } |
|
|
|
this.saveHeaderData.site = currentData.site; |
|
|
|
this.saveHeaderData.seqNo = currentData.seqNo; |
|
|
|
this.saveHeaderData.itemNo = currentData.itemNo; |
|
|
|
@ -612,30 +729,32 @@ |
|
|
|
site:this.saveHeaderData.site, |
|
|
|
orderNo:this.saveHeaderData.orderNo, |
|
|
|
seqNo:this.saveHeaderData.seqNo, |
|
|
|
toolInstanceID:this.toolInstanceID, |
|
|
|
toolInstanceId:this.toolInstanceID, |
|
|
|
itemNo:this.saveHeaderData.itemNo, |
|
|
|
reportedBy:this.$store.state.user.name, |
|
|
|
reportedby:this.$store.state.user.name, |
|
|
|
} |
|
|
|
toolIssuance(inData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
let inData={ |
|
|
|
let data2={ |
|
|
|
username:this.$store.state.user.name, |
|
|
|
seqNo:this.scanSeqNo, |
|
|
|
seqNo:this.saveHeaderData.seqNo, |
|
|
|
} |
|
|
|
toolStart(inData).then(({data}) => { |
|
|
|
toolStart(data2).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.toolList1=data.rows; |
|
|
|
} |
|
|
|
}) |
|
|
|
this.toolInstanceID=''; |
|
|
|
this.$message({ |
|
|
|
message: '操作成功', |
|
|
|
type: 'success', |
|
|
|
duration: 1500, |
|
|
|
onClose: () => { |
|
|
|
this.$nextTick(() => { this.$refs.issuance.focus();}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} else { |
|
|
|
this.scanSeqNo=''; |
|
|
|
this.toolInstanceID=''; |
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
@ -643,7 +762,110 @@ |
|
|
|
}) |
|
|
|
}).catch(() => { |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
toolReportCheck(){ |
|
|
|
let inData={ |
|
|
|
site:this.saveHeaderData.site, |
|
|
|
orderNo:this.saveHeaderData.orderNo, |
|
|
|
seqNo:this.saveHeaderData.seqNo, |
|
|
|
toolInstanceId:this.toolInstanceID, |
|
|
|
itemNo:this.saveHeaderData.itemNo, |
|
|
|
reportedby:this.$store.state.user.name, |
|
|
|
} |
|
|
|
toolReportCheck(inData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.toolInstanceID=''; |
|
|
|
this.toolReportData={ |
|
|
|
toolInstanceID:data.row.toolInstanceId, |
|
|
|
toolId:data.row.toolId, |
|
|
|
moQty:data.row.moQty, |
|
|
|
finishQty:'', |
|
|
|
} |
|
|
|
this.reportModalFlag=true; |
|
|
|
this.$nextTick(() => { this.$refs.reportDo.focus();}) |
|
|
|
} else { |
|
|
|
this.toolInstanceID=''; |
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
} }) |
|
|
|
}, |
|
|
|
saveToolReport(){ |
|
|
|
if(this.toolReportData.finishQty==null||this.toolReportData.finishQty==''){ |
|
|
|
this.$alert("请输入生产数量!",'错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false; |
|
|
|
} |
|
|
|
if(this.toolReportData.finishQty<0){ |
|
|
|
this.$alert("生产数量不能小于0!",'错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false; |
|
|
|
} |
|
|
|
this.$confirm(`确定报工?`, '提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
type: 'warning' |
|
|
|
}).then(() => { |
|
|
|
let inData={ |
|
|
|
site:this.saveHeaderData.site, |
|
|
|
orderNo:this.saveHeaderData.orderNo, |
|
|
|
seqNo:this.saveHeaderData.seqNo, |
|
|
|
toolInstanceId:this.toolReportData.toolInstanceID, |
|
|
|
itemNo:this.saveHeaderData.itemNo, |
|
|
|
reportedby:this.$store.state.user.name, |
|
|
|
moQty:this.toolReportData.moQty, |
|
|
|
finishQty:this.toolReportData.finishQty, |
|
|
|
} |
|
|
|
toolReport(inData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
let data2={ |
|
|
|
username:this.$store.state.user.name, |
|
|
|
seqNo:this.saveHeaderData.seqNo, |
|
|
|
} |
|
|
|
toolStart(data2).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.toolList1=data.rows; |
|
|
|
} |
|
|
|
}) |
|
|
|
this.reportModalFlag=false; |
|
|
|
this.toolInstanceID=''; |
|
|
|
this.$message({ |
|
|
|
message: '操作成功', |
|
|
|
type: 'success', |
|
|
|
duration: 1500, |
|
|
|
onClose: () => { |
|
|
|
} |
|
|
|
}) |
|
|
|
this.$nextTick(() => { this.$refs.report.focus();}) |
|
|
|
} else { |
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}).catch(() => { |
|
|
|
}) |
|
|
|
}, |
|
|
|
initUseModal(row){ |
|
|
|
let currentData = row; |
|
|
|
this.saveHeaderData.site = currentData.site; |
|
|
|
this.saveHeaderData.seqNo = currentData.seqNo; |
|
|
|
this.saveHeaderData.itemNo = currentData.itemNo; |
|
|
|
this.saveHeaderData.operationDesc = currentData.itemDesc; |
|
|
|
this.saveHeaderData.partNo = currentData.partNo; |
|
|
|
this.saveHeaderData.partDescription = currentData.partSpec; |
|
|
|
this.saveHeaderData.workCenterNo = currentData.sWorkCenterNo; |
|
|
|
this.saveHeaderData.workCenterDesc = currentData.workCenterDesc; |
|
|
|
this.saveHeaderData.orderNo =currentData.orderNo; |
|
|
|
this.toolUseDetailFlag=true; |
|
|
|
toolUseDetail(this.saveHeaderData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.toolList2=data.rows; |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
|
created () { |
|
|
|
|
|
|
|
|