|
@@ -114,7 +114,7 @@ import {
|
|
import type { MindMapInstance } from "@/components/mindmap/Mindmap.vue";
|
|
import type { MindMapInstance } from "@/components/mindmap/Mindmap.vue";
|
|
import type { FormInstance } from "element-plus";
|
|
import type { FormInstance } from "element-plus";
|
|
import { ElMessage } from "element-plus";
|
|
import { ElMessage } from "element-plus";
|
|
-import { bfsWalk } from "simple-mind-map/src/utils";
|
|
|
|
|
|
+import { bfsWalk, walk } from "simple-mind-map/src/utils";
|
|
// import { useEditBomStore } from "@/store/editbom";
|
|
// import { useEditBomStore } from "@/store/editbom";
|
|
|
|
|
|
import Mindmap from "@/components/mindmap/Mindmap.vue";
|
|
import Mindmap from "@/components/mindmap/Mindmap.vue";
|
|
@@ -165,7 +165,11 @@ watch(
|
|
// 定位到根节点
|
|
// 定位到根节点
|
|
const zoomToRoot = () => {
|
|
const zoomToRoot = () => {
|
|
const mindmap = mindmapRef.value?.getInstance();
|
|
const mindmap = mindmapRef.value?.getInstance();
|
|
|
|
+ mindmap?.renderer?.clearActiveNode();
|
|
mindmap?.renderer?.setRootNodeCenter();
|
|
mindmap?.renderer?.setRootNodeCenter();
|
|
|
|
+ const data = mindmap?.getData(false);
|
|
|
|
+ const root = mindmap?.renderer.findNodeByUid(data?.data?.uid);
|
|
|
|
+ root?.active();
|
|
};
|
|
};
|
|
|
|
|
|
// 切换布局
|
|
// 切换布局
|
|
@@ -239,10 +243,15 @@ const handleSearch = () => {
|
|
});
|
|
});
|
|
|
|
|
|
if (result.length) {
|
|
if (result.length) {
|
|
|
|
+ // 展开高亮选择目标
|
|
result.forEach((node) => {
|
|
result.forEach((node) => {
|
|
- const n = mindmap?.renderer.findNodeByUid(node.data?.uid);
|
|
|
|
- n?.active();
|
|
|
|
|
|
+ mindmap?.renderer?.expandToNodeUid(node.data?.uid);
|
|
});
|
|
});
|
|
|
|
+
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ const list = result.map((node) => mindmap?.renderer.findNodeByUid(node.data?.uid));
|
|
|
|
+ mindmap?.renderer?.activeMultiNode(list);
|
|
|
|
+ }, 300);
|
|
} else {
|
|
} else {
|
|
ElMessage.warning("未找到节点");
|
|
ElMessage.warning("未找到节点");
|
|
}
|
|
}
|
|
@@ -298,6 +307,12 @@ const handleSave = () => {
|
|
watch(
|
|
watch(
|
|
() => props?.defaultData,
|
|
() => props?.defaultData,
|
|
(val) => {
|
|
(val) => {
|
|
|
|
+ // 设置初始化加载层级
|
|
|
|
+ walk(val, null, (node: any, _p: any, _isRoot: any, layerIndex: number) => {
|
|
|
|
+ if (formData.level && (layerIndex >= formData.level)) {
|
|
|
|
+ node.data.expand = false;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
data.value = val;
|
|
data.value = val;
|
|
}
|
|
}
|
|
);
|
|
);
|