index.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <!-- -->
  2. <template>
  3. <div class="iframe-view">
  4. <div class="title">{{ iframeData.name }}</div>
  5. <div class="iframe-box" v-if="iframeData.modelUrl">
  6. <iframe :src="iframeData.modelUrl" frameborder="0"></iframe>
  7. </div>
  8. <p class="support">四维时代提供技术支持</p>
  9. <div class="close-btn" @click="close">关闭</div>
  10. </div>
  11. </template>
  12. <script setup>
  13. import { reactive, ref, toRefs, onBeforeMount, onMounted, defineEmits, defineProps } from "vue";
  14. const props = defineProps(["iframeData"]);
  15. const emits = defineEmits(["close"]);
  16. const close = () => {
  17. emits("close");
  18. };
  19. </script>
  20. <style lang="scss" scoped>
  21. .iframe-view {
  22. width: 100vw;
  23. height: 100vh;
  24. position: fixed;
  25. z-index: 10;
  26. top: 0;
  27. left: 0;
  28. background: rgba(0,0,0,0.5);
  29. backdrop-filter: blur(4px);
  30. .iframe-box {
  31. width: 100%;
  32. height: 100%;
  33. iframe {
  34. width: 100%;
  35. height: 100%;
  36. }
  37. }
  38. .title {
  39. margin-top: 55px;
  40. position: absolute;
  41. width: 310px;
  42. height: 60px;
  43. top: 0;
  44. left: 50%;
  45. transform: translateX(-50%);
  46. z-index: 999;
  47. font-size: 0.64rem;
  48. color: #fff;
  49. text-align: center;
  50. }
  51. .support {
  52. position: absolute;
  53. z-index: 1;
  54. font-size: 16px;
  55. color: #17181d;
  56. font-weight: 100;
  57. left: 50%;
  58. transform: translateX(-50%);
  59. bottom: 13vh;
  60. letter-spacing: 1px;
  61. text-shadow: rgb(51 51 51) 0 1px 1px;
  62. }
  63. .close-btn {
  64. position: absolute;
  65. bottom: 5%;
  66. right: 50%;
  67. transform: translateX(50%);
  68. width: 58px;
  69. height: 58px;
  70. color: #fff;
  71. font-size: 20px;
  72. z-index: 999999999;
  73. }
  74. }
  75. </style>