返工工艺编制接口联调

dev-scheduling
zhangdi 4 months ago
parent b589776d30
commit fd7fb02147
  1. 104
      src/views/processManagement/components/processMainte/partDetails.vue
  2. 492
      src/views/processManagement/components/processMainte/reworkProcessPlanning.vue

@ -277,7 +277,7 @@
</div>
<el-tree
style="width: 240px"
:data="craftData.partInfo"
:data="data"
:props="defaultProps"
@node-click="handleNodeClick"
:default-expand-all="true"
@ -306,7 +306,7 @@
<el-tab-pane label="尺寸、量具" name="3" v-if="treeLeave == 3"></el-tab-pane>
<el-tab-pane label="工装、模具表" name="4" v-if="treeLeave == 3"></el-tab-pane>
</el-tabs>
<el-table :data="tableData1" style="width: 100%" v-if="activeName == '1'">
<el-table :data="form1.tableData1" style="width: 100%" v-if="activeName == '1'">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="processNo" label="工序号"></el-table-column>
<el-table-column prop="processName" label="工序">
@ -339,7 +339,7 @@
</template>
</el-table-column>
</el-table>
<el-table :data="tableData2" style="width: 100%" v-if="activeName == '2'">
<el-table :data="form2.tableData2" style="width: 100%" v-if="activeName == '2'">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="trialNo" label="工序号"></el-table-column>
<el-table-column prop="projectName" label="检验项目">
@ -359,7 +359,7 @@
</el-table-column>
<el-table-column prop="prepareHours" label="准备工时(分钟)"></el-table-column>
</el-table>
<el-table :data="tableData3" style="width: 100%" v-if="activeName == '3'">
<el-table :data="form3.tableData3" style="width: 100%" v-if="activeName == '3'">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="trialNo" label="工序号"></el-table-column>
<el-table-column prop="testType" label="镀前镀后">
@ -378,7 +378,7 @@
<el-table-column prop="toolSize" label="量具尺寸"></el-table-column>
<el-table-column prop="toolInfo" label="图纸尺寸"></el-table-column>
</el-table>
<el-table :data="tableData4" style="width: 100%" v-if="activeName == '4'">
<el-table :data="form4.tableData4" style="width: 100%" v-if="activeName == '4'">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="trialNo" label="工序号"></el-table-column>
<el-table-column prop="moldCode" label="对应工装">
@ -404,6 +404,7 @@
</el-dialog>
</template>
<script>
import dsPartBasicInfo from './dsPartBasicInfo.vue';
import processPlanning from './processPlanning.vue';
import {
@ -453,10 +454,18 @@ export default {
processLevel: '1',
rankList: [],
priorityList: [],
tableData1: [],
tableData2: [],
tableData3: [],
tableData4: [],
form1: {
tableData1: [], //
},
form2: {
tableData2: [], //
},
form3: {
tableData3: [], //
},
form4: {
tableData4: [], //
},
activeName: '1',
treeLeave: 2, //
data: [],
@ -570,23 +579,13 @@ export default {
mounted() {
this.setCrewShow = this.isOpen;
this.getCcraftInfo();
this.getPartInfo();
this.getCcraftInfo();
},
methods: {
//
handleNodeClick(nodes, node, self) {
// if (nodes.disabled) {
// //
// return false;
// }
// this.treeLeave = node.level;
// if (this.treeLeave == 3) {
// this.activeName = '2';
// }
// if (this.treeLeave == 2) {
// this.activeName = '1';
// }
if (nodes.disabled) {
return false;
}
@ -610,50 +609,19 @@ export default {
const { processInfo, projectList, measuringToolList, moldToolList } = nodes.rawData;
//
this.form2.tableData2 = projectList.map(item => ({
trialNo: item.projectCode,
projectName: item.projectName,
projectStandard: item.projectStandard,
proHours: item.proHours,
prepareHours: item.prepareHours,
}));
this.form2.tableData2 = projectList
//
this.form3.tableData3 = measuringToolList.map(item => ({
trialNo: item.projectCode || '',
testType: item.testType,
tool: item.tool,
toolSize: item.toolSize,
toolInfo: item.toolInfo,
}));
this.form3.tableData3 = measuringToolList
//
this.form4.tableData4 = moldToolList.map(item => ({
trialNo: processInfo.processNo,
moldCode: item.moldCode,
moldName: item.moldName,
isPrint: item.isPrint,
printNo: item.printNo,
testFixtureNo: item.testFixtureNo,
}));
this.form4.tableData4 = moldToolList
}
},
setDataLocal() {
this.$setItem('零件信息信息验证', this.validateObj);
},
//
youxiaoqiFn(value) {
// if (value == 2) {
// this.rules.expirationPeriod = [{ required: true, message: '', trigger: 'blur' }]
// this.rules.expirationPeriod = [{ required: true, message: '', trigger: 'blur' }]
// } else {
// this.rules.expirationPeriod = [{ required: false, message: '', trigger: 'blur' }]
// this.rules.expirationPeriod = [{ required: false, message: '', trigger: 'blur' }]
// }
// this.$nextTick(() => {
// this.$refs.testForm.clearValidate(); //
// })
},
leavelChange(value) {
console.log('工艺级别', value);
},
@ -667,15 +635,17 @@ export default {
rank: '2',
};
getProcessManagementAuthorized(query).then(res => {
// this.craftData = res.data;
// this.data = this.transformCraftTree(res.data.data);
console.log('工艺编制信息-零件工艺', res.data.data);
this.data = this.transformCraftTree(res.data.data);
});
} else if (this.detailsType == 'taskProcessing') {
getProcessAuthorized(this.rowData.id).then(res => {
} else if (this.detailsType === 'taskProcessing') {
let query = {
partId: 4,
partVersion: '1.3',
rank: '2',
};
getProcessAuthorized({ partId: this.partId, taskId: this.rowData.id }).then(res => {
this.craftData = res.data.data;
// this.data = this.transformCraftTree(res.data.data);
console.log('工艺编制信息-工艺任务', res.data.data);
this.data = this.transformCraftTree(res.data.data);
});
}
},
@ -690,12 +660,10 @@ export default {
};
getPartManagementDetail(query).then(res => {
this.formData = res.data.data.dsPartEntity;
console.log('零件信息-零件工艺', res.data.data);
});
} else if (this.detailsType === 'taskProcessing') {
getPartDetail(this.rowData.id).then(res => {
this.formData = res.data.data.dsPartEntity;
console.log('零件信息-工艺任务', res.data.data);
});
}
},
@ -713,7 +681,7 @@ export default {
children: craftList.map(craft => {
const { craftInfo, processList } = craft;
// roamNo-craftNo
const craftLabel = `${craftInfo.roamNo}-${craftInfo.craftNo}`;
const craftLabel = `${craftInfo.roamNo}-${craftInfo.craftNo}`;
return {
...craftInfo,
@ -750,8 +718,8 @@ export default {
return tree;
},
handleClick(tab, event) {
handleClick(value) {
console.log(999999, value);
},
partSubRefLoad() {
this.$refs.partSubRef.loadData(this.partId, true);

@ -67,34 +67,34 @@
>
<el-table :data="form1.tableData1" style="width: 100%" v-if="activeName == '1'">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="dareworkNote" label="返工序号">
<el-table-column prop="reworkNo" label="返工序号">
<template #header>
<span><i style="color: red">*</i>返工序号</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].reworkNo`"
:prop="`tableData1[${scope.$index}].processInfo.reworkNo`"
:rules="formRules1.reworkNo"
>
<el-input
v-model="scope.row.reworkNo"
v-model="scope.row.processInfo.reworkNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="工序号">
<el-table-column prop="processNo" label="工序号">
<template #header>
<span><i style="color: red">*</i>工序号</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].processNo`"
:prop="`tableData1[${scope.$index}].processInfo.processNo`"
:rules="formRules1.processNo"
>
<el-input
v-model="scope.row.processNo"
v-model="scope.row.processInfo.processNo"
placeholder="请输入"
style="width: 100%"
></el-input>
@ -107,10 +107,10 @@
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].ppsId`"
:prop="`tableData1[${scope.$index}].processInfo.ppsId`"
:rules="formRules1.ppsId"
>
<el-select v-model="scope.row.ppsId" placeholder="请选择">
<el-select v-model="scope.row.processInfo.ppsId" placeholder="请选择">
<el-option
v-for="(item, index) in processSetOption"
:key="index"
@ -127,10 +127,10 @@
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].caId`"
:prop="`tableData1[${scope.$index}].processInfo.caId`"
:rules="formRules1.caId"
>
<el-select v-model="scope.row.caId" placeholder="请选择">
<el-select v-model="scope.row.processInfo.caId" placeholder="请选择">
<el-option
v-for="(item, index) in craftAbilityOption"
:key="index"
@ -143,29 +143,38 @@
</el-table-column>
<el-table-column prop="makeTeam" label="加工班组">
<template #default="scope">
<el-select v-model="scope.row.makeTeam" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
<el-select v-model="scope.row.processInfo.makeTeam" placeholder="请选择">
<el-option label="班组1" :value="1"></el-option>
<el-option label="班组2" :value="2"></el-option>
<el-option label="班组2" :value="3"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="ocId" label="外协厂商">
<template #default="scope">
<el-select v-model="scope.row.ocId" placeholder="请选择">
<!-- <el-select v-model="scope.row.processInfo.ocId" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
</el-select>
</el-select> -->
<el-input
v-model="scope.row.processInfo.ocId"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="isMain" label="主工序">
<el-table-column prop="cruxProcess" label="主工序">
<template #header>
<span><i style="color: red">*</i>主工序</span>
</template>
<template #default="scope">
<el-form-item :prop="`tableData1[${scope.$index}].cruxProcess`" :rules="formRules1.cruxProcess">
<el-select v-model="scope.row.cruxProcess" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
<el-form-item
:prop="`tableData1[${scope.$index}].processInfo.cruxProcess`"
:rules="formRules1.cruxProcess"
>
<el-select v-model="scope.row.processInfo.cruxProcess" placeholder="请选择">
<el-option label="是" :value="1"></el-option>
<el-option label="否" :value="0"></el-option>
</el-select>
</el-form-item>
</template>
@ -175,9 +184,12 @@
<span><i style="color: red">*</i>工序描述</span>
</template>
<template #default="scope">
<el-form-item :prop="`tableData1[${scope.$index}].makeMemo`" :rules="formRules1.makeMemo">
<el-form-item
:prop="`tableData1[${scope.$index}].processInfo.makeMemo`"
:rules="formRules1.makeMemo"
>
<el-input
v-model="scope.row.makeMemo"
v-model="scope.row.processInfo.makeMemo"
placeholder="请输入"
style="width: 100%"
></el-input>
@ -186,183 +198,207 @@
</el-table-column>
</el-table>
</el-form>
<el-table :data="form2.tableData2" style="width: 100%" v-if="activeName == '2'">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="date" label="工序号">
<template #default="scope">
<el-input
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="检验项目">
<template #header>
<span><i style="color: red">*</i>检验项目</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData2[${scope.$index}].projectName`"
:rules="formRules2.projectName"
>
<el-select v-model="scope.row.projectName" placeholder="请选择">
<el-option label="是" value="1"></el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="检验标准">
<template #header>
<span><i style="color: red">*</i>检验标准</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData2[${scope.$index}].projectStandard`"
:rules="formRules2.projectStandard"
>
<el-form
ref="tableForm2"
:model="form2"
:rules="formRules2"
label-width="0px"
v-if="activeName == '2'"
>
<el-table :data="form2.tableData2" style="width: 100%">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="date" label="工序号">
<template #default="scope">
<el-input
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="检验项目">
<template #header>
<span><i style="color: red">*</i>检验项目</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData2[${scope.$index}].projectName`"
:rules="formRules2.projectName"
>
<el-select v-model="scope.row.projectName" placeholder="请选择">
<el-option label="是" value="1"></el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="检验标准">
<template #header>
<span><i style="color: red">*</i>检验标准</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData2[${scope.$index}].projectStandard`"
:rules="formRules2.projectStandard"
>
<el-input
v-model="scope.row.projectStandard"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="标准值">
<template #default="scope">
<el-input
v-model="scope.row.projectStandard"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="标准值">
<template #default="scope">
<el-input
v-model="scope.row.projectStandard"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
</el-table>
<el-table :data="form3.tableData3" style="width: 100%" v-if="activeName == '3'">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="date" label="工序号">
<template #default="scope">
<el-input
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="镀前镀后">
<template #header>
<span><i style="color: red">*</i>镀前镀后</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData3[${scope.$index}].testType`"
:rules="formRules3.testType"
>
<el-select v-model="scope.row.testType" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="量具">
<template #header>
<span><i style="color: red">*</i>量具</span>
</template>
<template #default="scope">
<el-form-item :prop="`tableData3[${scope.$index}].tool`" :rules="formRules3.tool">
<el-select v-model="scope.row.tool" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="量具尺寸">
<template #default="scope">
<el-input
v-model="scope.row.toolSize"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="图纸尺寸">
<template #default="scope">
<el-input
v-model="scope.row.toolInfo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
</el-table>
<el-table :data="form4.tableData4" style="width: 100%" v-if="activeName == '4'">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="date" label="工序号">
<template #default="scope">
<el-input
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="对应工装">
<template #header>
<span><i style="color: red">*</i>对应工装</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData4[${scope.$index}].moldCode`"
:rules="formRules4.moldCode"
>
</template>
</el-table-column>
</el-table>
</el-form>
<el-form
ref="tableForm3"
:model="form3"
:rules="formRules3"
label-width="0px"
v-if="activeName == '3'"
>
<el-table :data="form3.tableData3" style="width: 100%">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="date" label="工序号">
<template #default="scope">
<el-input
v-model="scope.row.moldCode"
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="工装名称">
<template #default="scope">
<el-input
v-model="scope.row.moldName"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="是否印字">
<template #default="scope">
<el-input
v-model="scope.row.isPrint"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="印字版编号">
<template #default="scope">
<el-input
v-model="scope.row.printNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="测试夹具号">
<template #default="scope">
<el-input
v-model="scope.row.testFixtureNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column prop="date" label="镀前镀后">
<template #header>
<span><i style="color: red">*</i>镀前镀后</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData3[${scope.$index}].testType`"
:rules="formRules3.testType"
>
<el-select v-model="scope.row.testType" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="量具">
<template #header>
<span><i style="color: red">*</i>量具</span>
</template>
<template #default="scope">
<el-form-item :prop="`tableData3[${scope.$index}].tool`" :rules="formRules3.tool">
<el-select v-model="scope.row.tool" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="量具尺寸">
<template #default="scope">
<el-input
v-model="scope.row.toolSize"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="图纸尺寸">
<template #default="scope">
<el-input
v-model="scope.row.toolInfo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
</el-table>
</el-form>
<el-form
ref="tableForm4"
:model="form4"
:rules="formRules4"
label-width="0px"
v-if="activeName == '4'"
>
<el-table :data="form4.tableData4" style="width: 100%">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="date" label="工序号">
<template #default="scope">
<el-input
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="对应工装">
<template #header>
<span><i style="color: red">*</i>对应工装</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData4[${scope.$index}].moldCode`"
:rules="formRules4.moldCode"
>
<el-input
v-model="scope.row.moldCode"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="工装名称">
<template #default="scope">
<el-input
v-model="scope.row.moldName"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="是否印字">
<template #default="scope">
<el-input
v-model="scope.row.isPrint"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="印字版编号">
<template #default="scope">
<el-input
v-model="scope.row.printNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="测试夹具号">
<template #default="scope">
<el-input
v-model="scope.row.testFixtureNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
</template>
@ -445,7 +481,7 @@ export default {
},
],
activeName: '1',
treeLeave: 1, //
treeLeave: 2, //
modelLevel: null,
modelOption: [], //
@ -549,12 +585,13 @@ export default {
children: processList.map(process => {
const { processInfo, projectList, measuringToolList, moldToolList } = process;
return {
...processInfo,
...process,
label: processInfo.ppsName,
children: projectList.map(process => {
children: projectList.map(project => {
return {
...process,
label: process.projectName,
...project,
label: project.projectName,
disabled: true,
};
}),
@ -633,22 +670,64 @@ export default {
}
},
submit() {
let newArr = [];
this.treeNodes.processList.forEach(item => {
if (this.activeName == '1') {
// Form
this.$refs.tableForm1.validate((isValid, invalidFields) => {
if (isValid) {
this.submitData()
}
});
}
if (this.activeName == '2') {
this.$refs.tableForm2.validate((isValid, invalidFields) => {
if (isValid) {
this.submitData()
}
});
}
if (this.activeName == '3') {
this.$refs.tableForm3.validate((isValid, invalidFields) => {
if (isValid) {
this.submitData()
}
});
}
if (this.activeName == '4') {
this.$refs.tableForm4.validate((isValid, invalidFields) => {
if (isValid) {
this.submitData()
}
});
}
},
submitData() {
let newArr = [];
if (this.treeLeave == 2) {
this.treeNodes.processList.forEach(item => {
newArr.push({
...(item.processInfo || item),
processProjectVOList: item.projectList || [],
processMeasuringToolVOList: item.measuringToolList || [],
processMoldToolVOList: item.moldToolList || [],
});
});
} else {
newArr.push({
...(item.processInfo || item),
processProjectVOList: item.projectList || [],
processMeasuringToolVOList: item.measuringToolList || [],
processMoldToolVOList: item.moldToolList || [],
...this.treeNodes.processInfo,
processProjectVOList: this.treeNodes.projectList || [],
processMeasuringToolVOList: this.treeNodes.measuringToolList || [],
processMoldToolVOList: this.treeNodes.moldToolList || [],
});
});
}
console.log('treeLeave', newArr);
// console.log('treeNodes', this.treeNodes);
let query_ = {
craft: {
partId: this.partId,
reworkOrder: this.partInfoData.craftList[0].craftInfo.reworkOrder,
partVersions: this.partInfoData.craftList[0].craftInfo.partVersions,
id:this.partInfoData.craftList[0].craftInfo.id,
id: this.partInfoData.craftList[0].craftInfo.id,
}, //
reworkProcessVOList: newArr,
reworkProcessDeleteIds: [], //id
@ -656,10 +735,9 @@ export default {
processMeasuringToolDeleteIds: [], //id
processMoldToolDeleteIds: [], //
};
reworkAuthorizedAccomplish(query_).then(res=>{
console.log(9999,res)
this.$emit('cancel')
})
reworkAuthorizedAccomplish(query_).then(res => {
this.$emit('cancel');
});
},
},
};

Loading…
Cancel
Save