hbchen 1 年之前
父節點
當前提交
72759e4d3e

+ 30 - 13
src/views/sandbox_manage/common/events.js

@@ -194,22 +194,18 @@ export const myEvents = (graph,mindmapDataUse) => {
 		// })
 
 		const changeSelection=_.debounce((selected)=> {
-			console.log(selected,'selected');
+			// console.log(selected,'selected');
 			store.commit('sand/SET_SELECT_CELLS',selected)
 		},50)
 
 		/* 监听选中事件 */
 		graph.on('selection:changed',({selected}) => {
-			console.log(selected,'选中修改');
+			// console.log(selected,'选中修改');
 			// selected.length ? store.commit('sand/SET_SELECT_CELL',selected[0]) : store.commit('sand/SET_SELECT_CELL',null);
 			changeSelection(selected)
 		})
 
 		/* 监听选中事件 */
-		// graph.on('selection:drag',({selected}) => {
-	
-		// 	selected.length ? store.commit('sand/SET_SELECT_CELL',selected[0]) : store.commit('sand/SET_SELECT_CELL',null);
-		// })
 		graph.on('edge:mouseenter', ({ cell }) => {
 			// console.log(cell,'myEdgeOption');
 			// console.log(cell.store.data);
@@ -267,14 +263,35 @@ export const bindKey = (graph) => {
 	 // 删除
 	graph.bindKey(['delete', 'backspace'], () => {
 		const select_cell = graph.getSelectedCells();
+		let delete_cells=[]
+		console.log(graph.getSuccessors(select_cell[0]),'getSuccessors');
+		// return 
+		console.log(select_cell.length,'select_cell.length');
+		for (let i = 0; i < select_cell.length; i++) {
+			const cell = select_cell[i];
+			if(cell.shape == "mindmap-edge"){
+				continue
+			}else if(cell.shape.indexOf('mindmap')!=-1){
+				// 拿到该节点的所有子节点
+				let Successors = graph.getSuccessors(cell) 
+				// console.log(Successors,'Successors');
+				delete_cells = [...delete_cells,...Successors]
+			}
+			delete_cells.push(cell)
+		}
+		// 去重
+		const uniqueArr = delete_cells.filter((item, index) =>
+		delete_cells.findIndex(i => i.id === item.id) === index);
+		console.log(uniqueArr,'uniqueArr');
+		
+		return 
 			if (select_cell.length) {
 				// 移除工具
-				select_cell.forEach(item => item.removeTools());
-				graph.removeCells(select_cell)
-
+				uniqueArr.forEach(item => item.removeTools());
+				graph.removeCells(uniqueArr)
 				//重置工具栏
-				store.commit('sand/SET_SELECT_STATUS',{key:'default'});
-				store.commit('sand/SET_SELECT_CELL',null);
+				// store.commit('sand/SET_SELECT_STATUS',{key:'default'});
+				// store.commit('sand/SET_SELECT_CELL',null);
 			}
 			return false
 	}, 'keydown');
@@ -335,8 +352,8 @@ const nodeDelete = (graph) => {
 		graph.removeCells(select_cell);
 
 		//重置工具栏
-		store.commit('sand/SET_SELECT_STATUS',{key:'default'});
-		store.commit('sand/SET_SELECT_CELL',null);
+		// store.commit('sand/SET_SELECT_STATUS',{key:'default'});
+		// store.commit('sand/SET_SELECT_CELL',null);
 	}
 }
 /* 复制粘贴节点 */

+ 2 - 0
src/views/sandbox_manage/common/gragh.js

@@ -38,6 +38,8 @@ export function myGraph (wrapper,mindmapDataUse,type='edit') {
 			multiple: true,
 			multipleSelectionModifiers:['shift'],
 			rubberband:true,
+			// rubberNode:true,
+			rubberEdge:true,//加上这个才能框选边 官方配置也不写……
 			modifiers:['ctrl']
 		},
 		snapline: true, //对齐线

+ 1 - 3
src/views/sandbox_manage/sandFlowNew/index.vue

@@ -602,6 +602,7 @@
 </template>
 
 <script>
+// 路由的name 属性在main.js中更改
 // import '@antv/x6-vue-shape'
 import { myGraph } from '../common/gragh';
 import { myNodes,myNodeOption } from '../common/node';
@@ -778,9 +779,6 @@ const { line} = configOpt;
       myEdgeOption(){
         return myEdgeOption
       },
-      // contextMenuOption(){
-      //   return contextMenuOption
-      // },
       familyOptions(){
         return familyOptions
       },