|
|
|
@ -170,14 +170,6 @@ |
|
|
|
<el-input v-model="modalData.partNo" readonly style="width: 221px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="物料名称"> |
|
|
|
<!-- <el-select v-model="modalData.partNo" placeholder="请选择" style="width: 456px">--> |
|
|
|
<!-- <el-option--> |
|
|
|
<!-- v-for = "i in partList"--> |
|
|
|
<!-- :key = "i.partNo"--> |
|
|
|
<!-- :label = "i.partDesc"--> |
|
|
|
<!-- :value = "i.partNo">--> |
|
|
|
<!-- </el-option>--> |
|
|
|
<!-- </el-select>--> |
|
|
|
<el-input v-model="modalData.partDesc" readonly style="width: 221px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
@ -193,8 +185,15 @@ |
|
|
|
<el-form-item label="送检数量:" prop="rollQty" :rules="rules.rollQtyType"> |
|
|
|
<el-input v-model="modalData.rollQty" type="number" style="width: 221px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<span v-if="this.controlData.baseData === '控制'" slot="label" @click="queryTemplateList()"><a>检验模板</a></span> |
|
|
|
<span v-if="this.controlData.baseData === '未控制'" slot="label">检验模板</span> |
|
|
|
<el-input v-model="modalData.templateName" disabled style="width: 221px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item label="老卷号"> |
|
|
|
<el-input v-model="modalData.batchRollNo" style="width: 221px"></el-input> |
|
|
|
<el-input v-model="modalData.batchRollNo" style="width: 456px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
@ -227,7 +226,7 @@ |
|
|
|
<el-input v-model="detailData.partDesc" readonly style="width: 200px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'送检数量'"> |
|
|
|
<el-input v-model="detailData.rollQty" readonly style="width: 80px"></el-input> |
|
|
|
<el-input v-model="detailData.rollQty" type="number" style="width: 80px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'抽样数量'"> |
|
|
|
<el-input v-model="detailData.samplingQty" readonly style="width: 80px"></el-input> |
|
|
|
@ -324,6 +323,17 @@ |
|
|
|
<el-button type="primary" @click="subDetailModal(scope.row) ">点击输入</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="" |
|
|
|
header-align="center" |
|
|
|
align="right" |
|
|
|
min-width="80" |
|
|
|
label="送检数量"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input v-if="detailData.submitFlag == 'Y'" v-model="scope.row.rollQty" disabled type="number" style="height: 11px;padding: 0px " allow-create>;width:98%"></el-input> |
|
|
|
<el-input v-if="detailData.submitFlag != 'Y'" v-model="scope.row.rollQty" type="number" style="height: 11px;padding: 0px " allow-create>;width:98%"></el-input> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="" |
|
|
|
header-align="center" |
|
|
|
@ -411,6 +421,59 @@ |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- 检验模板 --> |
|
|
|
<el-dialog title="检验模板清单" :close-on-click-modal="false" v-drag :visible.sync="templateModelFlag" width="520px"> |
|
|
|
<div class="rq"> |
|
|
|
<el-form :inline="true" label-position="top" :model="templateData"> |
|
|
|
<el-form-item :label="'模板编码'"> |
|
|
|
<el-input v-model="templateData.templateId" clearable style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'模板名称'"> |
|
|
|
<el-input v-model="templateData.templateName" clearable style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'检验类型'"> |
|
|
|
<el-select v-model="templateData.inspectionTypeNo" style="width: 100px"> |
|
|
|
<el-option label="全部" value=""></el-option> |
|
|
|
<el-option label="IPQC首检" value="101"></el-option> |
|
|
|
<el-option label="IPQC自检" value="102"></el-option> |
|
|
|
<el-option label="IPQC巡检" value="103"></el-option> |
|
|
|
<el-option label="IPQC末件检" value="104"></el-option> |
|
|
|
<el-option label="IQC检验" value="105"></el-option> |
|
|
|
<el-option label="FAI检验" value="106"></el-option> |
|
|
|
<el-option label="FQC检验" value="107"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="' '"> |
|
|
|
<el-button type="primary" @click="queryTemplateList()">查询</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table |
|
|
|
:height="300" |
|
|
|
:data="templateList" |
|
|
|
ref="departmentTable" |
|
|
|
@row-dblclick="getRowData" |
|
|
|
border |
|
|
|
v-loading="dataListLoading" |
|
|
|
style="width: 100%;"> |
|
|
|
<el-table-column |
|
|
|
v-for="(item,index) in templateDetailList" :key="index" |
|
|
|
:sortable="item.columnSortable" |
|
|
|
:prop="item.columnProp" |
|
|
|
:header-align="item.headerAlign" |
|
|
|
:show-overflow-tooltip="item.showOverflowTooltip" |
|
|
|
:align="item.align" |
|
|
|
:fixed="item.fixed==''?false:item.fixed" |
|
|
|
:min-width="item.columnWidth" |
|
|
|
:label="item.columnLabel"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span> |
|
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- 文件清单 --> |
|
|
|
<el-dialog title="文件清单" :close-on-click-modal="false" v-drag :visible.sync="fileFlag" width="800px"> |
|
|
|
<el-table |
|
|
|
@ -472,6 +535,8 @@ |
|
|
|
getOperationList, // 查询工序列表 |
|
|
|
getPartList, // 查询物料列表 |
|
|
|
saveFAIInspection, // 新增FAI检验 |
|
|
|
queryController, // 检查动控 |
|
|
|
queryTemplateList, // 获取检验模板列表 |
|
|
|
} from "@/api/qc/qc.js"; |
|
|
|
import Chooselist from '@/views/modules/common/Chooselist_eam'; |
|
|
|
import {getFileContentList, downLoadObjectFile} from '@/api/eam/eam_object_list.js'; |
|
|
|
@ -545,7 +610,9 @@ |
|
|
|
batchRollNo: '', |
|
|
|
spec: '', |
|
|
|
sku: '', |
|
|
|
specialRequirements: '' |
|
|
|
specialRequirements: '', |
|
|
|
templateId: '', |
|
|
|
templateName: '' |
|
|
|
}, |
|
|
|
// 展示列集 |
|
|
|
columnList: [ |
|
|
|
@ -831,6 +898,7 @@ |
|
|
|
disposalRemark: '', |
|
|
|
inspectorNo: '', |
|
|
|
inspectionRemark: '', |
|
|
|
rollQty: '', |
|
|
|
itemList:[], |
|
|
|
}, |
|
|
|
detailColumnList: [ |
|
|
|
@ -1078,7 +1146,55 @@ |
|
|
|
batchAddData: { |
|
|
|
samplingLocation: '', |
|
|
|
samplingNumber: '' |
|
|
|
} |
|
|
|
}, |
|
|
|
controlData: {}, |
|
|
|
templateData: { |
|
|
|
site: this.$store.state.user.site, |
|
|
|
templateId: '', |
|
|
|
templateName: '', |
|
|
|
inspectionTypeNo: '', |
|
|
|
inspectionTypeName: '' |
|
|
|
}, |
|
|
|
templateList: [], |
|
|
|
templateModelFlag: false, |
|
|
|
templateDetailList: [ |
|
|
|
{ |
|
|
|
columnProp: 'templateId', |
|
|
|
headerAlign: "center", |
|
|
|
align: "center", |
|
|
|
columnLabel: '模板编码', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
}, |
|
|
|
{ |
|
|
|
columnProp: 'templateName', |
|
|
|
headerAlign: "center", |
|
|
|
align: "center", |
|
|
|
columnLabel: '模板名称', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
}, |
|
|
|
{ |
|
|
|
columnProp: 'inspectionTypeName', |
|
|
|
headerAlign: "center", |
|
|
|
align: "center", |
|
|
|
columnLabel: '检验类型', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
}, |
|
|
|
], |
|
|
|
} |
|
|
|
}, |
|
|
|
mounted () { |
|
|
|
@ -1184,6 +1300,10 @@ |
|
|
|
this.$message.warning('请填写送检数量!') |
|
|
|
return |
|
|
|
} |
|
|
|
if (this.controlData.baseData === '控制' && (this.modalData.templateId == null || this.modalData.templateId === '')) { |
|
|
|
this.$message.warning('请选择检验模板!') |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.modalData.flag === '1'){ |
|
|
|
saveFAIInspection(this.modalData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
@ -1208,8 +1328,27 @@ |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
// 检查动控是否开启 |
|
|
|
queryController () { |
|
|
|
let tempData = { |
|
|
|
controlNo: '10004', |
|
|
|
site: this.$store.state.user.site, |
|
|
|
} |
|
|
|
queryController(tempData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.controlData = data.rows |
|
|
|
} else { |
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 新增 |
|
|
|
addModal(){ |
|
|
|
// 查看 质量任务生成规则控制 动控是否开启 |
|
|
|
this.queryController() |
|
|
|
this.modalData = { |
|
|
|
flag: '1', |
|
|
|
site: this.$store.state.user.site, |
|
|
|
@ -1231,7 +1370,9 @@ |
|
|
|
batchRollNo: '', |
|
|
|
spec: '', |
|
|
|
sku: '', |
|
|
|
specialRequirements: '' |
|
|
|
specialRequirements: '', |
|
|
|
templateId: '', |
|
|
|
templateName: '' |
|
|
|
}; |
|
|
|
this.operationList = []; |
|
|
|
this.resourceList = []; |
|
|
|
@ -1240,6 +1381,28 @@ |
|
|
|
this.modalFlag = true; |
|
|
|
}, |
|
|
|
|
|
|
|
// 获取检验模板列表 |
|
|
|
queryTemplateList () { |
|
|
|
// 查询所有检验模板 |
|
|
|
queryTemplateList(this.templateData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.templateList = data.rows |
|
|
|
this.templateModelFlag = true |
|
|
|
}else { |
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 选中检验模板 |
|
|
|
getRowData (row) { |
|
|
|
this.modalData.templateId = row.templateId |
|
|
|
this.modalData.templateName = row.templateName |
|
|
|
this.templateModelFlag = false |
|
|
|
}, |
|
|
|
|
|
|
|
selectFlag(){ |
|
|
|
return true; |
|
|
|
}, |
|
|
|
@ -1423,49 +1586,36 @@ |
|
|
|
|
|
|
|
Transfer(){ |
|
|
|
if (this.detailData.inspectionResult === '' || this.detailData.inspectionResult == null) { |
|
|
|
this.$alert('请选择检验结论!', '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false |
|
|
|
this.$message.warning('请选择检验结论!') |
|
|
|
return |
|
|
|
} |
|
|
|
if (this.detailData.inspectorNo === '' || this.detailData.inspectorNo == null) { |
|
|
|
this.$alert('请选择检验员!', '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false |
|
|
|
this.$message.warning('请选择检验员!') |
|
|
|
return |
|
|
|
} |
|
|
|
// if (this.detailData.inspectionResult == 'Y' && (this.detailData.disposalMeasures == '特采' || this.detailData.disposalMeasures == '拒收')) { |
|
|
|
// this.$alert('合格不予处置措施,请查看!', '错误', { |
|
|
|
// confirmButtonText: '确定' |
|
|
|
// }) |
|
|
|
// return false |
|
|
|
// } |
|
|
|
for (let i = 0; i < this.detailList.length; i++) { |
|
|
|
if(this.detailList[i].itemResult === '' || this.detailList[i].itemResult == null){ |
|
|
|
// this.$alert(this.detailList[i].itemDesc+'是否合格未确认!', '错误', { |
|
|
|
// confirmButtonText: '确定' |
|
|
|
// }) |
|
|
|
// return false |
|
|
|
this.detailList[i].itemResult = 'Y' |
|
|
|
} |
|
|
|
if(this.detailList[i].valueTypeDb === 'N') { |
|
|
|
checkFAISubDetailValue(this.detailList[i]).then(({data}) => { |
|
|
|
if (data.flag == 2 && this.detailList[i].itemResult === 'Y') { |
|
|
|
this.$confirm(this.detailList[i].itemDesc + ' 中实测值不在合格范围!是否保存为合格?', '提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
type: 'warning' |
|
|
|
}).then(() => { |
|
|
|
this.saveDetailInformation() |
|
|
|
}).then(() => { |
|
|
|
return false |
|
|
|
}) |
|
|
|
}else { |
|
|
|
this.saveDetailInformation() |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
// if(this.detailList[i].valueTypeDb === 'N') { |
|
|
|
// checkFAISubDetailValue(this.detailList[i]).then(({data}) => { |
|
|
|
// if (data.flag == 2 && this.detailList[i].itemResult === 'Y') { |
|
|
|
// this.$confirm(this.detailList[i].itemDesc + ' 中实测值不在合格范围!是否保存为合格?', '提示', { |
|
|
|
// confirmButtonText: '确定', |
|
|
|
// cancelButtonText: '取消', |
|
|
|
// type: 'warning' |
|
|
|
// }).then(() => { |
|
|
|
// this.saveDetailInformation() |
|
|
|
// }).then(() => { |
|
|
|
// return false |
|
|
|
// }) |
|
|
|
// }else { |
|
|
|
// this.saveDetailInformation() |
|
|
|
// } |
|
|
|
// }) |
|
|
|
// } |
|
|
|
} |
|
|
|
this.saveDetailInformation() |
|
|
|
this.$message({message: '操作成功', type: 'success', duration: 1500, onClose: () => {}}) |
|
|
|
}, |
|
|
|
|
|
|
|
@ -1477,6 +1627,7 @@ |
|
|
|
this.saveInformationData.inspectorNo = this.detailData.inspectorNo |
|
|
|
this.saveInformationData.inspectionResult = this.detailData.inspectionResult |
|
|
|
this.saveInformationData.inspectionRemark = this.detailData.inspectionRemark |
|
|
|
this.saveInformationData.rollQty = this.detailData.rollQty |
|
|
|
this.saveInformationData.itemList = JSON.parse(JSON.stringify(this.detailList)) |
|
|
|
saveFAIDetailedRecord(this.saveInformationData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
|