FormatOne.vue 944 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <script setup>
  2. import {ref} from 'vue'
  3. import {getPPTContentType,getPPTContentItemData,getPPTLayerType} from '../hooks/createPPTContent'
  4. const props=defineProps({
  5. pageData:{
  6. type:Object,
  7. default:{}
  8. }
  9. })
  10. const lang=ref(window.location.pathname.startsWith('/ppten')?'en':'zh')
  11. </script>
  12. <template>
  13. <div :class="['ppt-item-box',lang=='en'?'ppt-item-box_en':'']">
  14. <div class="ppt-title-box">{{pageData.title}}</div>
  15. <div class="ppt-content-box">
  16. <div class="container">
  17. <component
  18. :is="getPPTContentType(1,pageData.elements)"
  19. :itemData="getPPTContentItemData(1,pageData)"
  20. />
  21. </div>
  22. <div class="layer-wrap">
  23. <template v-for="item in pageData.layers" :key="item.id">
  24. <component
  25. :is="getPPTLayerType(item)"
  26. :itemData="item"
  27. />
  28. </template>
  29. </div>
  30. </div>
  31. </div>
  32. </template>
  33. <style lang="scss" scoped>
  34. // @import '../style/common.scss';
  35. </style>