iframe4.vue 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <template>
  2. <div class="iframe4">
  3. <!-- <iframe src="http://10.75.17.10/doc/page/preview.asp" frameborder="0" class="iframe-2"></iframe> -->
  4. <div class="iframe-1">
  5. <div class="iframe4-title" @click="jumpUrl('/save/personnel')">人员健康</div>
  6. <personnel></personnel>
  7. </div>
  8. <div class="iframe-2">
  9. <div class="iframe4-title">视频监视</div>
  10. <div class="videoDiv" v-for="(pItem, pIndex) in videoArray" :key="pIndex" width="95%" height="48vh" @click="openVideoDialog(pItem)">
  11. <div class="mask"></div>
  12. <iframe :src="pItem.url + pItem.token" />
  13. </div>
  14. </div>
  15. <div class="iframe-3">
  16. <div class="iframe4-title" @click="openUrl('http://192.168.1.52/webiui/#/online')">智能安全帽</div>
  17. <iframe src="http://192.168.1.52/webiui/#/online" frameborder="0"></iframe>
  18. </div>
  19. <div class="iframe-4">
  20. <div class="iframe4-title">数字孪生</div>
  21. <div class="iframe-4-body"></div>
  22. </div>
  23. <el-dialog top="50px" v-model="showVideoDialog" width="80vw" :destroy-on-close="true" :custom-class="videoDialogClass">
  24. <iframe class="videoBoxiframe" width="100%" height="600px" :src="dialogVideoUrl" />
  25. </el-dialog>
  26. </div>
  27. </template>
  28. <script>
  29. import personnel from "./personnel.vue";
  30. import PanelSand from "@com/coms/panel/panel-sand.vue";
  31. export default {
  32. setup() {},
  33. components: { personnel, PanelSand },
  34. data() {
  35. return {
  36. showVideoDialog: false,
  37. dialogVideoUrl: "",
  38. videoArray: [
  39. {
  40. url: "http://10.155.32.4:9984/ws.html",
  41. token: "?token=SBQ_FDC_SC&autoplay=true",
  42. switch: true,
  43. },
  44. {
  45. url: "http://10.155.32.4:9984/ws.html",
  46. token: "?token=NSS_FDC_SC&autoplay=true",
  47. switch: true,
  48. },
  49. {
  50. url: "http://10.155.32.4:9984/ws.html",
  51. token: "?token=QS_FDC_SC&autoplay=true",
  52. switch: true,
  53. },
  54. {
  55. url: "http://10.155.32.4:9984/ws.html",
  56. token: "?token=MHS_FDC_SC&autoplay=true",
  57. switch: true,
  58. },
  59. {
  60. url: "http://10.155.32.4:9984/ws.html",
  61. token: "?token=XS_FDC_SC&autoplay=true",
  62. switch: true,
  63. },
  64. {
  65. url: "http://10.155.32.4:9984/ws.html",
  66. token: "?token=PL_GDC_SC&autoplay=true",
  67. switch: true,
  68. },
  69. ],
  70. };
  71. },
  72. methods: {
  73. openVideoDialog(item) {
  74. if (item.url && item.token) {
  75. this.dialogVideoUrl = item.url + item.token;
  76. this.showVideoDialog = true;
  77. }
  78. },
  79. jumpUrl(url) {
  80. this.$router.push(url);
  81. },
  82. openUrl(url) {
  83. window.open(url);
  84. },
  85. },
  86. created() {},
  87. };
  88. </script>
  89. <style lang="less">
  90. .iframe4 {
  91. background: url(../../assets/background-iframe4.png) no-repeat;
  92. background-size: 100% 100%;
  93. background-position-y: -5.1vh;
  94. display: flex;
  95. flex-wrap: wrap;
  96. height: 98vh;
  97. .iframe-1,
  98. .iframe-2,
  99. .iframe-3,
  100. .iframe-4 {
  101. width: 36.8vw;
  102. height: 37.31vh;
  103. }
  104. .iframe4-title {
  105. position: absolute;
  106. text-align: center;
  107. width: 36.8vw;
  108. margin-top: -3.3vh;
  109. text-align: center;
  110. font-size: 14pt;
  111. color: #b3bdc0;
  112. cursor: pointer;
  113. }
  114. .iframe-1 {
  115. margin-left: 6.5vw;
  116. margin-top: 5.3vh;
  117. .personnel {
  118. height: calc(36.6vh);
  119. .personnel-box-item {
  120. width: 11.5vw;
  121. }
  122. }
  123. }
  124. .iframe-2 {
  125. flex: 0 0 36.69vw;
  126. margin-left: 11.9vw;
  127. margin-top: 5.5vh;
  128. position: relative;
  129. .videoDiv {
  130. display: flex;
  131. height: 18.2vh;
  132. width: 12.2vw;
  133. float: left;
  134. position: relative;
  135. iframe {
  136. height: 18.2vh;
  137. width: 12.2vw;
  138. // float: left;
  139. }
  140. .mask {
  141. cursor: pointer;
  142. flex: 0 0 100%;
  143. position: absolute;
  144. left: 0;
  145. top: 0;
  146. width: 100%;
  147. height: 100%;
  148. z-index: 5;
  149. }
  150. }
  151. }
  152. .iframe-3,
  153. .iframe-4 {
  154. margin-top: -2.2vh;
  155. height: calc(36.5vh);
  156. width: 36.77vw;
  157. }
  158. .iframe-3 {
  159. margin-left: 6.5vw;
  160. // background-color: seashell;
  161. iframe {
  162. height: 100%;
  163. width: 100%;
  164. }
  165. }
  166. .el-dialog {
  167. background: rgba(18, 29, 28, 0.95);
  168. }
  169. .iframe-4 {
  170. margin-left: 11.9vw;
  171. .iframe-4-body {
  172. background-image: url("../../assets/3D.png");
  173. // background-color: aqua;
  174. background-size: cover;
  175. height: 100%;
  176. width: 100%;
  177. }
  178. }
  179. }
  180. </style>