From 697cee0b466b51d1f97b55a2679ee81bc2d0c307 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A1=97=E8=A7=92=E5=B0=8F=E6=9E=97?= <1013335014@qq.com> Date: Mon, 7 Apr 2025 17:45:09 +0800 Subject: [PATCH] =?UTF-8?q?Demo=EF=BC=9A=E6=94=AF=E6=8C=81=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E9=93=BE=E6=8E=A5=E5=BC=80=E5=8F=91=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/src/constants/constant.js | 3 +- web/src/pages/Edit/components/Contextmenu.vue | 7 + web/src/pages/Edit/components/Edit.vue | 27 +++- .../pages/Edit/components/LinkNodeSelect.vue | 152 ++++++++++++++++++ web/src/pages/Edit/components/Outline.vue | 3 +- web/src/pages/Edit/components/OutlineEdit.vue | 63 -------- web/src/store.js | 14 +- 7 files changed, 198 insertions(+), 71 deletions(-) create mode 100644 web/src/pages/Edit/components/LinkNodeSelect.vue diff --git a/simple-mind-map/src/constants/constant.js b/simple-mind-map/src/constants/constant.js index a2c8c074..95e32155 100644 --- a/simple-mind-map/src/constants/constant.js +++ b/simple-mind-map/src/constants/constant.js @@ -205,7 +205,8 @@ export const nodeDataNoStylePropList = [ 'checkbox', 'dir', 'needUpdate', // 重新创建节点内容 - 'imgMap' + 'imgMap', + 'nodeLink' ] // 错误类型 diff --git a/web/src/pages/Edit/components/Contextmenu.vue b/web/src/pages/Edit/components/Contextmenu.vue index f8b4fd7f..484fb6a1 100644 --- a/web/src/pages/Edit/components/Contextmenu.vue +++ b/web/src/pages/Edit/components/Contextmenu.vue @@ -134,6 +134,9 @@
{{ $t('contextmenu.removeNote') }}
+
+ 链接到指定节点 +
{{ $t('contextmenu.removeCustomStyles') }}
@@ -478,6 +481,10 @@ export default { case 'REMOVE_NOTE': this.node.setNote('') break + case 'LINK_NODE': + this.$bus.$emit('show_link_node', this.node) + this.hide() + break case 'EXPORT_CUR_NODE_TO_PNG': this.mindMap.export( 'png', diff --git a/web/src/pages/Edit/components/Edit.vue b/web/src/pages/Edit/components/Edit.vue index 557eaa24..584bcf28 100644 --- a/web/src/pages/Edit/components/Edit.vue +++ b/web/src/pages/Edit/components/Edit.vue @@ -54,6 +54,10 @@ +
state.localConfig.isUseMomentum, extraTextOnExport: state => state.extraTextOnExport, isDragOutlineTreeNode: state => state.isDragOutlineTreeNode, - enableAi: state => state.localConfig.enableAi + enableAi: state => state.localConfig.enableAi, + supportNodeLink: state => state.supportNodeLink }) }, watch: { @@ -703,6 +712,14 @@ export default { this.mindMap.addPlugin(LineFlow) this.$store.commit('setSupportLineFlow', true) } + if (typeof RightFishbone !== 'undefined') { + this.mindMap.addPlugin(RightFishbone) + this.$store.commit('setSupportRightFishbone', true) + } + if (typeof NodeLink !== 'undefined') { + this.mindMap.addPlugin(NodeLink) + this.$store.commit('setSupportNodeLink', true) + } if (typeof MoreShapes !== 'undefined') { this.mindMap.addPlugin(MoreShapes) this.$store.commit('setSupportMoreShapes', true) diff --git a/web/src/pages/Edit/components/LinkNodeSelect.vue b/web/src/pages/Edit/components/LinkNodeSelect.vue new file mode 100644 index 00000000..6e80e0e2 --- /dev/null +++ b/web/src/pages/Edit/components/LinkNodeSelect.vue @@ -0,0 +1,152 @@ + + + + + diff --git a/web/src/pages/Edit/components/Outline.vue b/web/src/pages/Edit/components/Outline.vue index e30c27ed..4a91d913 100644 --- a/web/src/pages/Edit/components/Outline.vue +++ b/web/src/pages/Edit/components/Outline.vue @@ -350,7 +350,8 @@ export default { padding-right: 20px; } } - + + diff --git a/web/src/store.js b/web/src/store.js index 55dd319b..2924b990 100644 --- a/web/src/store.js +++ b/web/src/store.js @@ -38,7 +38,9 @@ const store = new Vuex.Store({ supportCheckbox: false, // 是否支持Checkbox插件 supportLineFlow: false, // 是否支持LineFlow插件 supportMomentum: false, // 是否支持Momentum插件 - supportMoreShapes: false,// 是否支持MoreShapes插件 + supportRightFishbone: false, // 是否支持RightFishbone插件 + supportNodeLink: false, // 是否支持NodeLink插件 + supportMoreShapes: false, // 是否支持MoreShapes插件 isDragOutlineTreeNode: false, // 当前是否正在拖拽大纲树的节点 aiConfig: { api: 'http://ark.cn-beijing.volces.com/api/v3/chat/completions', @@ -139,6 +141,16 @@ const store = new Vuex.Store({ state.supportMomentum = data }, + // 设置是否支持RightFishbone插件 + setSupportRightFishbone(state, data) { + state.supportRightFishbone = data + }, + + // 设置是否支持NodeLink插件 + setSupportNodeLink(state, data) { + state.supportNodeLink = data + }, + // 设置是否支持MoreShapes插件 setSupportMoreShapes(state, data) { state.supportMoreShapes = data