From a61bd8abfb6bedacccbc1f1cdb01e4f433e58fd7 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期一, 24 二月 2025 11:32:15 +0800
Subject: [PATCH] start bug;重复导入文件bug

---
 src/views/project/yw/systemManage/flowApp/components/Header.vue |   34 +++++++++++++++++++++-------------
 1 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/src/views/project/yw/systemManage/flowApp/components/Header.vue b/src/views/project/yw/systemManage/flowApp/components/Header.vue
index 0b0b03c..72c87e8 100644
--- a/src/views/project/yw/systemManage/flowApp/components/Header.vue
+++ b/src/views/project/yw/systemManage/flowApp/components/Header.vue
@@ -53,7 +53,7 @@
 		default: false,
 	},
 });
-const emit = defineEmits(['export','saveClick']);
+const emit = defineEmits(['export', 'saveClick']);
 const { toObject, fromObject, nodes, edges, removeEdges, removeNodes } = useVueFlow();
 const { files, open, reset, onCancel, onChange } = useFileDialog({
 	//   accept: 'image/*', // Set to accept only image files
@@ -67,36 +67,43 @@
 		name: 'WorkFlowIndex',
 	});
 };
+
+const applyClearGraph = async () => {
+	removeEdges(edges.value);
+	removeNodes(nodes.value);
+};
 const clearGraph = async () => {
 	const yes = await elConfirm('纭畾瑕佹竻绌虹敾甯冨悧锛�');
 	if (!yes) {
 		return;
 	}
-	removeEdges(edges.value);
-	removeNodes(nodes.value);
+	applyClearGraph();
 };
 const saveFlow = async () => {
 	const obj = toObject();
 	const jsonStr = obj ? JSONFormat(obj) : '';
 
-	
-	emit('saveClick',jsonStr);
+	emit('saveClick', jsonStr);
 };
 
 onChange((file) => {
-	console.log(file);
+	if (!file) return;
 	// 鑾峰彇json 涓殑鍐呭
 	const reader = new FileReader();
+	reader.readAsText(file[0]);
+
 	reader.onload = (e) => {
 		const jsonStr = e.target?.result as string;
-		const json = JSON.parse(jsonStr);
-		fromObject(json)
-			.then((val) => {})
-			.catch((err) => {
-				ElMessage.error('瀵煎叆澶辫触' + err);
-			});
+		applyClearGraph();
+		setTimeout(() => {
+			const json = JSON.parse(jsonStr);
+			fromObject(json)
+				.then((val) => {})
+				.catch((err) => {
+					ElMessage.error('瀵煎叆澶辫触' + err);
+				});
+		}, 30);
 	};
-	reader.readAsText(file[0]);
 });
 const handleCommand = (command: string | number | object) => {
 	const obj = toObject();
@@ -105,6 +112,7 @@
 		const jsonStr = obj ? JSONFormat(obj) : '';
 		downloadJSON(jsonStr, 'flow');
 	} else if (command === 'import') {
+		reset();
 		open();
 	}
 };

--
Gitblit v1.9.3