LAPTOP-R6EHHS26\86155 1 year ago
commit 2de2387373

@ -50,3 +50,11 @@ export function delMaterialGroup(id) {
method: 'delete' method: 'delete'
}); });
} }
export function getOriginalGroupList(query) {
return request({
url: '/quality/materialGroup/getOriginalGroupList',
method: 'get',
params: query
});
}

@ -43,9 +43,10 @@ export function delProduce(recordId) {
}); });
} }
export function getProduceReportXJ(orderNo) { export function getProduceReportXJ(orderNo,shiftId) {
const data = { const data = {
orderNo orderNo,
shiftId
} }
return request({ return request({
url: '/quality/qcProduceReport/getProduceReportXJ', url: '/quality/qcProduceReport/getProduceReportXJ',

@ -926,10 +926,13 @@ export default {
// 线 // 线
getGroupLine().then(response => { getGroupLine().then(response => {
this.groupLineList = response.data; this.groupLineList = response.data;
this.equipmentQuery.groupLine = response.data[0].equipmentCode; // this.equipmentQuery.groupLine = response.data[0].equipmentCode;
this.getEquList(); })
//
getEquList().then(response => {
this.equTotal = response.total;
this.queryEquipment = response.rows;
}) })
this.selectEqu = true; this.selectEqu = true;
}, },
// //
@ -1058,7 +1061,7 @@ export default {
equipmentCode: null, equipmentCode: null,
equipmentName: null, equipmentName: null,
workshopCode: null, workshopCode: null,
groupLine:this.groupLineList[0].equipmentCode, groupLine:null,
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}; };

@ -661,7 +661,7 @@ export default {
// //
if (this.form.itemName == null) { if (this.form.itemName == null) {
this.$message({ this.$message({
message: "请输入检查项", message: "请输入检查项名称",
type: "warning" type: "warning"
}) })
return return
@ -673,13 +673,20 @@ export default {
}) })
return return
} }
if (this.selectEquipmentList.length == 0) { if (this.form.itemMethod == null) {
this.$message({ this.$message({
message: "请关联设备", message: "请输入检查方法",
type: "warning" type: "warning"
}) })
return return
} }
// if (this.selectEquipmentList.length == 0) {
// this.$message({
// message: "",
// type: "warning"
// })
// return
// }
for (let i = 0; i < this.formStandard.length; i++) { for (let i = 0; i < this.formStandard.length; i++) {
// //
if (this.formStandard[i].standardType == 'qualitative') { if (this.formStandard[i].standardType == 'qualitative') {

@ -971,10 +971,13 @@ export default {
// 线 // 线
getGroupLine().then(response => { getGroupLine().then(response => {
this.groupLineList = response.data; this.groupLineList = response.data;
this.equipmentQuery.groupLine = response.data[0].equipmentCode;
this.getEquList();
}) })
//
getEquList().then(response => {
this.equTotal = response.total;
this.queryEquipment = response.rows;
})
this.selectEqu = true; this.selectEqu = true;
}, },
// //
@ -1103,7 +1106,7 @@ export default {
equipmentCode: null, equipmentCode: null,
equipmentName: null, equipmentName: null,
workshopCode: null, workshopCode: null,
groupLine:this.groupLineList[0].equipmentCode, groupLine : null,
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}; };

@ -1322,8 +1322,8 @@ export default {
var statusesArray = this.statuses; var statusesArray = this.statuses;
for (var i = 0; i < statusesArray.length; i++) { for (var i = 0; i < statusesArray.length; i++) {
if (statusesArray[i] != 'w0') {// if (statusesArray[i] == 'w2') {
this.$modal.msgError("已经派发的订单不允许操作"); this.$modal.msgError("已经活动的订单不允许操作");
return return
} }
} }

@ -55,9 +55,27 @@
<!-- 新增物料组窗口 --> <!-- 新增物料组窗口 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="物料组名称" prop="groupName"> <el-row >
<el-input v-model="form.groupName" placeholder="请输入物料组名称" /> <el-col :span="16">
<el-form-item label="物料组名称" prop="groupCode">
<el-input v-model="form.groupName" placeholder="请输入物料组名称"/>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="16">
<el-form-item label="物料组" prop="groupName">
<el-select v-model="form.groupCode" filterable clearable placeholder="请选择物料组">
<el-option
v-for="(item,index) in OriginalGroupList"
:key="index"
:label="item.groupName"
:value="item.groupCode">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
@ -75,6 +93,7 @@
<script> <script>
import { import {
getOriginalGroupList,
addMaterialGroup, addMaterialGroup,
delMaterialGroup, delMaterialGroup,
updateMaterialGroup, updateMaterialGroup,
@ -113,6 +132,8 @@ export default {
groupName: undefined, groupName: undefined,
// //
materialGroupList: [], materialGroupList: [],
//
OriginalGroupList: [],
// //
nodeData: {}, nodeData: {},
// //
@ -146,6 +167,7 @@ export default {
}, },
created() { created() {
this.getMaterialTree(); this.getMaterialTree();
this.getOriginalGroup();
}, },
methods: { methods: {
// //
@ -158,6 +180,7 @@ export default {
this.form = { this.form = {
id: null, id: null,
groupName: null, groupName: null,
groupCode: null,
attr1: null, attr1: null,
createBy: null, createBy: null,
createTime: null, createTime: null,
@ -171,6 +194,13 @@ export default {
}; };
this.resetForm("form"); this.resetForm("form");
}, },
/** 获取初始物料组 */
getOriginalGroup() {
getOriginalGroupList(this.queryParams).then((response) => {
this.OriginalGroupList = response.rows;
//this.loading = false;
});
},
/** 查询部门下拉树结构 */ /** 查询部门下拉树结构 */
getMaterialTree() { getMaterialTree() {
materialTreeSelect().then((response) => { materialTreeSelect().then((response) => {

@ -8,8 +8,8 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24" :xs="24"> <el-col :span="24" :xs="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="105px" align="left"> <el-form :model="queryParams" ref="queryProjectForm" size="small" :inline="true" v-show="showSearch" label-width="105px" align="left">
<el-form-item label="检测项目名称"> <el-form-item label="检测项目名称" prop="ruleName">
<el-input <el-input
v-model="queryParams.ruleName" v-model="queryParams.ruleName"
placeholder="检测项目名称" placeholder="检测项目名称"
@ -19,11 +19,11 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="检测方案名称"> <el-form-item label="检测方案名称" prop="projectType">
<el-select v-model="queryParams.projectType" filterable clearable placeholder="请选择检测方案"> <el-select v-model="queryParams.projectType" filterable clearable placeholder="请选择检测方案">
<el-option <el-option
v-for="item in projectTypeOptions" v-for="(item,index) in projectTypeOptions"
:key="item.projectTypeCode" :key="index"
:label="item.projectTypeName" :label="item.projectTypeName"
:value="item.projectTypeCode"> :value="item.projectTypeCode">
</el-option> </el-option>
@ -66,7 +66,7 @@
</el-table-column> </el-table-column>
<el-table-column label="测量单位" align="left" prop="unitCode" width="90"/> <el-table-column label="测量单位" align="left" prop="unitCode" width="90"/>
<el-table-column label="抽样方案" align="left" prop="samplePlan" width="100" :show-overflow-tooltip="true"/> <el-table-column label="抽样方案" align="left" prop="samplePlan" width="100" :show-overflow-tooltip="true"/>
<el-table-column label="合格判定" align="left" prop="judge"/ width="100"> <el-table-column label="合格判定" align="left" prop="judge" width="100" />
<el-table-column label="缺陷等级" align="left" prop="defectLevel" width="90"/> <el-table-column label="缺陷等级" align="left" prop="defectLevel" width="90"/>
<el-table-column label="检验方式" align="left" prop="checkMode" width="90" :show-overflow-tooltip="true"/> <el-table-column label="检验方式" align="left" prop="checkMode" width="90" :show-overflow-tooltip="true"/>
<el-table-column label="检验工具" align="left" prop="checkTool" width="90"/> <el-table-column label="检验工具" align="left" prop="checkTool" width="90"/>
@ -107,7 +107,8 @@ export default {
total: 0, total: 0,
// BOM // BOM
itemList: null, itemList: null,
ruleName: null,
projectType:null,
// //
bomCode: undefined, bomCode: undefined,
defaultProps: { defaultProps: {
@ -164,7 +165,7 @@ export default {
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.resetForm("queryForm"); this.resetForm("queryProjectForm");
this.handleQuery(); this.handleQuery();
}, },
@ -183,6 +184,8 @@ export default {
this.$emit('onSelected', this.$refs.myTable.selection); this.$emit('onSelected', this.$refs.myTable.selection);
this.showFlag = false; this.showFlag = false;
this.ruleName = '';
this.projectType = '';
}, },
} }
}; };

@ -183,7 +183,7 @@
</el-radio-group> </el-radio-group>
</el-col> </el-col>
</el-row> </el-row>
<!-- 主数据 --> <!-- 主数据 白班-->
<el-table <el-table
v-if="refreshNewWorkerTable" v-if="refreshNewWorkerTable"
v-loading="newWorkerLoading" v-loading="newWorkerLoading"
@ -360,6 +360,165 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table
v-if="refreshNewWorkerTableNight"
v-loading="newWorkerLoading"
class="my-print-table"
:data="form.checkInfos"
border
style="width: 100%">
<el-table-column label="id" align="center" prop="recordId" v-if="false"/>
<el-table-column label="序号" type="index" align="center" :index="indexMethod"/>
<el-table-column label="项目名称" width="155" align="left" prop="ruleName" />
<el-table-column label="时间" align="center" >
<el-table-column prop="column080090" label="20:30-21:30" width="95" align="center">
<template slot-scope="scope" >
<div v-for="(item,index) in scope.row.column080090.split(',')">
<el-image
:src="item"
style="width: 60px; height: 60px"
:fit="fit"
:preview-src-list="Array.from(scope.row.column080090.split(',')).slice(1)"
v-if="index>0"/>
<span v-else>{{item}}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="column090100" label="21:30-22:30" width="95" align="center">
<template slot-scope="scope" >
<div v-for="(item,index) in scope.row.column090100.split(',')">
<el-image
:src="item"
style="width: 60px; height: 60px"
:fit="fit"
:preview-src-list="Array.from(scope.row.column090100.split(',')).slice(1)"
v-if="index>0"/>
<span v-else>{{item}}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="column100110" label="22:30-23:30" width="95" align="center">
<template slot-scope="scope" >
<div v-for="(item,index) in scope.row.column100110.split(',')">
<el-image
:src="item"
style="width: 60px; height: 60px"
:fit="fit"
:preview-src-list="Array.from(scope.row.column100110.split(',')).slice(1)"
v-if="index>0"/>
<span v-else>{{item}}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="column110120" label="23:30-1:30" width="95" align="center">
<template slot-scope="scope" >
<div v-for="(item,index) in scope.row.column110120.split(',')">
<el-image
:src="item"
style="width: 60px; height: 60px"
:fit="fit"
:preview-src-list="Array.from(scope.row.column110120.split(',')).slice(1)"
v-if="index>0"/>
<span v-else>{{item}}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="column133143" label="1:30-2:30" width="95" align="center">
<template slot-scope="scope" >
<div v-for="(item,index) in scope.row.column133143.split(',')">
<el-image
:src="item"
style="width: 60px; height: 60px"
:fit="fit"
:preview-src-list="Array.from(scope.row.column133143.split(',')).slice(1)"
v-if="index>0"/>
<span v-else>{{item}}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="column143153" label="2:30-3:30" width="95" align="center">
<template slot-scope="scope" >
<div v-for="(item,index) in scope.row.column143153.split(',')">
<el-image
:src="item"
style="width: 60px; height: 60px"
:fit="fit"
:preview-src-list="Array.from(scope.row.column143153.split(',')).slice(1)"
v-if="index>0"/>
<span v-else>{{item}}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="column153163" label="3:30-4:30" width="95" align="center">
<template slot-scope="scope" >
<div v-for="(item,index) in scope.row.column153163.split(',')">
<el-image
:src="item"
style="width: 60px; height: 60px"
:fit="fit"
:preview-src-list="Array.from(scope.row.column153163.split(',')).slice(1)"
v-if="index>0"/>
<span v-else>{{item}}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="column163173" label="4:30-5:30" width="95" align="center">
<template slot-scope="scope" >
<div v-for="(item,index) in scope.row.column163173.split(',')">
<el-image
:src="item"
style="width: 60px; height: 60px"
:fit="fit"
:preview-src-list="Array.from(scope.row.column163173.split(',')).slice(1)"
v-if="index>0"/>
<span v-else>{{item}}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="column123133" label="5:30-6:30" width="95" align="center">
<template slot-scope="scope" >
<div v-for="(item,index) in scope.row.column123133.split(',')">
<el-image
:src="item"
style="width: 60px; height: 60px"
:fit="fit"
:preview-src-list="Array.from(scope.row.column123133.split(',')).slice(1)"
v-if="index>0"/>
<span v-else>{{item}}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="column180190" label="6:30-7:30" width="95" align="center">
<template slot-scope="scope" >
<div v-for="(item,index) in scope.row.column180190.split(',')">
<el-image
:src="item"
style="width: 60px; height: 60px"
:fit="fit"
:preview-src-list="Array.from(scope.row.column180190.split(',')).slice(1)"
v-if="index>0"/>
<span v-else>{{item}}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="column190200" label="7:30-8:30" width="95" align="center">
<template slot-scope="scope" >
<div v-for="(item,index) in scope.row.column190200.split(',')">
<el-image
:src="item"
style="width: 60px; height: 60px"
:fit="fit"
:preview-src-list="Array.from(scope.row.column190200.split(',')).slice(1)"
v-if="index>0"/>
<span v-else>{{item}}</span>
</div>
</template>
</el-table-column>
</el-table-column>
</el-table>
<br/> <br/>
<!-- 底部 --> <!-- 底部 -->
<el-row class="my-print-foot"> <el-row class="my-print-foot">
@ -543,6 +702,7 @@ export default {
formRef: 'form', formRef: 'form',
newWorkerLoading: false, newWorkerLoading: false,
refreshNewWorkerTable:true, refreshNewWorkerTable:true,
refreshNewWorkerTableNight:true,
validateRules: [], validateRules: [],
checkList: [], checkList: [],
standardNo: null, standardNo: null,
@ -760,18 +920,32 @@ export default {
this.queryParams.recordId = recordId; this.queryParams.recordId = recordId;
this.getCheckedProjectList(); this.getCheckedProjectList();
}else { }else {
const orderNo = row.orderNo; const orderNo = row.orderNo;
getProduceReportXJ(orderNo).then(response => { if(row.shiftId == '5'){
getProduceReportXJ(orderNo,row.shiftId).then(response => {
this.form = response; this.form = response;
// //
this.form.printable = 'printForm'; // this.form.printable = 'printForm'; //
this.form.ignore = ['no-print'];// this.form.ignore = ['no-print'];//
this.open = true; this.open = true;
this.title = "巡检检验报告"; this.title = "巡检检验报告";
this.refreshNewWorkerTable = true // refreshProTabletrue this.refreshNewWorkerTable = true ;// refreshProTabletrue
this.newWorkerLoading = false // false this.refreshNewWorkerTableNight = false ;
this.newWorkerLoading = false ;// false
}) })
}else if(row.shiftId == '2'){
getProduceReportXJ(orderNo,row.shiftId).then(response => {
this.form = response;
//
this.form.printable = 'printForm'; //
this.form.ignore = ['no-print'];//
this.open = true;
this.title = "巡检检验报告";
this.refreshNewWorkerTableNight = true ;// refreshProTabletrue
this.refreshNewWorkerTable = false ;
this.newWorkerLoading = false ;// false
})
}
} }
}, },

@ -48,11 +48,6 @@
v-hasPermi="['quality:qcIncome:edit']" v-hasPermi="['quality:qcIncome:edit']"
>不良数量</el-button> >不良数量</el-button>
</template> </template>
</el-table-column>
<el-table-column label="不良数量" align="left" prop="defectQuality" width="120">
<template slot-scope="scope">
<el-input type="number" v-model="scope.row.defectQuality" placeholder="请输入不良数量"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="检测值" align="center" class-name="small-padding fixed-width" v-if="this.viewStatus != '1' "> <el-table-column label="检测值" align="center" class-name="small-padding fixed-width" v-if="this.viewStatus != '1' ">
<template slot-scope="scope"> <template slot-scope="scope">
@ -210,7 +205,6 @@ export default {
this.getDefect(); this.getDefect();
}, },
methods: { methods: {
getDefect(){ getDefect(){
getDefectList(this.typeCode).then(response => { getDefectList(this.typeCode).then(response => {
this.defectList = response; this.defectList = response;
@ -331,6 +325,7 @@ export default {
this.defectForm.defectItems.forEach(item => { this.defectForm.defectItems.forEach(item => {
item.belongToDetail = row.recordId; item.belongToDetail = row.recordId;
item.belongTo = row.belongTo; item.belongTo = row.belongTo;
item.noOkQuality = 0;
}); });
getDefectValue(row.recordId).then(response => { getDefectValue(row.recordId).then(response => {
let values = response.rows; let values = response.rows;
@ -343,6 +338,8 @@ export default {
noOkQuality: item.noOkQuality, noOkQuality: item.noOkQuality,
})); }));
this.updateFlag = true; this.updateFlag = true;
}else{
this.updateFlag = false;
} }
this.defectOpen = true; this.defectOpen = true;
}); });

@ -141,7 +141,9 @@
</el-table-column> </el-table-column>
<el-table-column label="来料批次号" align="center" prop="incomeBatchNo" width="120"/> <el-table-column label="来料批次号" align="center" prop="incomeBatchNo" width="120"/>
<el-table-column label="订单号" align="center" prop="orderNo" width="120"/> <el-table-column label="订单号" align="center" prop="orderNo" width="120"/>
<el-table-column label="物料号" align="center" prop="materialCode" width="170"/> <el-table-column label="物料号" align="center" prop="materialCode" width="170"
:formatter="productCodeFormate"
/>
<el-table-column label="物料名称" align="center" prop="materialName" width="150"/> <el-table-column label="物料名称" align="center" prop="materialName" width="150"/>
<el-table-column label="收货数量" align="center" prop="quality" /> <el-table-column label="收货数量" align="center" prop="quality" />
<el-table-column label="不合格数量" align="center" prop="noOkQuality" width="120"/> <el-table-column label="不合格数量" align="center" prop="noOkQuality" width="120"/>
@ -470,6 +472,11 @@ export default {
this.handleDefectType(); this.handleDefectType();
}, },
methods: { methods: {
productCodeFormate(row, column, cellValue){
if(cellValue != null){
return cellValue.slice(7,18); //
}
},
/****/ /****/
getCheckTypes() { getCheckTypes() {
getCheckTypes('material').then(response => { getCheckTypes('material').then(response => {

@ -563,7 +563,9 @@ export default {
methods: { methods: {
// //
productCodeFormate(row, column, cellValue){ productCodeFormate(row, column, cellValue){
if(cellValue != null){
return cellValue.slice(7,18); // return cellValue.slice(7,18); //
}
}, },
/****/ /****/
// //

@ -483,7 +483,7 @@ export default {
/** 下载模板操作 */ /** 下载模板操作 */
importTemplate() { importTemplate() {
this.download('quality/project/importTemplate', { this.download('quality/project/importTemplate', {
}, `user_template_${new Date().getTime()}.xlsx`) }, `check_project_template_${new Date().getTime()}.xlsx`)
}, },
// //
handleFileUploadProgress(event, file, fileList) { handleFileUploadProgress(event, file, fileList) {

Loading…
Cancel
Save