From 0f01c4bbce19fa8489a4e835c83cb9415549f681 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期一, 17 二月 2025 17:54:22 +0800
Subject: [PATCH] 表单校验

---
 src/views/project/yw/systemManage/flowApp/components/Header.vue |   45 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 32 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 c7b75f9..fa381b2 100644
--- a/src/views/project/yw/systemManage/flowApp/components/Header.vue
+++ b/src/views/project/yw/systemManage/flowApp/components/Header.vue
@@ -1,11 +1,11 @@
 <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" @click="backMgr"> </span>
+			<span class="ywifont ywicon-pre p-1.5 bg-white rounded-lg mr-4 shadow cursor-pointer" @click="backMgr"> </span>
 
 			<!-- <img src="@/assets/logo.png" alt="logo" class="h-8 w-8"/> -->
 			<div>
-				<span class="font-bold cursor-pointer">{{ flowAgent?.title }}</span>
+				<span class="font-bold text-medium">{{ flowAgent?.title }}</span>
 			</div>
 		</div>
 		<div class="flex-items-center">
@@ -13,9 +13,13 @@
 			<el-button>淇濆瓨</el-button>
 			<el-button type="primary">杩愯</el-button> -->
 			<el-button @click="handleCommand('export')">瀵煎嚭宸ヤ綔娴�</el-button>
-			<el-button @click="handleCommand('import')">瀵煎叆宸ヤ綔娴�</el-button>
 
-			<el-button type="primary" @click="saveFlow">淇濆瓨</el-button>
+			<template v-if="!isViewMode">
+				<el-button @click="handleCommand('import')">瀵煎叆宸ヤ綔娴�</el-button>
+				<el-button type="danger" @click="clearGraph">娓呯┖鐢诲竷</el-button>
+				<el-button type="primary" @click="saveFlow">淇濆瓨</el-button>
+			</template>
+
 			<!-- <el-dropdown @command="handleCommand">
 				<el-button style="margin-left: 8px; width: 34px">
 					<el-icon class="el-icon--center">
@@ -36,14 +40,21 @@
 <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, fromObject } = useVueFlow();
+import JSONFormat from 'json-format';
+import { update_workflow_json_flow } from '/@/api/workflow';
+import router from '/@/router';
+import { downloadJSON, elConfirm } from '/@/utils/util';
+const props = defineProps({
+	queryId: String,
+	flowAgent: Object,
+	isViewMode: {
+		type: Boolean,
+		default: false,
+	},
+});
+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
 	// 閫夋嫨 json鏂囦欢
@@ -52,11 +63,18 @@
 });
 
 const backMgr = () => {
-	gotoRoute({
+	router.push({
 		name: 'WorkFlowIndex',
 	});
 };
-
+const clearGraph = async () => {
+	const yes = await elConfirm('纭畾瑕佹竻绌虹敾甯冨悧锛�');
+	if (!yes) {
+		return;
+	}
+	removeEdges(edges.value);
+	removeNodes(nodes.value);
+};
 const saveFlow = async () => {
 	const obj = toObject();
 	const jsonStr = obj ? JSONFormat(obj) : '';
@@ -66,6 +84,7 @@
 		json_flow: jsonStr,
 	});
 	ElMessage.success('淇濆瓨鎴愬姛锛�');
+	emit('saveClick');
 };
 
 onChange((file) => {

--
Gitblit v1.9.3