feat: 光源配置

master
JINGYJ 1 month ago
parent 6aabfd0832
commit a3607d18ec

@ -22,6 +22,7 @@ import { OPERATION_NODE_TYPE_MAP } from '@/config/designComm'
import MultiImageNodeActiveIcon from '@/assets/images/ImagesCapture/multi-image-node-active.png' // import MultiImageNodeActiveIcon from '@/assets/images/ImagesCapture/multi-image-node-active.png' //
import OutputImageNodeActiveIcon from '@/assets/images/ImagesCapture/output-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 CashImageNodeActiveIcon from '@/assets/images/ImagesCapture/cash-image-node-active.png' //
import LightImageNodeActiveIcon from '@/assets/images/ImagesCapture/light-image-node-active.png' //
const props = defineProps({ const props = defineProps({
properties: { properties: {
type: Object, type: Object,
@ -63,6 +64,9 @@ const fetchIconType = computed({
case 'cash-image-node': case 'cash-image-node':
iconType = CashImageNodeActiveIcon iconType = CashImageNodeActiveIcon
break break
case 'light-image-node':
iconType = LightImageNodeActiveIcon
break
} }
return iconType return iconType
} }

@ -126,5 +126,6 @@ class OperationNodeModel extends HtmlNodeModel {
export default [ export default [
{ type: 'multi-image-node', model: OperationNodeModel, view: OperationNodeView }, { type: 'multi-image-node', model: OperationNodeModel, view: OperationNodeView },
{ type: 'output-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 }
] ]

@ -38,6 +38,7 @@ import imageNodeIcon from '@/assets/images/ImagesCapture/image-node.png' // 图
import multiImageNodeIcon from '@/assets/images/ImagesCapture/multi-image-node.png' // 多图采集 import multiImageNodeIcon from '@/assets/images/ImagesCapture/multi-image-node.png' // 多图采集
import outputImageNodeIcon from '@/assets/images/ImagesCapture/output-image-node.png' // 输出图像 import outputImageNodeIcon from '@/assets/images/ImagesCapture/output-image-node.png' // 输出图像
import CashImageNodeIcon from '@/assets/images/ImagesCapture/cash-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 { export interface designLFNodeType {
type: string type: string
icon: string icon: string
@ -150,6 +151,11 @@ export const panelControlsConf: ControlsItemType[] = [
type: 'cash-image-node', type: 'cash-image-node',
label: '缓存图像', label: '缓存图像',
icon: CashImageNodeIcon icon: CashImageNodeIcon
},
{
type: 'light-image-node',
label: '光源',
icon: lightImageNodeIcon
} }
] ]
}, },

@ -41,6 +41,14 @@ export const useLogicFlow = () => {
y: 488.1111068725586, y: 488.1111068725586,
properties: { width: 132, height: 40 }, properties: { width: 132, height: 40 },
text: { x: 329.1111068725586, y: 488.1111068725586, value: '缓存图像' } 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: [ edges: [
@ -88,6 +96,21 @@ export const useLogicFlow = () => {
{ x: 329.1111068725586, y: 375.1111068725586 }, { x: 329.1111068725586, y: 375.1111068725586 },
{ x: 329.1111068725586, y: 468.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 }
]
} }
] ]
} }

@ -5,6 +5,7 @@
--el-dialog-bg-color: var(--ds-dialog-background-color) !important; // --el-dialog-bg-color: var(--ds-dialog-background-color) !important; //
padding: 0 !important; padding: 0 !important;
overflow: hidden !important; overflow: hidden !important;
border-radius: 8px !important;
.el-dialog__header { .el-dialog__header {
background-color: var(--ds-color-primary); background-color: var(--ds-color-primary);
.el-dialog__title { .el-dialog__title {
@ -35,5 +36,4 @@
.el-dialog__header { .el-dialog__header {
height: var(--ds-dialog-header-height); height: var(--ds-dialog-header-height);
} }
} }

@ -8,7 +8,10 @@
*/ */
import imageNodeModel from './imageNodeModel.vue' import imageNodeModel from './imageNodeModel.vue'
import multiImageNodeModel from './multiImageNodeModel.vue' import multiImageNodeModel from './multiImageNodeModel.vue'
import lightImageNodeModel from './lightNodeModel.vue'
export const FlowImageNodeModel = imageNodeModel export const FlowImageNodeModel = imageNodeModel
export const FlowMultiImageNodeModel = multiImageNodeModel export const FlowMultiImageNodeModel = multiImageNodeModel
export const FlowLightImageNodeModel = lightImageNodeModel

@ -0,0 +1,43 @@
<template>
<DSDialog
v-model="show"
width="1200"
@close="handleClose"
class="settings-dialog ds-dialog"
title="光源"
>
<div>1111</div>
</DSDialog>
</template>
<script setup lang="tsx">
import { DSDialog } from '@/components/Dialog'
defineOptions({
name: 'FlowLightNodeModel'
})
interface Props {
/** 弹窗显隐 */
value: boolean
// info?: Record<string, any>
}
interface Emits {
(e: 'update:value', val: boolean): void
}
const props = withDefaults(defineProps<Props>(), {
value: false
})
const emit = defineEmits<Emits>()
//
const handleClose = () => {
// emits('close');
}
const show = computed({
get() {
return props.value
},
set(val: boolean) {
emit('update:value', val)
}
})
</script>

@ -34,6 +34,7 @@
<div class="attr-model-box" v-if="showAttribute"> <div class="attr-model-box" v-if="showAttribute">
<FlowImageNodeModel v-model:value="isOpenFlowImage" /> <FlowImageNodeModel v-model:value="isOpenFlowImage" />
<FlowMultiImageNodeModel v-model:value="isOpenFlowMultiImage" /> <FlowMultiImageNodeModel v-model:value="isOpenFlowMultiImage" />
<FlowLightImageNodeModel v-model:value="isOpenFlowLightImage" />
</div> </div>
</div> </div>
</template> </template>
@ -49,7 +50,11 @@ import { OperationNode, ImageNode } from '@/components/LogicFlowNodes'
import { useLogicFlow } from '@/hooks/useLogicFlow' import { useLogicFlow } from '@/hooks/useLogicFlow'
import { logicFlowConf, logicFlowThemeConf } from '@/config/designCanvas' import { logicFlowConf, logicFlowThemeConf } from '@/config/designCanvas'
import { getNodeOutputCount, getNodeInputCount } from '@/utils/forData/arr' import { getNodeOutputCount, getNodeInputCount } from '@/utils/forData/arr'
import { FlowImageNodeModel, FlowMultiImageNodeModel } from '../FlowImagesCapture' import {
FlowImageNodeModel,
FlowMultiImageNodeModel,
FlowLightImageNodeModel
} from '../FlowImagesCapture'
const showLf = ref<boolean>(false) // const showLf = ref<boolean>(false) //
const showTop = ref<boolean>(false) // const showTop = ref<boolean>(false) //
@ -63,6 +68,7 @@ const flowDetail = reactive({})
const isOpenFlowImage = ref<boolean>(false) // const isOpenFlowImage = ref<boolean>(false) //
const isOpenFlowMultiImage = ref<boolean>(false) // const isOpenFlowMultiImage = ref<boolean>(false) //
const isOpenFlowLightImage = ref<boolean>(false) //
// //
const changeAttrPanelStatus = (isOpen) => { const changeAttrPanelStatus = (isOpen) => {
switch (currNodeData.value?.type) { switch (currNodeData.value?.type) {
@ -72,6 +78,9 @@ const changeAttrPanelStatus = (isOpen) => {
case 'multi-image-node': case 'multi-image-node':
isOpenFlowMultiImage.value = true isOpenFlowMultiImage.value = true
break break
case 'light-image-node':
isOpenFlowLightImage.value = true
break
} }
nextTick(() => { nextTick(() => {
showAttribute.value = isOpen || !showAttribute.value showAttribute.value = isOpen || !showAttribute.value
@ -138,9 +147,10 @@ const initEvents = () => {
console.log('node:dbclick-currNodeData', currNodeData.value) console.log('node:dbclick-currNodeData', currNodeData.value)
changeAttrPanelStatus(true) changeAttrPanelStatus(true)
}) })
// lf.value.on('edge:dbclick', ({ data }) => { lf.value.on('edge:dbclick', ({ data }) => {
// currNodeData.value = data // currNodeData.value = data
// }) console.log(data)
})
// //
lf.value.on('edge:app-config', (res) => { lf.value.on('edge:app-config', (res) => {
currNodeData.value = res currNodeData.value = res

Loading…
Cancel
Save