This commit is contained in:
JenniferW 2025-06-13 11:09:16 +08:00
parent 22a03522b1
commit 847be510a3
2 changed files with 67 additions and 16 deletions

View File

@ -152,25 +152,29 @@ export const productTreeData = [
code: "D351200000018", code: "D351200000018",
label: "D351200000018,动车组联轴节(鼓形齿式)", label: "D351200000018,动车组联轴节(鼓形齿式)",
replaceable: true, replaceable: true,
image: '/src/assets/images/cars/1_2_1.jpg' image: '/src/assets/images/cars/1_2_1.jpg',
children: []
}, },
{ {
code: "D312000000013", code: "D312000000013",
label: "D312000000013,齿轮箱组成", label: "D312000000013,齿轮箱组成",
replaceable: true, replaceable: true,
image: '/src/assets/images/cars/1_2_1_1.jpg' image: '/src/assets/images/cars/1_2_1_1.jpg',
children: []
}, },
{ {
code: "D311101000008", code: "D311101000008",
label: "D311101000008,动力车轮组成(带喷漆)", label: "D311101000008,动力车轮组成(带喷漆)",
replaceable: false, replaceable: false,
image: '/src/assets/images/cars/1_2_1_1.jpg' image: '/src/assets/images/cars/1_2_1_1.jpg',
children: []
}, },
{ {
code: "D311299000016", code: "D311299000016",
label: "D311299000016,动力车轴(带喷漆)", label: "D311299000016,动力车轴(带喷漆)",
replaceable: false, replaceable: false,
image: '/src/assets/images/cars/1_2_1_1_1.jpg' image: '/src/assets/images/cars/1_2_1_1_1.jpg',
children: []
} }
] ]
}, },
@ -178,25 +182,29 @@ export const productTreeData = [
code: "D311303000007", code: "D311303000007",
label: "D311303000007,后挡圈", label: "D311303000007,后挡圈",
replaceable: false, replaceable: false,
image: '/src/assets/images/cars/1_1_2.jpg' image: '/src/assets/images/cars/1_1_2.jpg',
children: []
}, },
{ {
code: "3627401100024", code: "3627401100024",
label: "3627401100024,O形橡胶密封圈", label: "3627401100024,O形橡胶密封圈",
replaceable: false, replaceable: false,
image: '/src/assets/images/cars/1_2.jpg' image: '/src/assets/images/cars/1_2.jpg',
children: []
}, },
{ {
code: "3627401100023", code: "3627401100023",
label: "3627401100023,O形橡胶密封圈", label: "3627401100023,O形橡胶密封圈",
replaceable: false, replaceable: false,
image: '/src/assets/images/cars/1_2_1.jpg' image: '/src/assets/images/cars/1_2_1.jpg',
children: []
}, },
{ {
code: "D311300000020", code: "D311300000020",
label: "D311300000020,轴箱轴承", label: "D311300000020,轴箱轴承",
replaceable: false, replaceable: false,
image: '/src/assets/images/cars/1_2_1_1.jpg' image: '/src/assets/images/cars/1_2_1_1.jpg',
children: []
} }
] ]
}, },
@ -204,19 +212,22 @@ export const productTreeData = [
code: "D325000000013", code: "D325000000013",
label: "D325000000013,左轴箱组成", label: "D325000000013,左轴箱组成",
replaceable: false, replaceable: false,
image: '/src/assets/images/cars/2.jpg' image: '/src/assets/images/cars/2.jpg',
children: []
}, },
{ {
code: "D325000000014", code: "D325000000014",
label: "D325000000014,右轴箱组成", label: "D325000000014,右轴箱组成",
replaceable: false, replaceable: false,
image: '/src/assets/images/cars/3.jpg' image: '/src/assets/images/cars/3.jpg',
children: []
}, },
{ {
code: "D326000000037", code: "D326000000037",
label: "D326000000037,左轴端装置", label: "D326000000037,左轴端装置",
replaceable: false, replaceable: false,
image: '/src/assets/images/cars/4.jpg' image: '/src/assets/images/cars/4.jpg',
children: []
} }
] ]
} }
@ -229,7 +240,8 @@ export const replacePartsMap = {
code: "D351200000002", code: "D351200000002",
label: "D351200000002,动车组联轴节(鼓形齿式)", label: "D351200000002,动车组联轴节(鼓形齿式)",
replaceable: true, replaceable: true,
image: '/src/assets/images/cars/1_1_1.jpg' image: '/src/assets/images/cars/1_1_1.jpg',
children: []
} }
], ],
"D312000000013": [ "D312000000013": [
@ -237,13 +249,15 @@ export const replacePartsMap = {
code: "D312000000014", code: "D312000000014",
label: "D312000000014,齿轮箱组成", label: "D312000000014,齿轮箱组成",
replaceable: true, replaceable: true,
image: '/src/assets/images/cars/1_2_1.jpg' image: '/src/assets/images/cars/1_2_1.jpg',
children: []
}, },
{ {
code: "312000000015", code: "312000000015",
label: "D312000000015齿轮箱组成", label: "D312000000015齿轮箱组成",
replaceable: true, replaceable: true,
image: '/src/assets/images/cars/4.jpg' image: '/src/assets/images/cars/4.jpg',
children: []
} }
] ]
}; };

View File

@ -186,9 +186,32 @@
</ul> </ul>
</template> </template>
<template v-else> <template v-else>
<ul class="custom-tree no-arrow">
<li
v-for="thirdLevel in thirdLevelsWithoutChildren"
:key="thirdLevel.code"
:class="[
'tree-node',
selectedNode &&
selectedNode.code === thirdLevel.code
? 'active'
: '',
]"
@click="handleNodeClick(thirdLevel)"
>
<span>{{ thirdLevel.label }}</span>
<el-button
v-if="thirdLevel.replaceable"
type="primary"
link
@click.stop="openReplaceDialog(thirdLevel)"
>替换</el-button
>
</li>
</ul>
<el-collapse v-model="collapseActiveNames" accordion> <el-collapse v-model="collapseActiveNames" accordion>
<el-collapse-item <el-collapse-item
v-for="thirdLevel in activeSecondLevelItem.children" v-for="thirdLevel in thirdLevelsWithChildren"
:key="thirdLevel.code" :key="thirdLevel.code"
:name="thirdLevel.code" :name="thirdLevel.code"
> >
@ -213,7 +236,7 @@
> >
</span> </span>
</template> </template>
<ul v-if="thirdLevel.children"> <ul>
<li <li
v-for="fourthLevel in thirdLevel.children" v-for="fourthLevel in thirdLevel.children"
:key="fourthLevel.code" :key="fourthLevel.code"
@ -532,6 +555,20 @@ const allThirdLevelNoChildren = computed(() => {
); );
}); });
//
const thirdLevelsWithoutChildren = computed(() => {
return (activeSecondLevelItem.value?.children || []).filter(
(item) => !item.children || item.children.length === 0
);
});
//
const thirdLevelsWithChildren = computed(() => {
return (activeSecondLevelItem.value?.children || []).filter(
(item) => item.children && item.children.length > 0
);
});
function selectFirstNode() { function selectFirstNode() {
const thirdLevels = activeSecondLevelItem.value?.children || []; const thirdLevels = activeSecondLevelItem.value?.children || [];
if (thirdLevels.length > 0) { if (thirdLevels.length > 0) {