|
@@ -0,0 +1,60 @@
|
|
|
+<script setup>
|
|
|
+import {ref} from 'vue'
|
|
|
+import {getPPTContentType,getPPTContentItemData,getPPTLayerType} from '../hooks/createPPTContent'
|
|
|
+
|
|
|
+const props=defineProps({
|
|
|
+ pageData:{
|
|
|
+ type:Object,
|
|
|
+ default:{}
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+const lang=ref(window.location.pathname.startsWith('/ppten')?'en':'zh')
|
|
|
+
|
|
|
+</script>
|
|
|
+
|
|
|
+<template>
|
|
|
+ <div :class="['ppt-item-box ppt-item-page',lang=='en'?'ppt-item-box_en':'']">
|
|
|
+ <div class="ppt-title-box">{{pageData.title}}</div>
|
|
|
+ <div class="ppt-content-box">
|
|
|
+ <div class="container">
|
|
|
+ <div class="top-box">
|
|
|
+ <component
|
|
|
+ :is="getPPTContentType(1,pageData.elements)"
|
|
|
+ :itemData="getPPTContentItemData(1,pageData)"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="bot-box">
|
|
|
+ <component
|
|
|
+ :is="getPPTContentType(2,pageData.elements)"
|
|
|
+ :itemData="getPPTContentItemData(2,pageData)"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layer-wrap">
|
|
|
+ <template v-for="item in pageData.layers" :key="item.id">
|
|
|
+ <component
|
|
|
+ :is="getPPTLayerType(item)"
|
|
|
+ :itemData="item"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+// @import '../style/common.scss';
|
|
|
+.ppt-content-box{
|
|
|
+ .top-box{
|
|
|
+ width: 100%;
|
|
|
+ height: 50%;
|
|
|
+ }
|
|
|
+ .bot-box{
|
|
|
+ width: 100%;
|
|
|
+ height: 50%;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|