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