返工管理页面逻辑调整

dev-scheduling
zhangdi 3 months ago
parent 3e90f9eeef
commit 64e7121d36
  1. 9
      src/views/processManagement/components/processMainte/processPlanning.vue
  2. 266
      src/views/processManagement/components/processMainte/reworkProcessPlanning.vue

@ -390,10 +390,15 @@
</template>
<template #default="scope">
<el-form-item :prop="`tableData3[${scope.$index}].tool`" :rules="formRules3.tool">
<el-select v-model="scope.row.tool" placeholder="请选择" clearable filterable>
<el-input
v-model="scope.row.tool"
placeholder="请输入"
style="width: 100%"
></el-input>
<!-- <el-select v-model="scope.row.tool" placeholder="请选择" clearable filterable>
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
</el-select>
</el-select> -->
</el-form-item>
</template>
</el-table-column>

@ -22,7 +22,7 @@
<div class="table-btn-left">
<el-button type="primary" plain @click="addTable()">插入一行</el-button>
<el-button type="danger" plain @click="delTable()">删除选择行</el-button>
<el-button type="primary" plain @click="submit()">保存</el-button>
<el-button type="primary" @click="submit()">保存</el-button>
</div>
</div>
<div class="table-btn-right" v-if="activeName == '1'">
@ -31,9 +31,8 @@
<el-button type="primary" @change="reworkNoNumSave()">保存</el-button> -->
<el-input placeholder="请输入内容" v-model="reworkNoNum">
<template #append>
<el-button :icon="Search" >保存</el-button>
<el-button :icon="Search" @click="reworkNoNumSave()">保存</el-button>
</template>
<el-button class="el-icon-search" @click="reworkNoNumSave()">保存</el-button>
</el-input>
</div>
<div class="table-btn-right-box">
@ -51,7 +50,7 @@
:value="item.id"
/>
</el-select>
<el-button type="primary" @change="modelLevelChange()">导入模板</el-button>
<el-button type="primary" @click="modelLevelChange()">导入模板</el-button>
</div>
<!-- <div class="table-btn-right-box">
<el-select
@ -81,17 +80,17 @@
>
<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="reworkNo" label="返工序号">
<el-table-column prop="processInfo.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>
@ -167,6 +166,23 @@
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="makeMemo" label="工序描述">
<template #header>
<span><i style="color: red">*</i>工序描述</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].processInfo.makeMemo`"
:rules="formRules1.makeMemo"
>
<el-input
v-model="scope.row.processInfo.makeMemo"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="makeTeam" label="加工班组">
<template #default="scope">
<el-select
@ -175,14 +191,18 @@
clearable
filterable
>
<el-option v-for="(item, index) in teamOptions" :label="item.name" :value="item.id"></el-option>
<el-option
v-for="(item, index) in teamOptions"
:label="item.tsName"
:value="item.id"
></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="ocId" label="外协厂商">
<template #default="scope">
<el-input
v-model="scope.row.processInfo.ocId"
v-model="scope.row.ocId"
placeholder="请输入"
style="width: 100%"
></el-input>
@ -209,23 +229,6 @@
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="makeMemo" label="工序描述">
<template #header>
<span><i style="color: red">*</i>工序描述</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].processInfo.makeMemo`"
:rules="formRules1.makeMemo"
>
<el-input
v-model="scope.row.processInfo.makeMemo"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item>
</template>
</el-table-column>
</el-table>
</el-form>
<el-form
@ -238,12 +241,20 @@
<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 #header>
<span><i style="color: red">*</i>工序号</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData2[${scope.$index}].trialNo`"
:rules="formRules2.trialNo"
>
<el-input
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="检验项目">
@ -261,7 +272,11 @@
clearable
filterable
>
<el-option v-for="(item, index) in projectOptions" :label="item.name" :value="item.id"></el-option>
<el-option
v-for="(item, index) in projectOptions"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</template>
@ -281,12 +296,16 @@
clearable
filterable
>
<el-option v-for="(item, index) in standardList" :label="item.name" :value="item.id"></el-option>
<el-option
v-for="(item, index) in standardList"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="标准值">
<!-- <el-table-column prop="date" label="标准值">
<template #default="scope">
<el-input
v-model="scope.row.projectStandard"
@ -294,6 +313,32 @@
style="width: 100%"
></el-input>
</template>
</el-table-column> -->
<el-table-column prop="proHours" label="定额工时(分钟)">
<template #header>
<span><i style="color: red">*</i>定额工时(分钟)</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData2[${scope.$index}].proHours`"
:rules="formRules2.proHours"
>
<el-input
v-model="scope.row.proHours"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="prepareHours" label="准备工时(分钟)">
<template #default="scope">
<el-input
v-model="scope.row.prepareHours"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
</el-table>
</el-form>
@ -337,6 +382,11 @@
</template>
<template #default="scope">
<el-form-item :prop="`tableData3[${scope.$index}].tool`" :rules="formRules3.tool">
<el-input
v-model="scope.row.tool"
placeholder="请输入"
style="width: 100%"
></el-input>
<!-- <el-select v-model="scope.row.tool" placeholder="请选择" clearable filterable>
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
@ -453,7 +503,7 @@ import {
getCraftAbilityList,
getProject,
getTeamSetList,
getStandardList
getStandardList,
} from '@/api/processManagement/taskProcessing';
// import {getPartList} from '@/api/orderManagement/getPartList';
@ -531,15 +581,23 @@ export default {
form1: {
tableData1: [], //
deleteIds: [],
selectIds: [], //ID
},
form2: {
tableData2: [], //
deleteIds: [],
selectIds: [], //ID
},
form3: {
tableData3: [], //
deleteIds: [],
selectIds: [], //ID
},
form4: {
tableData4: [], //
deleteIds: [],
selectIds: [], //ID
},
formRules1: {
reworkNo: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
@ -552,25 +610,28 @@ export default {
makeMemo: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
},
formRules2: {
trialNo: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
projectName: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
projectStandard: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
proHours: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
},
formRules3: {
trialNo: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
testType: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
tool: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
},
formRules4: {
trialNo: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
moldCode: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
},
processSetOption: [],
craftAbilityOption: [],
treeNodes: {},
reworkNoNum: null, //
projectOptions:[],//
teamOptions:[],//
standardList:[],//
projectOptions: [], //
teamOptions: [], //
standardList: [], //
tempId: 0,
};
},
mounted() {
@ -578,9 +639,9 @@ export default {
this.getModelList();
this.getProcessSetList();
this.getCraftAbilityList();
this.getProject()
this.getTeamSetList()
this.getStandardList()
this.getProject();
this.getTeamSetList();
this.getStandardList();
},
methods: {
// getPartList(){
@ -588,33 +649,35 @@ export default {
// this.partInfoData = res.data.data;
// });
// },
getStandardList(){
getStandardList() {
getStandardList().then(res => {
this.standardList = res.data.data;
});
},
getTeamSetList(){
getTeamSetList() {
getTeamSetList().then(res => {
this.teamOptions = res.data.data;
});
},
getProject(){
getProject({size: 999999, current: 1}).then(res => {
getProject() {
getProject({ size: 999999, current: 1 }).then(res => {
this.projectOptions = res.data.data.records;
});
},
//
processChange(row, index) {
let selectName = this.processSetOption.find(item => item.id == row.processCode);
this.form1.tableData1[index].processName = selectName.name;
let selectName = this.processSetOption.find(item => item.id == row.processInfo.ppsId);
this.form1.tableData1[index].processInfo.processName = selectName.name;
},
//
craftChange(row, index) {
let selectName = this.craftAbilityOption.find(item => item.id == row.craftCode);
this.form1.tableData1[index].craftName = selectName.name;
let selectName = this.craftAbilityOption.find(item => item.id == row.processInfo.caId);
this.form1.tableData1[index].processInfo.craftName = selectName.name;
},
reworkNoNumSave() {
console.log(99999, this.reworkNoNum);
this.form1.tableData1.forEach(item => {
item.reworkNo = this.reworkNoNum;
});
},
//
getProcessSetList() {
@ -668,40 +731,53 @@ export default {
},
//
getDetails() {
getProcessAuthorized({ partId: this.partId, taskId: this.updateRow.id, version:this.updateRow.version }).then(res => {
getProcessAuthorized({
partId: this.partId,
taskId: this.updateRow.id,
version: this.updateRow.version,
}).then(res => {
this.data = this.transformCraftTree(res.data.data);
this.partInfoData = res.data.data;
});
},
//
transformCraftTree(responseData) {
console.log('原始数据:', responseData); //
const { partInfo, craftList } = responseData;
const partCode = partInfo.partCode;
const partCode = partInfo?.partCode || '未知零件';
//
const tree = [
{
label: partCode,
disabled: true,
rawData: partInfo, //
children: craftList.map(craft => {
const { craftInfo, processList } = craft;
rawData: partInfo,
children: (craftList || []).map(craft => {
const { craftInfo, processList = [] } = craft;
return {
...craft,
label: `${craftInfo.reworkOrder}`,
label: `${craftInfo?.reworkOrder || '返工单'}`,
children: processList.map(process => {
const { processInfo, projectList, measuringToolList, moldToolList } = process;
const ppsName =
process.ppsName || process.name || process.processName || '未知工序';
// projectList
const projectChildren = (process.projectList || []).map(project => ({
...project,
label: project.projectName || '未知检验项目', // 👈
disabled: true, //
isProjectNode: true, // 便
}));
return {
...processInfo,
...process,
label: processInfo.ppsName,
children: projectList.map(project => {
return {
...project,
label: project.projectName,
disabled: true,
};
}),
label: ppsName,
// projectList children
children: projectChildren.length > 0 ? projectChildren : undefined,
// 使
projectList: process.projectList || [],
measuringToolList: process.measuringToolList || [],
moldToolList: process.moldToolList || [],
};
}),
};
@ -727,6 +803,7 @@ export default {
if (this.treeLeave === 2) {
this.activeName = '1';
this.form1.tableData1 = nodes.processList;
console.log('当前节点数据:', nodes.processList);
}
//
if (this.treeLeave === 3) {
@ -767,29 +844,69 @@ export default {
},
//
addTable() {
this.tempId++;
if (this.activeName == '1') {
this.form1.tableData1.push({ id: null,processNo:this.getProcessNo(this.form1.tableData1) });
this.form1.tableData1.push({
processInfo: {
_tempId: this.tempId, //
id: null,
processNo: this.getProcessNo(this.form1.tableData1),
},
});
}
if (this.activeName == '2') {
this.form2.tableData2.push({ id: null,processNo:this.getProcessNo(this.form2.tableData2) });
this.form2.tableData2.push({
processInfo: {
_tempId: this.tempId, //
id: null,
processNo: this.getProcessNo(this.form1.tableData1),
},
});
}
if (this.activeName == '3') {
this.form3.tableData3.push({ id: null,processNo:this.getProcessNo(this.form3.tableData3) });
this.form3.tableData3.push({
processInfo: {
_tempId: this.tempId, //
id: null,
processNo: this.getProcessNo(this.form1.tableData1),
},
});
}
if (this.activeName == '4') {
this.form4.tableData4.push({ id: null,processNo:this.getProcessNo(this.form4.tableData4) });
this.form4.tableData4.push({
processInfo: {
_tempId: this.tempId, //
id: null,
processNo: this.getProcessNo(this.form1.tableData1),
},
});
}
},
handleSelectionChange1(val) {
this.form1.selectIds = val.map(row => row.id || row._tempId);
},
handleSelectionChange2(val) {
this.form2.selectIds = val.map(row => row.id || row._tempId);
},
handleSelectionChange3(val) {
this.form3.selectIds = val.map(row => row.id || row._tempId);
},
handleSelectionChange4(val) {
this.form4.selectIds = val.map(row => row.id || row._tempId);
},
//
delTable() {
if (this.activeName == '1') {
const active = this.activeName;
let message = '请至少选择一条数据进行删除';
if (active == '1') {
}
if (this.activeName == '2') {
if (active == '2') {
}
if (this.activeName == '3') {
if (active == '3') {
}
if (this.activeName == '4') {
if (active == '4') {
}
},
submit() {
@ -825,10 +942,12 @@ export default {
},
submitData() {
let newArr = [];
console.log('newArr', newArr);
if (this.treeLeave == 2) {
this.treeNodes.processList.forEach(item => {
newArr.push({
...(item.processInfo || item),
...item.processInfo,
processProjectVOList: item.projectList || [],
processMeasuringToolVOList: item.measuringToolList || [],
processMoldToolVOList: item.moldToolList || [],
@ -858,7 +977,8 @@ export default {
processMoldToolDeleteIds: [], //
};
reworkAuthorizedAccomplish(query_).then(res => {
this.$emit('cancel');
// this.$emit('cancel');
this.getDetails();
});
},
},

Loading…
Cancel
Save