返工工艺编制接口联调

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

@ -277,7 +277,7 @@
</div> </div>
<el-tree <el-tree
style="width: 240px" style="width: 240px"
:data="craftData.partInfo" :data="data"
:props="defaultProps" :props="defaultProps"
@node-click="handleNodeClick" @node-click="handleNodeClick"
:default-expand-all="true" :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="3" v-if="treeLeave == 3"></el-tab-pane>
<el-tab-pane label="工装、模具表" name="4" v-if="treeLeave == 3"></el-tab-pane> <el-tab-pane label="工装、模具表" name="4" v-if="treeLeave == 3"></el-tab-pane>
</el-tabs> </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 type="selection" width="55"></el-table-column>
<el-table-column prop="processNo" label="工序号"></el-table-column> <el-table-column prop="processNo" label="工序号"></el-table-column>
<el-table-column prop="processName" label="工序"> <el-table-column prop="processName" label="工序">
@ -339,7 +339,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </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 type="selection" width="55"></el-table-column>
<el-table-column prop="trialNo" label="工序号"></el-table-column> <el-table-column prop="trialNo" label="工序号"></el-table-column>
<el-table-column prop="projectName" label="检验项目"> <el-table-column prop="projectName" label="检验项目">
@ -359,7 +359,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="prepareHours" label="准备工时(分钟)"></el-table-column> <el-table-column prop="prepareHours" label="准备工时(分钟)"></el-table-column>
</el-table> </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 type="selection" width="55"></el-table-column>
<el-table-column prop="trialNo" label="工序号"></el-table-column> <el-table-column prop="trialNo" label="工序号"></el-table-column>
<el-table-column prop="testType" label="镀前镀后"> <el-table-column prop="testType" label="镀前镀后">
@ -378,7 +378,7 @@
<el-table-column prop="toolSize" label="量具尺寸"></el-table-column> <el-table-column prop="toolSize" label="量具尺寸"></el-table-column>
<el-table-column prop="toolInfo" label="图纸尺寸"></el-table-column> <el-table-column prop="toolInfo" label="图纸尺寸"></el-table-column>
</el-table> </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 type="selection" width="55"></el-table-column>
<el-table-column prop="trialNo" label="工序号"></el-table-column> <el-table-column prop="trialNo" label="工序号"></el-table-column>
<el-table-column prop="moldCode" label="对应工装"> <el-table-column prop="moldCode" label="对应工装">
@ -404,6 +404,7 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import dsPartBasicInfo from './dsPartBasicInfo.vue'; import dsPartBasicInfo from './dsPartBasicInfo.vue';
import processPlanning from './processPlanning.vue'; import processPlanning from './processPlanning.vue';
import { import {
@ -453,10 +454,18 @@ export default {
processLevel: '1', processLevel: '1',
rankList: [], rankList: [],
priorityList: [], priorityList: [],
tableData1: [], form1: {
tableData2: [], tableData1: [], //
tableData3: [], },
tableData4: [], form2: {
tableData2: [], //
},
form3: {
tableData3: [], //
},
form4: {
tableData4: [], //
},
activeName: '1', activeName: '1',
treeLeave: 2, // treeLeave: 2, //
data: [], data: [],
@ -570,23 +579,13 @@ export default {
mounted() { mounted() {
this.setCrewShow = this.isOpen; this.setCrewShow = this.isOpen;
this.getCcraftInfo();
this.getPartInfo(); this.getPartInfo();
this.getCcraftInfo();
}, },
methods: { methods: {
// //
handleNodeClick(nodes, node, self) { 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) { if (nodes.disabled) {
return false; return false;
} }
@ -610,50 +609,19 @@ export default {
const { processInfo, projectList, measuringToolList, moldToolList } = nodes.rawData; const { processInfo, projectList, measuringToolList, moldToolList } = nodes.rawData;
// //
this.form2.tableData2 = projectList.map(item => ({ this.form2.tableData2 = projectList
trialNo: item.projectCode,
projectName: item.projectName,
projectStandard: item.projectStandard,
proHours: item.proHours,
prepareHours: item.prepareHours,
}));
// //
this.form3.tableData3 = measuringToolList.map(item => ({ this.form3.tableData3 = measuringToolList
trialNo: item.projectCode || '',
testType: item.testType,
tool: item.tool,
toolSize: item.toolSize,
toolInfo: item.toolInfo,
}));
// //
this.form4.tableData4 = moldToolList.map(item => ({ this.form4.tableData4 = moldToolList
trialNo: processInfo.processNo,
moldCode: item.moldCode,
moldName: item.moldName,
isPrint: item.isPrint,
printNo: item.printNo,
testFixtureNo: item.testFixtureNo,
}));
} }
}, },
setDataLocal() { setDataLocal() {
this.$setItem('零件信息信息验证', this.validateObj); 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) { leavelChange(value) {
console.log('工艺级别', value); console.log('工艺级别', value);
}, },
@ -667,15 +635,17 @@ export default {
rank: '2', rank: '2',
}; };
getProcessManagementAuthorized(query).then(res => { getProcessManagementAuthorized(query).then(res => {
// this.craftData = res.data; this.data = this.transformCraftTree(res.data.data);
// this.data = this.transformCraftTree(res.data.data);
console.log('工艺编制信息-零件工艺', res.data.data);
}); });
} else if (this.detailsType == 'taskProcessing') { } else if (this.detailsType === 'taskProcessing') {
getProcessAuthorized(this.rowData.id).then(res => { 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.craftData = res.data.data;
// this.data = this.transformCraftTree(res.data.data); this.data = this.transformCraftTree(res.data.data);
console.log('工艺编制信息-工艺任务', res.data.data);
}); });
} }
}, },
@ -690,12 +660,10 @@ export default {
}; };
getPartManagementDetail(query).then(res => { getPartManagementDetail(query).then(res => {
this.formData = res.data.data.dsPartEntity; this.formData = res.data.data.dsPartEntity;
console.log('零件信息-零件工艺', res.data.data);
}); });
} else if (this.detailsType === 'taskProcessing') { } else if (this.detailsType === 'taskProcessing') {
getPartDetail(this.rowData.id).then(res => { getPartDetail(this.rowData.id).then(res => {
this.formData = res.data.data.dsPartEntity; this.formData = res.data.data.dsPartEntity;
console.log('零件信息-工艺任务', res.data.data);
}); });
} }
}, },
@ -750,8 +718,8 @@ export default {
return tree; return tree;
}, },
handleClick(tab, event) { handleClick(value) {
console.log(999999, value);
}, },
partSubRefLoad() { partSubRefLoad() {
this.$refs.partSubRef.loadData(this.partId, true); 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 :data="form1.tableData1" style="width: 100%" v-if="activeName == '1'">
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="dareworkNote" label="返工序号"> <el-table-column prop="reworkNo" label="返工序号">
<template #header> <template #header>
<span><i style="color: red">*</i>返工序号</span> <span><i style="color: red">*</i>返工序号</span>
</template> </template>
<template #default="scope"> <template #default="scope">
<el-form-item <el-form-item
:prop="`tableData1[${scope.$index}].reworkNo`" :prop="`tableData1[${scope.$index}].processInfo.reworkNo`"
:rules="formRules1.reworkNo" :rules="formRules1.reworkNo"
> >
<el-input <el-input
v-model="scope.row.reworkNo" v-model="scope.row.processInfo.reworkNo"
placeholder="请输入" placeholder="请输入"
style="width: 100%" style="width: 100%"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="date" label="工序号"> <el-table-column prop="processNo" label="工序号">
<template #header> <template #header>
<span><i style="color: red">*</i>工序号</span> <span><i style="color: red">*</i>工序号</span>
</template> </template>
<template #default="scope"> <template #default="scope">
<el-form-item <el-form-item
:prop="`tableData1[${scope.$index}].processNo`" :prop="`tableData1[${scope.$index}].processInfo.processNo`"
:rules="formRules1.processNo" :rules="formRules1.processNo"
> >
<el-input <el-input
v-model="scope.row.processNo" v-model="scope.row.processInfo.processNo"
placeholder="请输入" placeholder="请输入"
style="width: 100%" style="width: 100%"
></el-input> ></el-input>
@ -107,10 +107,10 @@
</template> </template>
<template #default="scope"> <template #default="scope">
<el-form-item <el-form-item
:prop="`tableData1[${scope.$index}].ppsId`" :prop="`tableData1[${scope.$index}].processInfo.ppsId`"
:rules="formRules1.ppsId" :rules="formRules1.ppsId"
> >
<el-select v-model="scope.row.ppsId" placeholder="请选择"> <el-select v-model="scope.row.processInfo.ppsId" placeholder="请选择">
<el-option <el-option
v-for="(item, index) in processSetOption" v-for="(item, index) in processSetOption"
:key="index" :key="index"
@ -127,10 +127,10 @@
</template> </template>
<template #default="scope"> <template #default="scope">
<el-form-item <el-form-item
:prop="`tableData1[${scope.$index}].caId`" :prop="`tableData1[${scope.$index}].processInfo.caId`"
:rules="formRules1.caId" :rules="formRules1.caId"
> >
<el-select v-model="scope.row.caId" placeholder="请选择"> <el-select v-model="scope.row.processInfo.caId" placeholder="请选择">
<el-option <el-option
v-for="(item, index) in craftAbilityOption" v-for="(item, index) in craftAbilityOption"
:key="index" :key="index"
@ -143,29 +143,38 @@
</el-table-column> </el-table-column>
<el-table-column prop="makeTeam" label="加工班组"> <el-table-column prop="makeTeam" label="加工班组">
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.makeTeam" placeholder="请选择"> <el-select v-model="scope.row.processInfo.makeTeam" placeholder="请选择">
<el-option label="是" value="1"></el-option> <el-option label="班组1" :value="1"></el-option>
<el-option label="否" value="2"></el-option> <el-option label="班组2" :value="2"></el-option>
<el-option label="班组2" :value="3"></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="ocId" label="外协厂商"> <el-table-column prop="ocId" label="外协厂商">
<template #default="scope"> <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="1"></el-option>
<el-option label="否" value="2"></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> </template>
</el-table-column> </el-table-column>
<el-table-column prop="isMain" label="主工序"> <el-table-column prop="cruxProcess" label="主工序">
<template #header> <template #header>
<span><i style="color: red">*</i>主工序</span> <span><i style="color: red">*</i>主工序</span>
</template> </template>
<template #default="scope"> <template #default="scope">
<el-form-item :prop="`tableData1[${scope.$index}].cruxProcess`" :rules="formRules1.cruxProcess"> <el-form-item
<el-select v-model="scope.row.cruxProcess" placeholder="请选择"> :prop="`tableData1[${scope.$index}].processInfo.cruxProcess`"
<el-option label="是" value="1"></el-option> :rules="formRules1.cruxProcess"
<el-option label="否" value="2"></el-option> >
<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-select>
</el-form-item> </el-form-item>
</template> </template>
@ -175,9 +184,12 @@
<span><i style="color: red">*</i>工序描述</span> <span><i style="color: red">*</i>工序描述</span>
</template> </template>
<template #default="scope"> <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 <el-input
v-model="scope.row.makeMemo" v-model="scope.row.processInfo.makeMemo"
placeholder="请输入" placeholder="请输入"
style="width: 100%" style="width: 100%"
></el-input> ></el-input>
@ -186,7 +198,14 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-form> </el-form>
<el-table :data="form2.tableData2" style="width: 100%" v-if="activeName == '2'"> <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 type="selection" width="55"></el-table-column>
<el-table-column prop="date" label="工序号"> <el-table-column prop="date" label="工序号">
<template #default="scope"> <template #default="scope">
@ -239,7 +258,15 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table :data="form3.tableData3" style="width: 100%" v-if="activeName == '3'"> </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 type="selection" width="55"></el-table-column>
<el-table-column prop="date" label="工序号"> <el-table-column prop="date" label="工序号">
<template #default="scope"> <template #default="scope">
@ -298,7 +325,15 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table :data="form4.tableData4" style="width: 100%" v-if="activeName == '4'"> </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 type="selection" width="55"></el-table-column>
<el-table-column prop="date" label="工序号"> <el-table-column prop="date" label="工序号">
<template #default="scope"> <template #default="scope">
@ -363,6 +398,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-form>
</div> </div>
</div> </div>
</template> </template>
@ -445,7 +481,7 @@ export default {
}, },
], ],
activeName: '1', activeName: '1',
treeLeave: 1, // treeLeave: 2, //
modelLevel: null, modelLevel: null,
modelOption: [], // modelOption: [], //
@ -549,12 +585,13 @@ export default {
children: processList.map(process => { children: processList.map(process => {
const { processInfo, projectList, measuringToolList, moldToolList } = process; const { processInfo, projectList, measuringToolList, moldToolList } = process;
return { return {
...processInfo,
...process, ...process,
label: processInfo.ppsName, label: processInfo.ppsName,
children: projectList.map(process => { children: projectList.map(project => {
return { return {
...process, ...project,
label: process.projectName, label: project.projectName,
disabled: true, disabled: true,
}; };
}), }),
@ -633,7 +670,40 @@ export default {
} }
}, },
submit() { submit() {
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 = []; let newArr = [];
if (this.treeLeave == 2) {
this.treeNodes.processList.forEach(item => { this.treeNodes.processList.forEach(item => {
newArr.push({ newArr.push({
...(item.processInfo || item), ...(item.processInfo || item),
@ -642,13 +712,22 @@ export default {
processMoldToolVOList: item.moldToolList || [], processMoldToolVOList: item.moldToolList || [],
}); });
}); });
} else {
newArr.push({
...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_ = { let query_ = {
craft: { craft: {
partId: this.partId, partId: this.partId,
reworkOrder: this.partInfoData.craftList[0].craftInfo.reworkOrder, reworkOrder: this.partInfoData.craftList[0].craftInfo.reworkOrder,
partVersions: this.partInfoData.craftList[0].craftInfo.partVersions, partVersions: this.partInfoData.craftList[0].craftInfo.partVersions,
id:this.partInfoData.craftList[0].craftInfo.id, id: this.partInfoData.craftList[0].craftInfo.id,
}, // }, //
reworkProcessVOList: newArr, reworkProcessVOList: newArr,
reworkProcessDeleteIds: [], //id reworkProcessDeleteIds: [], //id
@ -656,10 +735,9 @@ export default {
processMeasuringToolDeleteIds: [], //id processMeasuringToolDeleteIds: [], //id
processMoldToolDeleteIds: [], // processMoldToolDeleteIds: [], //
}; };
reworkAuthorizedAccomplish(query_).then(res=>{ reworkAuthorizedAccomplish(query_).then(res => {
console.log(9999,res) this.$emit('cancel');
this.$emit('cancel') });
})
}, },
}, },
}; };

Loading…
Cancel
Save