工艺任务管理接口联调代码提交

dev-scheduling
zhangdi 2 days ago
parent f0a07f2567
commit 82ce42383b
  1. 19
      src/api/processManagement/taskProcessing.js
  2. 78
      src/views/processManagement/components/processMainte/processPlanning.vue
  3. 524
      src/views/processManagement/components/processMainte/reworkProcessPlanning.vue
  4. 1
      src/views/processManagement/taskProcessing.vue

@ -209,3 +209,22 @@ export const getCraftAbilityList = (params) => {
params: params,
});
}
// 返工编制保存
export const reworkAuthorizedAccomplish = data => {
return request({
url: '/blade-desk/dsTasking/reworkAuthorizedAccomplish',
method: 'post',
data:data
});
}
// 返工零件工序导入
export const getProcessList = data => {
return request({
url: '/blade-desk/dsProcess/getProcessList',
method: 'post',
data:data
});
}

@ -128,16 +128,16 @@
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="address" label="工艺能力">
<el-table-column prop="craftName" label="工艺能力">
<template #header>
<span><i style="color: red">*</i>工艺能力</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].address`"
:rules="formRules1.address"
:prop="`tableData1[${scope.$index}].craftName`"
:rules="formRules1.craftName"
>
<el-select v-model="scope.row.address" placeholder="请选择">
<el-select v-model="scope.row.craftName" placeholder="请选择">
<el-option
v-for="(item, index) in craftAbilityOption"
:key="index"
@ -372,7 +372,7 @@
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].moldCode`"
:prop="`tableData4[${scope.$index}].moldCode`"
:rules="formRules4.moldCode"
>
<el-input
@ -506,7 +506,12 @@ export default {
activeName: '1',
treeLeave: 2, //
processSetOption: [], //
craftAbilityOption: [], //
craftAbilityOption: [
{
label: '工艺能力1',
value: 1,
},
], //
modelOption: [], //
modelLevel: null, //
form1: {
@ -523,7 +528,7 @@ export default {
},
formRules1: {
processName: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
address: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
craftName: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
proDes: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
proHours: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
isMain: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
@ -540,13 +545,15 @@ export default {
formRules4: {
moldCode: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
},
treeNodes: {}, //
partInfoData: {}, //
};
},
mounted() {
this.getDetails();
this.getModelList();
this.getProcessSetList();
this.getCraftAbilityList();
// this.getCraftAbilityList();
},
methods: {
//
@ -577,7 +584,7 @@ export default {
getDetails() {
getProcessAuthorized({ partId: this.partId, taskId: this.updateRow.id }).then(res => {
this.data = this.transformCraftTree(res.data.data);
console.log(89898989, this.data);
this.partInfoData = res.data.data.partInfo;
});
},
//
@ -636,7 +643,7 @@ export default {
if (nodes.disabled) {
return false;
}
this.treeNodes = nodes;
this.treeLeave = node.level;
//
@ -647,7 +654,6 @@ export default {
//
if (this.treeLeave === 2) {
this.activeName = '1';
console.log(99999, nodes.processList);
this.form1.tableData1 = nodes.processList;
}
//
@ -691,7 +697,6 @@ export default {
},
//
leavelChange() {
// this.$message.success('');
},
//
@ -724,58 +729,59 @@ export default {
if (this.activeName == '1') {
// Form
this.$refs.tableForm1.validate((isValid, invalidFields) => {
if (!isValid) {
if (isValid) {
let query_ = {
dsPart: {}, //
craft: {}, //
processList: [], //
dsPart: this.partInfoData, //
craft: this.treeNodes.rawData, //
processList: this.form1.tableData1, //
deleteIds: [], //ids
};
// authorizedAccomplish2(query_).then(res=>{
// })
authorizedAccomplish2(query_).then(res => {
this.$message.success('保存成功');
});
}
});
}
if (this.activeName == '2') {
this.$refs.tableForm2.validate((isValid, invalidFields) => {
if (!isValid) {
if (isValid) {
let query_ = {
processEntity: {}, //
processProjectEntityList: [], //
processEntity: this.treeNodes.rawData.processInfo, //
processProjectEntityList: this.form2.tableData2, //
deleteIds: [], //ids
};
// saveProcessProjectSave(query_).then(res=>{
// })
saveProcessProjectSave(query_).then(res => {
this.$message.success('保存成功');
});
}
});
}
if (this.activeName == '3') {
this.$refs.tableForm3.validate((isValid, invalidFields) => {
if (!isValid) {
if (isValid) {
let query_ = {
processEntity: {}, //
processMeasuringToolEntities: [], //
processEntity: this.treeNodes.rawData.processInfo, //
processMeasuringToolEntities: this.form3.tableData3, //
deleteIds: [], //ids
};
// saveProcessMeasuringTool(query_).then(res=>{
// })
saveProcessMeasuringTool(query_).then(res => {
this.$message.success('保存成功');
});
}
});
}
if (this.activeName == '4') {
this.$refs.tableForm4.validate((isValid, invalidFields) => {
if (!isValid) {
if (isValid) {
let query_ = {
processEntity: {}, //
processMoldToolEntities: [], //
processEntity: this.treeNodes.rawData.processInfo, //
processMoldToolEntities: this.form4.tableData4, //
deleteIds: [], //ids
};
// saveProcessMoldTool(query_).then(res=>{
// })
saveProcessMoldTool(query_).then(res=>{
this.$message.success('保存成功');
})
}
});
}

@ -19,21 +19,26 @@
</el-tabs>
<div class="table-btn">
<div class="table-btn-left">
<el-button type="primary" plain @click="addTable()">插入一行</el-button>
<el-button type="danger" plain @click="delTable()">删除选择行</el-button>
<div class="table-btn-left">
<el-button type="primary" plain @click="addTable()">插入一行</el-button>
<el-button type="danger" plain @click="delTable()">删除选择行</el-button>
</div>
</div>
<div class="table-btn-right" v-if="!(activeName == '3' || activeName == '4')">
<div class="table-btn-right" v-if="activeName == '1'">
<div class="table-btn-right-box">
<el-select
v-model="processLevel"
v-model="modelLevel"
placeholder="选择工艺模板"
style="width: 220px; margin-right: 12px"
>
<el-option label="模板一" value="1" />
<el-option label="模板二" value="2" />
<el-option label="模板三" value="3" />
<el-option
v-for="(item, index) in modelOption"
:key="index"
:label="item.name"
:value="item.id"
/>
</el-select>
<el-button type="primary">导入模板</el-button>
<el-button type="primary" @change="modelLevelChange()">导入模板</el-button>
</div>
<div class="table-btn-right-box">
<el-select
@ -45,101 +50,334 @@
<el-option label="模板二" value="2" />
<el-option label="模板三" value="3" />
</el-select>
<el-button type="primary">零件导入</el-button>
<el-button type="primary" @click="getProcessList()">零件导入</el-button>
</div>
<div class="table-btn-right-box">
<!-- <div class="table-btn-right-box">
<el-button type="primary">历史工序</el-button>
</div>
</div> -->
</div>
</div>
<el-table :data="tableData1" style="width: 100%" v-if="activeName == '1'">
<el-form
ref="tableForm1"
:model="form1"
:rules="formRules1"
label-width="0px"
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="date" label="返工序号">
<template #header>
<span><i style="color: red">*</i>返工序号</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].processName`"
:rules="formRules1.processName"
>
<el-input
v-model="scope.row.processNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</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="`tableData1[${scope.$index}].processName`"
:rules="formRules1.processName"
>
<el-input
v-model="scope.row.processNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="name" label="工序">
<template #header>
<span><i style="color: red">*</i>工序</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].processName`"
:rules="formRules1.processName"
>
<el-select v-model="scope.row.processName" placeholder="请选择">
<el-option
v-for="(item, index) in processSetOption"
:key="index"
label="是"
value="1"
></el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="address" label="工艺能力">
<template #header>
<span><i style="color: red">*</i>工艺能力</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].craftName`"
:rules="formRules1.craftName"
>
<el-select v-model="scope.row.craftName" placeholder="请选择">
<el-option
v-for="(item, index) in craftAbilityOption"
:key="index"
label="是"
value="1"
></el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="address" label="加工班组">
<template #default="scope">
<el-select v-model="scope.row.value" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="address" label="外协厂商">
<template #default="scope">
<el-select v-model="scope.row.value" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="address" label="主工序">
<template #header>
<span><i style="color: red">*</i>主工序</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].craftName`"
:rules="formRules1.craftName"
>
<el-select v-model="scope.row.value" 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="address" label="工序描述">
<template #header>
<span><i style="color: red">*</i>工序描述</span>
</template>
<template #default="scope">
<el-form-item :prop="`tableData1[${scope.$index}].proDes`" :rules="formRules1.proDes">
<el-input
v-model="scope.row.proDes"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item>
</template>
</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 #header>
<span><i style="color: red">*</i>返工序号</span>
</template>
</el-table-column>
<el-table-column prop="date" label="工序号">
<template #header>
<span><i style="color: red">*</i>工序号</span>
<template #default="scope">
<el-input
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="name" label="工序">
<el-table-column prop="date" label="检验项目">
<template #header>
<span><i style="color: red">*</i>工序</span>
<span><i style="color: red">*</i>检验项目</span>
</template>
</el-table-column>
<el-table-column prop="address" label="工艺能力">
<template #header>
<span><i style="color: red">*</i>工艺能力</span>
<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="address" label="加工班组"> </el-table-column>
<el-table-column prop="address" label="外协厂商"> </el-table-column>
<el-table-column prop="address" label="主工序">
<el-table-column prop="date" label="检验标准">
<template #header>
<span><i style="color: red">*</i>主工序</span>
<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-select v-model="value" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
</el-select>
</el-table-column>
<el-table-column prop="address" label="工序描述">
<template #header>
<span><i style="color: red">*</i>工序描述</span>
<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="tableData2" style="width: 100%" v-if="activeName == '2'">
<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="工序号"></el-table-column>
<el-table-column prop="date" label="检验项目">
<template #header>
<span><i style="color: red">*</i>检验项目</span>
</template>
</el-table-column>
<el-table-column prop="date" label="检验标准">
<template #header>
<span><i style="color: red">*</i>检验标准</span>
<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="标准值"> </el-table-column>
</el-table>
<el-table :data="tableData3" style="width: 100%" v-if="activeName == '3'">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="date" label="工序号"></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-column prop="date" label="量具尺寸"></el-table-column>
<el-table-column prop="date" 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="date" label="工序号"></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-column prop="date" label="工装名称"></el-table-column>
<el-table-column prop="date" label="是否印字"></el-table-column>
<el-table-column prop="date" label="印字版编号"></el-table-column>
<el-table-column prop="date" label="测试夹具号"></el-table-column>
</el-table>
</div>
</div>
</template>
<script>
import { getList, getPartDetail } from '@/api/processManagement/taskProcessing';
import {
getList,
getPartDetail,
getProcessAuthorized,
getModelList,
getModelDetailList,
reworkAuthorizedAccomplish,
getProcessList
} from '@/api/processManagement/taskProcessing';
export default {
name: 'CraftIndex',
@ -157,6 +395,10 @@ export default {
type: String,
default: '',
},
updateRow: {
type: Object,
default: {},
},
},
data() {
return {
@ -220,20 +462,136 @@ export default {
],
activeName: '1',
treeLeave: 1, //
modelLevel: null,
modelOption: [], //
partInfoData: {}, //
form1: {
tableData1: [], //
},
form2: {
tableData2: [], //
},
form3: {
tableData3: [], //
},
form4: {
tableData4: [], //
},
formRules1: {
processName: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
craftName: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
proDes: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
proHours: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
isMain: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
},
formRules2: {
projectName: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
projectStandard: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
proHours: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
},
formRules3: {
testType: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
tool: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
},
formRules4: {
moldCode: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
},
};
},
mounted() {
console.log(9999, this.updateRow);
this.getDetails();
this.getModelList();
},
methods: {
//
getModelList() {
getModelList().then(res => {
this.modelOption = res.data.data;
});
},
//
modelLevelChange() {
getModelDetailList({ modelId: this.modelLevel }).then(res => {
});
},
//
getProcessList(){
getProcessList().then(res=>{
})
},
//
getDetails() {
if (this.partId) {
getPartDetail({ partId: this.partId }).then((res) => {
this.form = Object.assign({}, this.form, res.data);
});
}
getProcessAuthorized({ partId: this.partId, taskId: this.updateRow.id }).then(res => {
this.data = this.transformCraftTree(res.data.data);
this.partInfoData = res.data.data.partInfo;
});
},
//
transformCraftTree(responseData) {
const { partInfo, craftList } = responseData;
const partCode = partInfo.partCode;
//
const tree = [
{
label: partCode,
disabled: true,
rawData: partInfo, //
children: craftList.map(craft => {
const { craftInfo, processList } = craft;
// roamNo-craftNo
const craftLabel = `${craftInfo.roamNo}-${craftInfo.craftNo}`;
return {
...craftInfo,
label: craftLabel,
processList: processList.map(process => {
return process.processInfo;
}),
rawData: craftInfo, //
children: processList.map(process => {
const { processInfo, projectList, measuringToolList, moldToolList } = process;
//
const processLabel = processInfo.processName;
return {
...processInfo,
label: processLabel,
rawData: {
processInfo,
projectList,
measuringToolList,
moldToolList,
}, //
children: projectList.map(project => ({
label: project.projectName, //
rawData: project, //
disabled: true,
})),
};
}),
};
}),
},
];
return tree;
},
// getDetails() {
// if (this.partId) {
// getPartDetail({ partId: this.partId }).then((res) => {
// this.form = Object.assign({}, this.form, res.data);
// });
// }
// },
//
handleNodeClick(nodes, node, self) {
if (nodes.disabled&&node.level==3) {
if (nodes.disabled && node.level == 3) {
//
return false;
}
@ -241,7 +599,7 @@ export default {
if (this.treeLeave == 2) {
this.activeName = '2';
}
if (this.treeLeave == 1) {
if (this.treeLeave == 1) {
this.activeName = '1';
}
},
@ -256,12 +614,16 @@ export default {
//
addTable() {
if (this.activeName == '1') {
this.form1.tableData1.push({});
}
if (this.activeName == '2') {
this.form2.tableData2.push({});
}
if (this.activeName == '3') {
this.form3.tableData3.push({});
}
if (this.activeName == '4') {
this.form4.tableData4.push({});
}
},
//
@ -275,6 +637,19 @@ export default {
if (this.activeName == '4') {
}
},
submit(){
let query_={
craft:{},//
reworkProcessVOList:[],//
reworkProcessDeleteIds:[],//id
processProjectDeleteIds:[],//id
processMeasuringToolDeleteIds:[],//id
processMoldToolDeleteIds:[],//
}
// reworkAuthorizedAccomplish(query_).then(res=>{
// console.log(9999,res)
// })
}
},
};
</script>
@ -291,13 +666,11 @@ export default {
.process-select {
padding: 12px;
background: #e4e7ed;
:deep(.el-form-item) {
margin-bottom: 0px !important;
}
}
}
:deep(.el-form-item) {
margin-bottom: 0px !important;
}
.process-right {
padding: 12px;
flex: 1;
@ -323,4 +696,9 @@ export default {
}
}
}
:deep(.el-table .el-table__cell) {
height: 50px !important;
padding: 0 !important;
line-height: 50px !important;
}
</style>

@ -100,6 +100,7 @@
@cancel="cancel"
:partType="partType"
:dialogType="dialogType"
:updateRow="updateRow"
>
</reworkDsPartIndex>
<!-- 新增任务 -->

Loading…
Cancel
Save