diff --git a/src/views/processManagement/components/processMainte/reworkProcessPlanning.vue b/src/views/processManagement/components/processMainte/reworkProcessPlanning.vue
index a10d867..908a4dc 100644
--- a/src/views/processManagement/components/processMainte/reworkProcessPlanning.vue
+++ b/src/views/processManagement/components/processMainte/reworkProcessPlanning.vue
@@ -8,6 +8,8 @@
@node-click="handleNodeClick"
:default-expand-all="true"
:expand-on-click-node="false"
+ node-key="id"
+ ref="tree"
/>
@@ -885,7 +887,11 @@ export default {
.then(res => {
this.treeLoading = false;
this.data = this.transformCraftTree(res.data.data);
- this.calculateTableHeight();
+ // this.calculateTableHeight();
+ this.$nextTick(() => {
+ this.autoSelectFirstProcess();
+ this.calculateTableHeight();
+ });
this.partInfoData = res.data.data;
})
.catch(err => {
@@ -896,9 +902,15 @@ export default {
transformCraftTree(responseData) {
const { partInfo, craftList } = responseData;
const partCode = partInfo?.partCode || '未知零件';
+ const generateId = (prefix, id, fallback) => {
+ return (
+ id || `${prefix}_${fallback}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`
+ );
+ };
const tree = [
{
+ id: generateId('part', partInfo.id, partCode),
label: partCode,
disabled: true,
rawData: {
@@ -909,6 +921,7 @@ export default {
children: (craftList || []).map(craft => {
const { craftInfo, processList = [] } = craft;
return {
+ id: generateId('craft', craftInfo.id, craftInfo.craftNo),
...craft,
label: `${craftInfo?.reworkOrder || '返工单'}`,
rawData: craftInfo,
@@ -921,6 +934,7 @@ export default {
process.processInfo.name ||
process.processInfo.processName ||
'未知工序';
+ const ppsNo = process.processInfo.ppsNo || process.processInfo.processNo;
// 将 projectList 转为第四级子节点
const projectChildren = (process.projectList || []).map(project => ({
@@ -928,9 +942,11 @@ export default {
label: project.projectName || '未知检验项目', // 👈 显示项目名称
disabled: true, // 通常项目不可点击
isProjectNode: true, // 可选:标记类型,便于后续处理
+ id: generateId('project', project.id, project.projectCode),
}));
return {
+ id: generateId('process', process.id, process.processNo),
...process,
label: ppsNo + '-' + ppsName,
rawData: {
@@ -951,8 +967,36 @@ export default {
}),
},
];
+ console.log(tree,'tree');
return tree;
},
+ autoSelectFirstProcess() {
+ if (!this.data || this.data.length === 0) return;
+ if(this.data[0].children.length>0){
+ let rootNode = this.data[0].children[0];
+ this.handleNodeClick(rootNode, {
+ level: 2,
+ parent: {
+ data: null,
+ isRoot: true,
+ },
+ });
+ this.$nextTick(() => {
+ if (this.$refs.tree) {
+ this.$refs.tree.setCurrentKey(rootNode.id);
+ }
+ });
+ }
+ // const rootNode = this.data[0];
+ // this.handleNodeClick(rootNode, {
+ // level: 1,
+ // parent: {
+ // data: null,
+ // isRoot: true,
+ // },
+ // });
+
+ },
// 组织树点击
handleNodeClick(nodes, node, self) {
if (nodes.disabled) {