From a3607d18ec0918979123962c3258fa2622ba5502 Mon Sep 17 00:00:00 2001
From: JINGYJ <1458671527@qq.com>
Date: Thu, 7 Aug 2025 17:11:29 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=85=89=E6=BA=90=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...节点.png => light-image-node-active.png} | Bin
.../{光源.png => light-image-node.png} | Bin
.../LogicFlowNodes/src/viewNode.vue | 4 ++
.../src/components/LogicFlowNodes/viewNode.ts | 3 +-
src/renderer/src/config/designControl.ts | 6 +++
src/renderer/src/hooks/useLogicFlow.ts | 23 ++++++++++
src/renderer/src/styles/ds-dialog.scss | 2 +-
.../views/Design/FlowImagesCapture/index.ts | 3 ++
.../FlowImagesCapture/lightNodeModel.vue | 43 ++++++++++++++++++
.../views/Design/Workflow/logicFlowView.vue | 18 ++++++--
10 files changed, 96 insertions(+), 6 deletions(-)
rename src/renderer/src/assets/images/ImagesCapture/{光源节点.png => light-image-node-active.png} (100%)
rename src/renderer/src/assets/images/ImagesCapture/{光源.png => light-image-node.png} (100%)
create mode 100644 src/renderer/src/views/Design/FlowImagesCapture/lightNodeModel.vue
diff --git a/src/renderer/src/assets/images/ImagesCapture/光源节点.png b/src/renderer/src/assets/images/ImagesCapture/light-image-node-active.png
similarity index 100%
rename from src/renderer/src/assets/images/ImagesCapture/光源节点.png
rename to src/renderer/src/assets/images/ImagesCapture/light-image-node-active.png
diff --git a/src/renderer/src/assets/images/ImagesCapture/光源.png b/src/renderer/src/assets/images/ImagesCapture/light-image-node.png
similarity index 100%
rename from src/renderer/src/assets/images/ImagesCapture/光源.png
rename to src/renderer/src/assets/images/ImagesCapture/light-image-node.png
diff --git a/src/renderer/src/components/LogicFlowNodes/src/viewNode.vue b/src/renderer/src/components/LogicFlowNodes/src/viewNode.vue
index c496912..4644a62 100644
--- a/src/renderer/src/components/LogicFlowNodes/src/viewNode.vue
+++ b/src/renderer/src/components/LogicFlowNodes/src/viewNode.vue
@@ -22,6 +22,7 @@ import { OPERATION_NODE_TYPE_MAP } from '@/config/designComm'
import MultiImageNodeActiveIcon from '@/assets/images/ImagesCapture/multi-image-node-active.png' // 多图采集
import OutputImageNodeActiveIcon from '@/assets/images/ImagesCapture/output-image-node-active.png' // 输出图像
import CashImageNodeActiveIcon from '@/assets/images/ImagesCapture/cash-image-node-active.png' // 缓存图像
+import LightImageNodeActiveIcon from '@/assets/images/ImagesCapture/light-image-node-active.png' // 光源
const props = defineProps({
properties: {
type: Object,
@@ -63,6 +64,9 @@ const fetchIconType = computed({
case 'cash-image-node':
iconType = CashImageNodeActiveIcon
break
+ case 'light-image-node':
+ iconType = LightImageNodeActiveIcon
+ break
}
return iconType
}
diff --git a/src/renderer/src/components/LogicFlowNodes/viewNode.ts b/src/renderer/src/components/LogicFlowNodes/viewNode.ts
index a38f0a6..39bb012 100644
--- a/src/renderer/src/components/LogicFlowNodes/viewNode.ts
+++ b/src/renderer/src/components/LogicFlowNodes/viewNode.ts
@@ -126,5 +126,6 @@ class OperationNodeModel extends HtmlNodeModel {
export default [
{ type: 'multi-image-node', model: OperationNodeModel, view: OperationNodeView },
{ type: 'output-image-node', model: OperationNodeModel, view: OperationNodeView },
- { type: 'cash-image-node', model: OperationNodeModel, view: OperationNodeView }
+ { type: 'cash-image-node', model: OperationNodeModel, view: OperationNodeView },
+ { type: 'light-image-node', model: OperationNodeModel, view: OperationNodeView }
]
diff --git a/src/renderer/src/config/designControl.ts b/src/renderer/src/config/designControl.ts
index 6c38da1..e1c2de8 100644
--- a/src/renderer/src/config/designControl.ts
+++ b/src/renderer/src/config/designControl.ts
@@ -38,6 +38,7 @@ import imageNodeIcon from '@/assets/images/ImagesCapture/image-node.png' // 图
import multiImageNodeIcon from '@/assets/images/ImagesCapture/multi-image-node.png' // 多图采集
import outputImageNodeIcon from '@/assets/images/ImagesCapture/output-image-node.png' // 输出图像
import CashImageNodeIcon from '@/assets/images/ImagesCapture/cash-image-node.png' // 缓存图像
+import lightImageNodeIcon from '@/assets/images/ImagesCapture/light-image-node.png' // 缓存图像
export interface designLFNodeType {
type: string
icon: string
@@ -150,6 +151,11 @@ export const panelControlsConf: ControlsItemType[] = [
type: 'cash-image-node',
label: '缓存图像',
icon: CashImageNodeIcon
+ },
+ {
+ type: 'light-image-node',
+ label: '光源',
+ icon: lightImageNodeIcon
}
]
},
diff --git a/src/renderer/src/hooks/useLogicFlow.ts b/src/renderer/src/hooks/useLogicFlow.ts
index 779e78a..3750b1d 100644
--- a/src/renderer/src/hooks/useLogicFlow.ts
+++ b/src/renderer/src/hooks/useLogicFlow.ts
@@ -41,6 +41,14 @@ export const useLogicFlow = () => {
y: 488.1111068725586,
properties: { width: 132, height: 40 },
text: { x: 329.1111068725586, y: 488.1111068725586, value: '缓存图像' }
+ },
+ {
+ id: 'adebe8f9-2a69-4f15-91eb-eb3b8a9fe219',
+ type: 'light-image-node',
+ x: 329.3333282470703,
+ y: 614.3333282470703,
+ properties: { width: 132, height: 40 },
+ text: { x: 329.3333282470703, y: 614.3333282470703, value: '光源' }
}
],
edges: [
@@ -88,6 +96,21 @@ export const useLogicFlow = () => {
{ x: 329.1111068725586, y: 375.1111068725586 },
{ x: 329.1111068725586, y: 468.1111068725586 }
]
+ },
+ {
+ id: '9942131b-d99c-4a12-ba4c-8554c7e57417',
+ type: 'polyline',
+ properties: {},
+ sourceNodeId: 'e35754f0-c85a-4d70-8bca-f0b995a2b31e',
+ targetNodeId: 'adebe8f9-2a69-4f15-91eb-eb3b8a9fe219',
+ sourceAnchorId: 'e35754f0-c85a-4d70-8bca-f0b995a2b31e_2',
+ targetAnchorId: 'adebe8f9-2a69-4f15-91eb-eb3b8a9fe219_3',
+ startPoint: { x: 329.1111068725586, y: 508.1111068725586 },
+ endPoint: { x: 329.3333282470703, y: 594.3333282470703 },
+ pointsList: [
+ { x: 329.1111068725586, y: 508.1111068725586 },
+ { x: 329.1111068725586, y: 594.3333282470703 }
+ ]
}
]
}
diff --git a/src/renderer/src/styles/ds-dialog.scss b/src/renderer/src/styles/ds-dialog.scss
index b61e4fd..de09cd0 100644
--- a/src/renderer/src/styles/ds-dialog.scss
+++ b/src/renderer/src/styles/ds-dialog.scss
@@ -5,6 +5,7 @@
--el-dialog-bg-color: var(--ds-dialog-background-color) !important; // 弹窗背景颜色
padding: 0 !important;
overflow: hidden !important;
+ border-radius: 8px !important;
.el-dialog__header {
background-color: var(--ds-color-primary);
.el-dialog__title {
@@ -35,5 +36,4 @@
.el-dialog__header {
height: var(--ds-dialog-header-height);
}
-
}
diff --git a/src/renderer/src/views/Design/FlowImagesCapture/index.ts b/src/renderer/src/views/Design/FlowImagesCapture/index.ts
index cbdf3a3..1836da4 100644
--- a/src/renderer/src/views/Design/FlowImagesCapture/index.ts
+++ b/src/renderer/src/views/Design/FlowImagesCapture/index.ts
@@ -8,7 +8,10 @@
*/
import imageNodeModel from './imageNodeModel.vue'
import multiImageNodeModel from './multiImageNodeModel.vue'
+import lightImageNodeModel from './lightNodeModel.vue'
export const FlowImageNodeModel = imageNodeModel
export const FlowMultiImageNodeModel = multiImageNodeModel
+
+export const FlowLightImageNodeModel = lightImageNodeModel
diff --git a/src/renderer/src/views/Design/FlowImagesCapture/lightNodeModel.vue b/src/renderer/src/views/Design/FlowImagesCapture/lightNodeModel.vue
new file mode 100644
index 0000000..557bc1b
--- /dev/null
+++ b/src/renderer/src/views/Design/FlowImagesCapture/lightNodeModel.vue
@@ -0,0 +1,43 @@
+
+