From 4477d764a7bb1c326be26be3913a32daa8b1b487 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=9C=E7=AC=99=E6=AD=8C?= <2277317060@qq.com> Date: Thu, 26 Jun 2025 18:04:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9C=8B=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/main.ts | 3 + src/views/boardGenerate/index.vue | 162 ++++++++++++++++- .../nodes/board/carouselNode.vue | 149 ++++++++++++++++ .../board/nightingaleRoseDiagramNode.vue | 165 ++++++++++++++++++ .../boardGenerate/nodes/form/timelineNode.vue | 86 +++++++++ .../boardGenerate/nodes/form/videoNode.vue | 75 ++++++++ src/views/boardGenerate/tool.js | 8 +- src/views/boardGenerate/view.vue | 27 ++- 9 files changed, 669 insertions(+), 7 deletions(-) create mode 100644 src/views/boardGenerate/nodes/board/carouselNode.vue create mode 100644 src/views/boardGenerate/nodes/board/nightingaleRoseDiagramNode.vue create mode 100644 src/views/boardGenerate/nodes/form/timelineNode.vue create mode 100644 src/views/boardGenerate/nodes/form/videoNode.vue diff --git a/package.json b/package.json index d48a19b..d7bf01b 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "pinia": "2.1.7", "qrcode": "^1.5.4", "screenfull": "6.0.2", + "swiper": "^11.2.8", "uuid": "^11.0.5", "vform3-builds": "^3.0.10", "vue": "3.4.34", diff --git a/src/main.ts b/src/main.ts index e29564b..120a8d8 100644 --- a/src/main.ts +++ b/src/main.ts @@ -69,7 +69,10 @@ import { ElDialog } from 'element-plus'; ElDialog.props.closeOnClickModal.default = false; import vue3SeamlessScroll from 'vue3-seamless-scroll'; +import { register } from 'swiper/element/bundle'; +import 'swiper/css/bundle'; +register(); const app = createApp(App); diff --git a/src/views/boardGenerate/index.vue b/src/views/boardGenerate/index.vue index e455660..4281d2b 100644 --- a/src/views/boardGenerate/index.vue +++ b/src/views/boardGenerate/index.vue @@ -61,6 +61,23 @@
饼图
+ + +
南丁格尔玫瑰图
+
+ + +
轮播图
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/boardGenerate/nodes/board/nightingaleRoseDiagramNode.vue b/src/views/boardGenerate/nodes/board/nightingaleRoseDiagramNode.vue new file mode 100644 index 0000000..9e22658 --- /dev/null +++ b/src/views/boardGenerate/nodes/board/nightingaleRoseDiagramNode.vue @@ -0,0 +1,165 @@ + + + diff --git a/src/views/boardGenerate/nodes/form/timelineNode.vue b/src/views/boardGenerate/nodes/form/timelineNode.vue new file mode 100644 index 0000000..4218a53 --- /dev/null +++ b/src/views/boardGenerate/nodes/form/timelineNode.vue @@ -0,0 +1,86 @@ + + + + diff --git a/src/views/boardGenerate/nodes/form/videoNode.vue b/src/views/boardGenerate/nodes/form/videoNode.vue new file mode 100644 index 0000000..bc0a3d7 --- /dev/null +++ b/src/views/boardGenerate/nodes/form/videoNode.vue @@ -0,0 +1,75 @@ + + + + diff --git a/src/views/boardGenerate/tool.js b/src/views/boardGenerate/tool.js index b58b947..765ee3e 100644 --- a/src/views/boardGenerate/tool.js +++ b/src/views/boardGenerate/tool.js @@ -15,7 +15,7 @@ const getOption = (e) => { return { title: '', yNames: [], gridTop: 30, gridLeft: 5, gridBottom: 10, gridRight: 10, xName: '', yName: '', tooltip:true, legend:true }; } else if (e === 'curve' || e === 'multiCurves') { return { title: '', yNames: [], gridTop: 30, gridLeft: 5, gridBottom: 10, gridRight: 10, xName: '', yName: '', tooltip:true, legend:true }; - } else if (e === 'pie') { + } else if (e === 'pie' || e === 'nightingaleRoseDiagram') { return { title: '', yNames: [], tooltip:true, legend:true,label:true }; } else if (e === 'customBoard') { return { title: '', yNames: [] }; @@ -35,6 +35,10 @@ const getOption = (e) => { return { text: '文字', align: '', color: '#fff' }; } else if (e === 'img') { return { imgSrc: '' }; + } else if (e === 'video') { + return { videoSrc: '' }; + } else if (e === 'timeline') { + return { color: '#fff',timestampColor: '#fff', field: 'content', timestampField: 'timestamp', isTimestamp: true }; } else if (e === 'scrollTable' || e === 'table') { return { tableOptions: [], @@ -46,6 +50,8 @@ const getOption = (e) => { thBgColor: '#fff', tdBgColor: ['#000'] }; + } else if (e === 'carousel') { + return { swiperOptions: {}, imageFit: 'contain', carouselImages: [] }; } else { return {}; } diff --git a/src/views/boardGenerate/view.vue b/src/views/boardGenerate/view.vue index c316868..88318ad 100644 --- a/src/views/boardGenerate/view.vue +++ b/src/views/boardGenerate/view.vue @@ -48,15 +48,35 @@ + + + + + +