12 changed files with 4328 additions and 38 deletions
-
7src/api/yieldReport/com_separate_roll.js
-
8src/api/yieldReport/com_switch_roll.js
-
17src/api/yieldReport/produce_report_normal.js
-
6src/views/modules/common/Chooselist.vue
-
1src/views/modules/yieldReport/com_finish_part_roll.vue
-
3src/views/modules/yieldReport/com_separate_roll.vue
-
60src/views/modules/yieldReport/com_switch_operator.vue
-
219src/views/modules/yieldReport/otherReport/bulk_inspection.vue
-
218src/views/modules/yieldReport/otherReport/defectList.vue
-
3557src/views/modules/yieldReport/otherReport/fqc_produce_report_normal.vue
-
194src/views/modules/yieldReport/otherReport/other_switch_roll.vue
-
76src/views/modules/yieldReport/produce_order.vue
@ -0,0 +1,219 @@ |
|||
<template> |
|||
<el-dialog |
|||
width="800px" |
|||
title="批量直接送检" |
|||
:close-on-click-modal="false" |
|||
:visible.sync="visible"> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<el-form :inline="true" label-position="top"> |
|||
<el-form-item label="卷号:"> |
|||
<el-input style="width: 120px" v-model="sfdcRolls.rollNo"> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" style="margin-top: 24px" @click="getDataList">查询</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-col> |
|||
<el-col :span="24"> |
|||
<fieldset class="customer-fieldset" style="width: 400px; height: 60px"> |
|||
<legend class="customer-legend">排程班次信息</legend> |
|||
<el-form style="margin-top: -10px" :inline="true" label-position="top"> |
|||
<el-form-item label="排产日期:"> |
|||
<el-date-picker style="width: 100px" |
|||
format="yyyy-MM-dd" |
|||
value-format="yyyy-MM-dd hh:mm:ss" v-model="currentDate" readonly> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="班次:"> |
|||
<el-input style="width: 120px" v-model="shift" readonly> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<!-- <el-button type="primary" style="margin-top: 24px">查询</el-button>--> |
|||
</el-form-item> |
|||
</el-form> |
|||
</fieldset> |
|||
</el-col> |
|||
|
|||
<el-col :span="24"> |
|||
<el-table |
|||
height="450" |
|||
:data="dataList" |
|||
border |
|||
v-loading="dataListLoading" |
|||
style="width: 100%;"> |
|||
<el-table-column |
|||
v-for="(item,index) in languageColumnList" :key="index" |
|||
:sortable="item.columnSortable" |
|||
:prop="item.columnProp" |
|||
:width="item.columnWidth" |
|||
:label="item.columnLabel"> |
|||
<template slot-scope="scope"> |
|||
<span v-if="item.columnProp!='inspectqty'"> {{ scope.row[item.columnProp] }}</span> |
|||
<span v-if="item.columnProp=='inspectqty'"><input |
|||
class="sl-input" |
|||
oninput="value=value.replace(/[^0-9]/g,'')" |
|||
v-model="scope.row[item.columnProp]" type="text" |
|||
clearable></input></span> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<span slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click="submitForInspection">送检</el-button> |
|||
<el-button @click="visible = false" type="primary">关闭</el-button> |
|||
</span> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
searchFqcSfdcRolls, |
|||
getScheduleDateShift, |
|||
workbenchPostinspection |
|||
} from "@/api/yieldReport/produce_report_normal.js"; |
|||
|
|||
|
|||
export default { |
|||
data() { |
|||
return { |
|||
currentDate: '', |
|||
shift: '', |
|||
visible: false, |
|||
operatorId: '', |
|||
dataList: [], |
|||
site: this.$store.state.user.site, |
|||
reportedBy: this.$store.state.user.name, |
|||
sfdcRolls: { |
|||
site: this.$store.state.user.site, |
|||
reportedBy: this.$store.state.user.name, |
|||
orderNo: '', |
|||
itemNo: '', |
|||
seqNo: '', |
|||
histSeqNo: '', |
|||
rollNo: '', |
|||
resourceId: '' |
|||
}, |
|||
scheduleDateShiftDto: { |
|||
site: '', |
|||
resourceId: '', |
|||
currentDateTime: '' |
|||
}, |
|||
dataListLoading: false, |
|||
languageColumnList: [ |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 5303, |
|||
serialNumber: '5301ToolHistSeqNo', |
|||
tableId: "5303Tool", |
|||
tableName: "批量送卷", |
|||
columnProp: "rollNo", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "卷号", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
} |
|||
], |
|||
} |
|||
}, |
|||
mounted() { |
|||
|
|||
}, |
|||
activated() { |
|||
|
|||
}, |
|||
methods: { |
|||
init(val) { |
|||
this.visible = true |
|||
this.sfdcRolls.site = val.site |
|||
this.sfdcRolls.orderNo = val.orderNo |
|||
this.sfdcRolls.itemNo = val.itemNo |
|||
this.sfdcRolls.seqNo = val.seqNo |
|||
this.sfdcRolls.resourceId = val.resourceId |
|||
this.scheduleDateShiftDto.site = val.site |
|||
this.operatorId = val.operatorId |
|||
this.scheduleDateShiftDto.resourceId = val.resourceId |
|||
this.scheduleDateShiftDto.currentDateTime = this.dayjs().format("YYYY-MM-DD hh:mm:ss") |
|||
this.searchScheduleDateShift() |
|||
}, |
|||
// 获取不良列表 |
|||
getDataList() { |
|||
searchFqcSfdcRolls(this.sfdcRolls).then(({data}) => { |
|||
this.dataList = data.list |
|||
}) |
|||
}, |
|||
// 获取排产日期 |
|||
searchScheduleDateShift() { |
|||
getScheduleDateShift(this.scheduleDateShiftDto).then(({data}) => { |
|||
if (data.code == 0) { |
|||
this.currentDate = data.map.scheduleddate |
|||
this.shift = data.map.ShiftNo |
|||
} |
|||
}) |
|||
}, |
|||
// 送检 |
|||
submitForInspection() { |
|||
if (this.dataList.length == 0) { |
|||
return; |
|||
} |
|||
let paramData = this.dataList.map(item => { |
|||
item = { |
|||
site: this.sfdcRolls.site, |
|||
orderNo: this.sfdcRolls.orderNo, |
|||
itemNo: this.sfdcRolls.itemNo, |
|||
seqNo: this.sfdcRolls.seqNo, |
|||
shift: this.shift, |
|||
resourceId: this.sfdcRolls.resourceId, |
|||
scheduleDate: this.currentDate, |
|||
rollNo: item.rollNo, |
|||
repairOrderFlag: 'N', |
|||
operatorId: this.operatorId, |
|||
currentDatetime: this.scheduleDateShiftDto.currentDateTime , |
|||
remark: '' |
|||
} |
|||
return item |
|||
}) |
|||
this.$confirm(`确定要对选中的卷做“直接送检”处理?`, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
workbenchPostinspection(paramData).then(({data}) =>{ |
|||
|
|||
}) |
|||
}) |
|||
|
|||
} |
|||
}, |
|||
created() { |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.sl-input { |
|||
background-color: transparent; |
|||
border: 0 !important; |
|||
font-size: 12px !important; |
|||
height: 12px !important; |
|||
line-height: 14px !important; |
|||
background-color: transparent !important; |
|||
width: 140px; |
|||
} |
|||
|
|||
.sl-input:focus, textarea:focus { |
|||
|
|||
outline: none; |
|||
|
|||
} |
|||
|
|||
</style> |
|||
@ -0,0 +1,218 @@ |
|||
<template> |
|||
<el-dialog |
|||
width="800px" |
|||
title="批量录入不良" |
|||
:close-on-click-modal="false" |
|||
:visible.sync="visible"> |
|||
<el-row > |
|||
<el-col :span="24"> |
|||
<el-form :inline="true" label-position="top"> |
|||
<el-form-item label="检验日期:"> |
|||
<el-date-picker style="width: 120px" |
|||
format = "yyyy-MM-dd" |
|||
value-format="yyyy-MM-dd hh:mm:ss" v-model="harmful.reportedDate"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-col> |
|||
<el-col :span="24"> |
|||
<el-table |
|||
height="450" |
|||
:data="dataList" |
|||
border |
|||
v-loading="dataListLoading" |
|||
style="width: 100%;"> |
|||
|
|||
<el-table-column |
|||
v-for="(item,index) in languageColumnList" :key="index" |
|||
:sortable="item.columnSortable" |
|||
:prop="item.columnProp" |
|||
:width="item.columnWidth" |
|||
:label="item.columnLabel"> |
|||
<template slot-scope="scope"> |
|||
<span v-if="item.columnProp!='inspectqty'"> {{ scope.row[item.columnProp] }}</span> |
|||
<span v-if="item.columnProp=='inspectqty'"><input |
|||
class="sl-input" |
|||
oninput="value=value.replace(/[^0-9]/g,'')" |
|||
v-model="scope.row[item.columnProp]" type="text" |
|||
clearable></input></span> |
|||
</template> |
|||
</el-table-column> |
|||
|
|||
</el-table> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<span slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click="save" >保存</el-button> |
|||
<el-button @click="visible = false" type="primary">关闭</el-button> |
|||
</span> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
inspectiondefectcode, |
|||
saveSfdcDefectList |
|||
} from "@/api/yieldReport/produce_report_normal.js"; |
|||
|
|||
|
|||
|
|||
export default { |
|||
data() { |
|||
return { |
|||
visible: false, |
|||
dataList: [], |
|||
site: this.$store.state.user.site, |
|||
reportedBy: this.$store.state.user.name, |
|||
harmful: { |
|||
site: this.$store.state.user.site, |
|||
reportedBy: this.$store.state.user.name, |
|||
orderNo: '', |
|||
itemNo: '', |
|||
seqNo: '', |
|||
histSeqNo: '', |
|||
rollNo: '', |
|||
reportedDate: '', |
|||
defectCode: '', |
|||
defectQty: '', |
|||
defectDesc: '' |
|||
}, |
|||
dataListLoading: false, |
|||
languageColumnList: [ |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 5303, |
|||
serialNumber: '5301ToolHistSeqNo', |
|||
tableId: "5303Tool", |
|||
tableName: "不良信息列表", |
|||
columnProp: "defectcode", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "不良代码", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 5303, |
|||
serialNumber: '5301ToolHistSeqNo', |
|||
tableId: "5303Tool", |
|||
tableName: "工具记录表", |
|||
columnProp: "defectdesc", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "不良原因", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 5303, |
|||
serialNumber: '5301ToolHistSeqNo', |
|||
tableId: "5303Tool", |
|||
tableName: "工具记录表", |
|||
columnProp: "inspectqty", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "数量", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
}, |
|||
], |
|||
} |
|||
}, |
|||
mounted() { |
|||
|
|||
}, |
|||
activated() { |
|||
|
|||
}, |
|||
methods: { |
|||
init(val){ |
|||
this.visible = true |
|||
this.harmful.reportedDate = this.dayjs().format("YYYY-MM-DD 00:00:00") |
|||
this.harmful.orderNo = val.orderNo |
|||
this.harmful.itemNo = val.itemNo |
|||
this.harmful.seqNo = val.seqNo |
|||
this.harmful.rollNo = val.rollNo |
|||
this.getDataList() |
|||
}, |
|||
// 获取不良列表 |
|||
getDataList(){ |
|||
inspectiondefectcode().then(({data}) =>{ |
|||
data.list.map( item => { |
|||
if (item.inspectqty==null){ |
|||
item.inspectqty = 0 |
|||
} |
|||
return item |
|||
}) |
|||
this.dataList = data.list |
|||
}) |
|||
}, |
|||
// 保存不良记录 |
|||
save(){ |
|||
let data = this.dataList.map( item => { |
|||
item = { |
|||
defectCode: item.defectcode, |
|||
defectQty: Number(item.inspectqty), |
|||
reportedBy: this.harmful.reportedBy, |
|||
reportedDate: this.harmful.reportedDate, |
|||
site: this.harmful.site, |
|||
orderNo: this.harmful.orderNo , |
|||
itemNo: this.harmful.itemNo , |
|||
seqNo: this.harmful.seqNo , |
|||
rollNo: this.harmful.rollNo |
|||
} |
|||
return item ; |
|||
}).filter( item => item.defectQty>0 ) |
|||
saveSfdcDefectList(data).then(({data}) =>{ |
|||
if (data.code==0){ |
|||
this.$message.success( |
|||
{ |
|||
message:data.msg, |
|||
duration:1000 |
|||
}) |
|||
this.visible = false |
|||
this.$emit('getSfdcDefectList') |
|||
}else{ |
|||
this.$message.error(data.msg) |
|||
} |
|||
}) |
|||
console.log(data) |
|||
} |
|||
}, |
|||
created() { |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.sl-input { |
|||
background-color: transparent; |
|||
border: 0 !important; |
|||
font-size: 12px !important; |
|||
height: 12px !important; |
|||
line-height: 14px !important; |
|||
background-color: transparent !important; |
|||
width: 140px; |
|||
} |
|||
.sl-input:focus, textarea:focus { |
|||
|
|||
outline: none; |
|||
|
|||
} |
|||
|
|||
</style> |
|||
3557
src/views/modules/yieldReport/otherReport/fqc_produce_report_normal.vue
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,194 @@ |
|||
<template> |
|||
<div class="customer-css"> |
|||
<el-dialog :title="titleCon" v-drag v-bind="$attrs" v-on="$listeners" |
|||
width="210px" style="height: 680px;" class="customer-dialog"> |
|||
<el-form :inline="true" label-position="top" style="height: 60px;" |
|||
label-width="80px"> |
|||
<!-- 半成品卷卷号 --> |
|||
<el-row> |
|||
<el-col :span="24" style="margin-left: 35px;"> |
|||
<el-form-item :label="'半成品卷卷号:'"> |
|||
<el-input ref="newRollNo" v-model="pageData.newRollNo" style="width: 120px;" ></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
<span slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click="switchRollBun">确 定</el-button> |
|||
<el-button type="primary" @click="closeDialog">关闭</el-button> |
|||
</span> |
|||
</el-dialog> |
|||
|
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
/*添加组件*/ |
|||
import comExceptionReason from "../com_exception_reason";//异常远远 |
|||
/*添加js的方法和请求*/ |
|||
import { |
|||
otherCheckSwitchSfdcRoll,/*校验是否可以切换卷*/ |
|||
otherSwitchSfdcRoll,/*执行切换卷的操作*/ |
|||
} from '@/api/yieldReport/com_switch_roll.js' |
|||
export default { |
|||
name: "com_merge_roll", |
|||
data() { |
|||
return { |
|||
titleCon: '切换卷', |
|||
scheduleData: { |
|||
site: this.$store.state.user.site, |
|||
userName: this.$store.state.user.name, |
|||
seqNo: '', |
|||
orderNo: '', |
|||
itemNo: 0, |
|||
resourceId: '', |
|||
scheduledDate: '', |
|||
shiftNo: '', |
|||
partNo: '', |
|||
workCenterNo: '', |
|||
workCenterDesc: '', |
|||
resourceDesc: '', |
|||
rollNo: '', |
|||
partDesc: '', |
|||
planStartTime: '', |
|||
planFinishTime: '', |
|||
qtyRequiredOriginal: 0, |
|||
preItemDesc: '', |
|||
nextItemDesc: '', |
|||
nextItemNo: 0, |
|||
operatorId: '', |
|||
functionName: '', |
|||
currentRollFlag: false |
|||
}, |
|||
pageData: { |
|||
site: this.$store.state.user.site, |
|||
userName: this.$store.state.user.name, |
|||
seqNo: '', |
|||
orderNo: '', |
|||
itemNo: '', |
|||
newRollNo: '', |
|||
operatorId: '', |
|||
// fqc , 切换卷参数 |
|||
repairOrderFlag: 'N', |
|||
checkMultipleRoll: 'Y', |
|||
directPass: 'N' |
|||
}, |
|||
operatorData: { |
|||
site: this.$store.state.user.site, |
|||
username: this.$store.state.user.name, |
|||
operatorId: '', |
|||
operatorName: '', |
|||
status: '', |
|||
seqNo: '', |
|||
showFlag: false |
|||
}, |
|||
} |
|||
}, |
|||
components: { |
|||
comExceptionReason,/*异常原因的组件*/ |
|||
}, |
|||
methods: { |
|||
//页面的初始化的方法 |
|||
init(scheduleData, operatorData) { |
|||
//初始化参数 |
|||
this.scheduleData = scheduleData; |
|||
//初始化操作员对象 |
|||
this.operatorData = JSON.parse(JSON.stringify(operatorData)); |
|||
//设置对应的参数 |
|||
this.pageData.orderNo = scheduleData.orderNo; |
|||
this.pageData.itemNo = scheduleData.orderNo; |
|||
this.pageData.seqNo = scheduleData.seqNo; |
|||
this.pageData.operatorId = operatorData.operatorId; |
|||
this.pageData.repairOrderFlag = scheduleData.repairOrderFlag; |
|||
this.pageData.checkMultipleRoll = scheduleData.checkMultipleRoll; |
|||
this.pageData.directPass = scheduleData.directPass; |
|||
//自动获取焦点 |
|||
this.$nextTick(() => { |
|||
this.$refs.newRollNo.focus(); |
|||
}); |
|||
}, |
|||
|
|||
/*关闭modal*/ |
|||
closeDialog(){ |
|||
this.$emit('update:visible', false); |
|||
}, |
|||
|
|||
switchRollBun() { |
|||
//人员判断 |
|||
if (this.pageData.operatorId == '' || this.pageData.operatorId == null) { |
|||
this.$message.error('请先切换人员!'); |
|||
return false; |
|||
} |
|||
//首先判断数值是否通过判断 |
|||
let newRollNo = this.pageData.newRollNo; |
|||
if (newRollNo == null || newRollNo == '') { |
|||
this.$message.error('请输入半成品卷号!'); |
|||
return false; |
|||
} |
|||
//校验是否继续 |
|||
otherCheckSwitchSfdcRoll(this.pageData).then(({data}) => { |
|||
//判断是否成功 |
|||
if (data.code == 400) { |
|||
this.$message.error(data.msg); |
|||
} else if (data.resultMap.resultCode == '201') { |
|||
//打开异常原因录入的界面 |
|||
this.$confirm(data.resultMap.resultMsg, '提示', { |
|||
confirmButtonText: '确认', |
|||
celButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
//执行切换卷的操作 |
|||
this.switchRollOperation(); |
|||
}); |
|||
} else { //执行切换卷的操作 |
|||
this.switchRollOperation(); |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
/*执行切换卷的操作*/ |
|||
switchRollOperation() { |
|||
//处理信息 |
|||
otherSwitchSfdcRoll(this.pageData).then(({data}) => { |
|||
//判断操作是否成功 |
|||
if (data.code == 400) { |
|||
this.$message.error(data.msg); |
|||
} else { |
|||
//刷新报工的页面 |
|||
this.$emit('refreshPageData'); |
|||
//关闭当前的页面 |
|||
this.closeDialog(); |
|||
} |
|||
}) |
|||
}, |
|||
}, |
|||
created() { |
|||
// this.factoryList() |
|||
// this.getLanguageList() |
|||
} |
|||
} |
|||
|
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
/*调节页面button和input的上下间距*/ |
|||
.customer-css .customer-button{ |
|||
margin-top: 25px; |
|||
} |
|||
|
|||
/*调节fieldset下的样式*/ |
|||
.customer-fieldset .customer-item{ |
|||
margin-top: -15px; |
|||
} |
|||
|
|||
/*fieldset下table的样式*/ |
|||
.customer-fieldset /deep/ .el-table__header th.is-leaf{ |
|||
line-height: 16px; |
|||
} |
|||
|
|||
/deep/ .customer-tab .el-tabs__content{ |
|||
padding: 0px !important; |
|||
} |
|||
|
|||
</style> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue