修改看版配置

master
夜笙歌 1 month ago
parent 55635c9593
commit 44a2249bb2

@ -495,16 +495,17 @@ onMounted(async () => {
.then((res) => { .then((res) => {
let data = res.data; let data = res.data;
boardData.value = data; boardData.value = data;
nodes.value = data.designPagePointList.map(e => { nodes.value = data.designPagePointList?.length !== 0 ? data.designPagePointList.map(e => {
let data = {}; let data = {};
let savaField = ['customData', 'options']; let savaField = ['customData', 'options'];
Object.keys(e.data).forEach((key) => { let dataContent = JSON.parse(e.dataContent) || {};
Object.keys(dataContent).forEach((key) => {
if (savaField.includes(key)) { if (savaField.includes(key)) {
data[key] = e.data[key]; data[key] = dataContent[key];
} else { } else {
if (Array.isArray(e.data[key])) { if (Array.isArray(dataContent[key])) {
data[key] = []; data[key] = [];
} else if (e.data[key] && typeof e.data[key] === 'object' && !Array.isArray(e.data[key])) { } else if (dataContent[key] && typeof dataContent[key] === 'object' && !Array.isArray(dataContent[key])) {
data[key] = {}; data[key] = {};
} else { } else {
data[key] = null; data[key] = null;
@ -516,17 +517,17 @@ onMounted(async () => {
id: e.pagePointId, id: e.pagePointId,
name: e.pagePointName, name: e.pagePointName,
dimensions: { dimensions: {
width: e.dimensions.width, width: e.width,
height: e.dimensions.height height: e.height
}, },
position: { position: {
x: e.position.x, x: e.posX,
y: e.position.y y: e.posY
}, },
type: e.pointType, type: e.pointType,
data: JSON.parse(e.dataContent) data: JSON.parse(e.dataContent)
}; };
}) || [{ }) : [{
id: `area_${uuidv4().replaceAll('-', '_')}`, id: `area_${uuidv4().replaceAll('-', '_')}`,
name: 'area', name: 'area',
type: 'area', type: 'area',
@ -629,7 +630,7 @@ const save = () => {
editBoardApi({ editBoardApi({
...boardData.value, ...boardData.value,
designPageEdgesList: nodes.value.map(e => { designPagePointList: nodes.value.map(e => {
let data = {}; let data = {};
let savaField = ['customData', 'options']; let savaField = ['customData', 'options'];
Object.keys(e.data).forEach((key) => { Object.keys(e.data).forEach((key) => {
@ -648,6 +649,7 @@ const save = () => {
}); });
return { return {
activeFlag: '1', activeFlag: '1',
pageConfigId: boardData.value.pageConfigId,
pagePointId: e.id, pagePointId: e.id,
pagePointName: e.name, pagePointName: e.name,
width: e.dimensions.width, width: e.dimensions.width,
@ -658,9 +660,11 @@ const save = () => {
dataContent: JSON.stringify(data) dataContent: JSON.stringify(data)
}; };
}), }),
designPagePointList: edges.value.map(e => { designPageEdgesList: edges.value.map(e => {
console.log(e);
return { return {
activeFlag: '1', activeFlag: '1',
pageConfigId: boardData.value.pageConfigId,
pageEdgesId: e.id, pageEdgesId: e.id,
sourceNodeId: e.source, sourceNodeId: e.source,
targetNodeId: e.target, targetNodeId: e.target,

@ -4,7 +4,7 @@
<div v-for="i in nodes" class="node" :style="{left:i.position?.x+'px',top: i.position?.y+'px'}"> <div v-for="i in nodes" class="node" :style="{left:i.position?.x+'px',top: i.position?.y+'px'}">
<template v-if="i.type === 'customBoard'"> <template v-if="i.type === 'customBoard'">
<CustomBoardNode :isView="true" :inputData=getInputData(i.id) v-bind="i"></CustomBoardNode> <CustomBoardNode :isView="true" :inputData=getInputData(i.id) v-bind="i"></CustomBoardNode>
</template> </template>00
<template v-if="i.type === 'customData'"> <template v-if="i.type === 'customData'">
<CustomDataNode :isView="true" :inputData=getInputData(i.id) v-bind="i"></CustomDataNode> <CustomDataNode :isView="true" :inputData=getInputData(i.id) v-bind="i"></CustomDataNode>
</template> </template>
@ -55,6 +55,7 @@
</div> </div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { useRouter } from 'vue-router';
import TimeNode from './nodes/form/timeNode.vue'; import TimeNode from './nodes/form/timeNode.vue';
import DataNode from './nodes/data/dataNode.vue'; import DataNode from './nodes/data/dataNode.vue';
import LineNode from './nodes/board/lineNode.vue'; import LineNode from './nodes/board/lineNode.vue';
@ -72,6 +73,9 @@ import TextNode from './nodes/form/textNode.vue';
import ImgNode from './nodes/form/imgNode.vue'; import ImgNode from './nodes/form/imgNode.vue';
import PieNode from '@/views/boardGenerate/nodes/board/pieNode.vue'; import PieNode from '@/views/boardGenerate/nodes/board/pieNode.vue';
import StaticDataNode from './nodes/data/staticDataNode.vue'; import StaticDataNode from './nodes/data/staticDataNode.vue';
import { getBoardApi } from '@/views/boardGenerate/api/boardList';
const router = useRouter();
const nodes = ref([]); const nodes = ref([]);
const edges = ref([]); const edges = ref([]);
@ -97,8 +101,62 @@ const getInputData = (e) => {
return outputData; return outputData;
}; };
onMounted(() => { onMounted(() => {
nodes.value = JSON.parse(localStorage.getItem('NODES') || '[]'); getBoardApi(router.currentRoute.value.query.id)
edges.value = JSON.parse(localStorage.getItem('EDGES') || '[]'); .then((res) => {
let data = res.data;
nodes.value = data.designPagePointList?.length !== 0 ? data.designPagePointList.map(e => {
let data = {};
let savaField = ['customData', 'options'];
let dataContent = JSON.parse(e.dataContent) || {};
Object.keys(dataContent).forEach((key) => {
if (savaField.includes(key)) {
data[key] = dataContent[key];
} else {
if (Array.isArray(dataContent[key])) {
data[key] = [];
} else if (dataContent[key] && typeof dataContent[key] === 'object' && !Array.isArray(dataContent[key])) {
data[key] = {};
} else {
data[key] = null;
}
}
});
return {
id: e.pagePointId,
name: e.pagePointName,
dimensions: {
width: e.width,
height: e.height
},
position: {
x: e.posX,
y: e.posY
},
type: e.pointType,
data: JSON.parse(e.dataContent)
};
}) : [{
id: `area_${uuidv4().replaceAll('-', '_')}`,
name: 'area',
type: 'area',
position: {
x: 0,
y: 0
},
data: {}
}];
edges.value = data.designPageEdgesList.map(e => {
return {
id: e.pageEdgesId,
source: e.sourceNodeId,
target: e.targetNodeId,
type: e.edgeType,
targetHandle: e.targetHandleId,
sourceHandle: e.sourceHandleId
};
}) || [];
});
area.value = JSON.parse(localStorage.getItem('PAGEDATA')); area.value = JSON.parse(localStorage.getItem('PAGEDATA'));
}); });
</script> </script>

Loading…
Cancel
Save