ソースを参照

fix: 修改节点问题,会话样式

jiaxing.liao 6 日 前
コミット
4374c1cb12

+ 8 - 7
apps/web/src/components/setter/DatabaseSetter.vue

@@ -98,6 +98,7 @@ const onAddTable = (table: unknown) => {
 						<el-tag
 							v-for="column in table.columns"
 							:key="column.name"
+							type="info"
 							effect="light"
 							size="small"
 							>{{ column.name }}</el-tag
@@ -127,7 +128,7 @@ const onAddTable = (table: unknown) => {
 				</template>
 				<div v-for="field in fieldList" :key="field.name" class="flex gap-4px mb-12px">
 					<span>{{ field.name }}</span>
-					<el-tag effect="light">{{ field.type }}</el-tag>
+					<el-tag type="info" effect="light">{{ field.type }}</el-tag>
 				</div>
 				<el-empty v-if="!fieldList.length" description="请添加查询字段" :image-size="40" />
 			</el-collapse-item>
@@ -160,7 +161,7 @@ const onAddTable = (table: unknown) => {
 				<div v-for="field in sortList" :key="field.name" class="flex items-center gap-4px mb-12px">
 					<div class="flex-1 flex justify-between">
 						<span>{{ field.name }}</span>
-						<el-tag effect="light">{{ field.type }}</el-tag>
+						<el-tag type="info" effect="light">{{ field.type }}</el-tag>
 					</div>
 					<el-select style="width: 120px" v-model="field.sort" placeholder="请选择">
 						<el-option label="升序" value="asc"></el-option>
@@ -210,15 +211,15 @@ const onAddTable = (table: unknown) => {
 						class="flex items-center gap-4px mb-12px"
 					>
 						<span>{{ field.name }}</span>
-						<el-tag effect="light">{{ field.type }}</el-tag>
+						<el-tag type="info" effect="light">{{ field.type }}</el-tag>
 					</div>
 				</el-collapse-item>
 			</el-collapse-item>
 
 			<el-collapse-item title="异常处理" name="8">
-				<el-form>
+				<el-form label-width="120px">
 					<el-row>
-						<el-col :span="8">
+						<el-col :span="24">
 							<el-form-item label="超时时间">
 								<el-input-number
 									v-model="exceptionConfig.timeout"
@@ -231,7 +232,7 @@ const onAddTable = (table: unknown) => {
 								/>
 							</el-form-item>
 						</el-col>
-						<el-col :span="8">
+						<el-col :span="24">
 							<el-form-item label="重试次数">
 								<el-input-number
 									v-model="exceptionConfig.retry"
@@ -244,7 +245,7 @@ const onAddTable = (table: unknown) => {
 								/>
 							</el-form-item>
 						</el-col>
-						<el-col :span="8">
+						<el-col :span="24">
 							<el-form-item label="异常处理方式">
 								<el-select v-model="exceptionConfig.handler" placeholder="请选择">
 									<el-option label="中断流程" :value="0" />

+ 1 - 1
apps/web/src/components/setter/index.vue

@@ -77,7 +77,7 @@ const closeDrawer = () => {
 	/* Drawer 主体 */
 	.drawer {
 		position: fixed;
-		top: 100px;
+		top: 60px;
 		right: 5px;
 		bottom: 10px;
 		width: 420px;

+ 19 - 1
apps/web/src/views/Chat.vue

@@ -96,7 +96,15 @@
 </template>
 
 <script setup lang="ts">
-import { ref, computed, onMounted, nextTick } from 'vue'
+import {
+	ref,
+	computed,
+	onMounted,
+	nextTick,
+	onBeforeUnmount,
+	inject,
+	type CSSProperties
+} from 'vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { BubbleList, Sender } from 'vue-element-plus-x'
 import { useChatStore } from '@/store/modules/chat.store'
@@ -149,6 +157,16 @@ onMounted(() => {
 	}
 })
 
+const layout = inject<{ setMainStyle: (style: CSSProperties) => void }>('layout')
+
+layout?.setMainStyle({
+	padding: '0px'
+})
+
+onBeforeUnmount(() => {
+	layout?.setMainStyle({})
+})
+
 // 创建新对话
 const handleNewChat = () => {
 	chatStore.createConversation()

+ 12 - 12
packages/nodes/materials/end.ts

@@ -8,15 +8,15 @@
 import type { IWorkflowNode } from '@repo/workflow'
 
 export const endNode: IWorkflowNode = {
-    id: 'end-node',
-    type: 'end-node',
-    label: '结束',
-    position: {x: 643.987980769231, y: 225.97019230769232},
-    data: {
-        id: 'end-node',
-        label: '结束节点',
-        description: '这是一个结束节点',
-        inputs: [],
-        outputs: []
-    }
-}
+	id: 'end-node',
+	type: 'end-node',
+	label: '结束',
+	position: { x: 850, y: 272 },
+	data: {
+		id: 'end-node',
+		label: '结束节点',
+		description: '这是一个结束节点',
+		inputs: [],
+		outputs: []
+	}
+}

+ 13 - 13
packages/nodes/materials/start.ts

@@ -7,16 +7,16 @@
  */
 import type { IWorkflowNode } from '@repo/workflow'
 
-export const startNode:IWorkflowNode = {
-    id: 'start-node',
-    type: 'start-node',
-    label: '开始',
-    position: { x: 257, y: 203 },
-    data: {
-        id: 'start-node',
-        label: '开始节点',
-        description: '这是一个开始节点',
-        inputs: [],
-        outputs: []
-    }
-}
+export const startNode: IWorkflowNode = {
+	id: 'start-node',
+	type: 'start-node',
+	label: '开始',
+	position: { x: 80, y: 272 },
+	data: {
+		id: 'start-node',
+		label: '开始节点',
+		description: '这是一个开始节点',
+		inputs: [],
+		outputs: []
+	}
+}

+ 5 - 1
packages/workflow/src/components/Canvas.vue

@@ -3,7 +3,7 @@ import type { IWorkflow, XYPosition, ConnectStartEvent, CanvasNodeMoveEvent } fr
 import type { SourceType } from '@repo/nodes'
 import type { NodeMouseEvent, Connection, NodeDragEvent } from '@vue-flow/core'
 
-import { ref } from 'vue'
+import { ref, onMounted } from 'vue'
 import { VueFlow, useVueFlow, MarkerType } from '@vue-flow/core'
 import { MiniMap } from '@vue-flow/minimap'
 
@@ -208,6 +208,10 @@ function onClickConnectionAdd(connection: Connection) {
 const handleRun = () => {
 	emit('run')
 }
+
+onMounted(() => {
+	fitView()
+})
 </script>
 
 <template>

+ 4 - 12
packages/workflow/src/components/elements/node-temp/DataBaseNode.vue

@@ -226,31 +226,23 @@ const queryTypeLabel = computed(() => {
 		<!-- 输出连接点 - 成功 -->
 		<CanvasHandle
 			handle-id="code-node-output1"
-			type="target"
+			type="source"
 			:connections-count="2"
 			:position="Position.Right"
 			:style="{ top: '40%' }"
+			label="true"
 		>
-			<div
-				class="absolute left-5 top-1/2 -translate-y-1/2 px-2 py-0.5 bg-green-500 text-white text-xs rounded whitespace-nowrap opacity-0 hover:opacity-100 transition-opacity pointer-events-none"
-			>
-				成功
-			</div>
 		</CanvasHandle>
 
 		<!-- 输出连接点 - 失败 -->
 		<CanvasHandle
 			handle-id="code-node-output2"
-			type="target"
+			type="source"
 			:connections-count="2"
 			:position="Position.Right"
 			:style="{ top: '60%' }"
+			label="false"
 		>
-			<div
-				class="absolute left-5 top-1/2 -translate-y-1/2 px-2 py-0.5 bg-red-500 text-white text-xs rounded whitespace-nowrap opacity-0 hover:opacity-100 transition-opacity pointer-events-none"
-			>
-				失败
-			</div>
 		</CanvasHandle>
 	</div>
 </template>

+ 1 - 1
packages/workflow/src/components/elements/node-temp/EndNode.vue

@@ -31,7 +31,7 @@ const props = withDefaults(defineProps<NodeProps>(), {
 		>
 			<!-- 左侧装饰条 -->
 			<div
-				class="absolute left-0 top-0 bottom-0 w-1 bg-gradient-to-b from-green-500 to-green-400 rounded-l-xl"
+				class="absolute right-0 top-0 bottom-0 w-1 bg-gradient-to-b from-green-500 to-green-400 rounded-l-xl"
 			></div>
 
 			<!-- 图标区域 -->