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