ruanqi 2 years ago
parent
commit
6b53dafe59
  1. 2
      src/api/production/schedule.js
  2. 262
      src/views/modules/schedule/toolReport.vue

2
src/api/production/schedule.js

@ -22,3 +22,5 @@ export const toolStart=data => createAPI(`schedule/toolStart`, 'post', data);
export const toolIssuance=data => createAPI(`schedule/toolIssuance`, 'post', data);
export const toolReport=data => createAPI(`schedule/toolReport`, 'post', data);
export const toolReportCheck=data => createAPI(`schedule/toolReportCheck`, 'post', data);
export const toolUseDetail=data => createAPI(`schedule/toolUseDetail`, 'post', data);

262
src/views/modules/schedule/toolReport.vue

@ -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,21 +729,108 @@
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 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.toolInstanceID='';
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.$nextTick(() => { this.$refs.issuance.focus();})
}
})
} else {
this.toolInstanceID='';
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
}).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.scanSeqNo,
seqNo:this.saveHeaderData.seqNo,
}
toolStart(inData).then(({data}) => {
toolStart(data2).then(({data}) => {
if (data && data.code === 0) {
this.toolList1=data.rows;
}
})
this.reportModalFlag=false;
this.toolInstanceID='';
this.$message({
message: '操作成功',
type: 'success',
@ -634,8 +838,8 @@
onClose: () => {
}
})
this.$nextTick(() => { this.$refs.report.focus();})
} else {
this.scanSeqNo='';
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
@ -643,7 +847,25 @@
})
}).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 () {

Loading…
Cancel
Save