From a3c84d896dff3758f3bc3274b0306afe018179a8 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期四, 12 十二月 2024 11:35:58 +0800
Subject: [PATCH] 保存,获取

---
 src/views/project/yw/systemManage/flowApp/components/Header.vue |   57 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 49 insertions(+), 8 deletions(-)

diff --git a/src/views/project/yw/systemManage/flowApp/components/Header.vue b/src/views/project/yw/systemManage/flowApp/components/Header.vue
index 2c7ec3d..5848cfd 100644
--- a/src/views/project/yw/systemManage/flowApp/components/Header.vue
+++ b/src/views/project/yw/systemManage/flowApp/components/Header.vue
@@ -1,18 +1,21 @@
 <template>
 	<div class="h-14 flex justify-between px-2 border border-solid border-x-0 border-t-0 border-gray-300">
 		<div class="flex-items-center">
-			<span class="ywifont ywicon-pre p-1 bg-white rounded-lg mr-2"></span>
+			<span class="ywifont ywicon-pre p-1 bg-white rounded-lg mr-2" @click="backMgr"> </span>
 
 			<!-- <img src="@/assets/logo.png" alt="logo" class="h-8 w-8"/> -->
 			<div>
-				<span class="font-bold">娴嬭瘯</span>
+				<span class="font-bold cursor-pointer">{{ flowAgent?.title }}</span>
 			</div>
 		</div>
 		<div class="flex-items-center">
 			<!-- <el-button>杩愯</el-button>
 			<el-button>淇濆瓨</el-button>
 			<el-button type="primary">杩愯</el-button> -->
-			<el-dropdown @command="handleCommand">
+			<el-button @click="handleCommand('export')">瀵煎嚭宸ヤ綔娴�</el-button>
+
+			<el-button type="primary" @click="saveFlow">淇濆瓨</el-button>
+			<!-- <el-dropdown @command="handleCommand">
 				<el-button style="margin-left: 8px; width: 34px">
 					<el-icon class="el-icon--center">
 						<more-filled />
@@ -24,26 +27,64 @@
 						<el-dropdown-item command="import">瀵煎叆</el-dropdown-item>
 					</el-dropdown-menu>
 				</template>
-			</el-dropdown>
+			</el-dropdown> -->
 		</div>
 	</div>
 </template>
 
 <script setup lang="ts">
 import { useVueFlow } from '@vue-flow/core';
+import { useFileDialog } from '@vueuse/core';
 import JSONFormat from 'json-format';
 import { downloadJSON } from '/@/utils/util';
-
+import { gotoRoute } from '/@/utils/route';
+import { update_workflow_json_flow } from '/@/api/workflow';
+import { ElMessage } from 'element-plus';
+const props = defineProps(['queryId', 'flowAgent']);
 const emit = defineEmits(['export']);
-const { toObject } = useVueFlow();
+const { toObject, fromObject } = useVueFlow();
+const { files, open, reset, onCancel, onChange } = useFileDialog({
+	//   accept: 'image/*', // Set to accept only image files
+	// 閫夋嫨 json鏂囦欢
+	accept: 'application/json',
+	directory: false, // Select directories instead of files if set true
+});
 
+const backMgr = () => {
+	gotoRoute({
+		name: 'WorkFlowIndex',
+	});
+};
+
+const saveFlow = async () => {
+	const res = await update_workflow_json_flow({
+		agent_id: props.queryId,
+		json_flow: JSON.stringify(toObject()),
+	});
+	ElMessage.success('淇濆瓨鎴愬姛锛�');
+};
+
+onChange((file) => {
+	console.log(file);
+	// 鑾峰彇json 涓殑鍐呭
+	const reader = new FileReader();
+	reader.onload = (e) => {
+		const jsonStr = e.target?.result;
+		const json = JSON.parse(jsonStr);
+		fromObject(json)
+			.then((val) => {})
+			.catch((err) => {});
+	};
+	reader.readAsText(file[0]);
+});
 const handleCommand = (command: string | number | object) => {
 	const obj = toObject();
 
 	if (command === 'export') {
 		const jsonStr = obj ? JSONFormat(obj) : '';
-        downloadJSON(jsonStr, 'flow');
-	} else {
+		downloadJSON(jsonStr, 'flow');
+	} else if (command === 'import') {
+		open();
 	}
 };
 </script>

--
Gitblit v1.9.3