index.vue 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <template>
  2. <section class="hc-container relative h-full flex flex-col">
  3. <header class="hc-header relative h-[70px]">
  4. <div class="gis-header">
  5. <div class="header_left" />
  6. <div class="header_center">
  7. <div class="title">长寿区国道G243长寿长江大桥危桥改造工程</div>
  8. <div class="time">
  9. <span>{{ headerDate }}</span>
  10. <span class="ml-3">{{ headerTime }}</span>
  11. </div>
  12. </div>
  13. <div class="header_right" />
  14. </div>
  15. </header>
  16. <main class="hc-main relative">
  17. <div class="main-left w-[66%]">
  18. <div class="content flex-1">
  19. <div class="hc-border-1" />
  20. <div class="hc-border-2" />
  21. <iframe src="http://3d.hczcxx.cn/" hc-border="0" name="iframe3d" class="relative h-full w-full cursor-pointer" />
  22. <div class="text-content">
  23. <div class="title">施工换索进度</div>
  24. <div class="scroll-bar">
  25. <div class="number-box">
  26. <div class="name">总换索量</div>
  27. <number-card value="34" />
  28. </div>
  29. <div class="number-box">
  30. <div class="name letter">已换</div>
  31. <number-card value="0" />
  32. </div>
  33. <div class="number-box">
  34. <div class="name letter">未换</div>
  35. <number-card value="0" />
  36. </div>
  37. </div>
  38. </div>
  39. <div v-if="isDataContent" v-click-outside="onClickOutside" class="data-content">
  40. <div class="close-icon" @click="onClickOutside">
  41. <i class="i-solar-close-circle-linear" />
  42. </div>
  43. <div class="data-item">
  44. <div class="name">部位名称:</div>
  45. <div class="text">上部结构工程(B2)/斜拉桥换索/拉索XBJ-2</div>
  46. </div>
  47. <div class="data-item">开工日期:2023/10/23</div>
  48. <div class="data-item">检验日期:2023/11/23</div>
  49. <div class="data-item">
  50. <div class="name">签字审批人:</div>
  51. <div class="text">刘三 ---> 张立 ---> xxx</div>
  52. </div>
  53. <div class="data-item">
  54. <div class="name">质检资料:</div>
  55. <div class="text text-hover text-blue" @click="pdfClick">5c4fba79.pdf</div>
  56. </div>
  57. </div>
  58. </div>
  59. <div class="bottom h-[320px]">
  60. <div class="hc-border-1" />
  61. <div class="hc-border-2" />
  62. <div class="content h-full">
  63. <!-- <div class="title text-center">内外业进度对比</div>
  64. <hc-progress name="内业资料" value="1" color="1" />
  65. <hc-progress name="外业施工" value="12" color="2" /> -->
  66. <h-table :table-data="tableData" />
  67. </div>
  68. </div>
  69. </div>
  70. <div class="main-right w-[34%]">
  71. <div class="hc-border-1" />
  72. <div class="hc-border-2" />
  73. <div class="content h-full">
  74. <!-- <div class="title text-center">监控视频</div> -->
  75. <div class="video-content">
  76. <div v-for="item in 8" :key="item" class="video-item">
  77. <video playsinline controls src="https://cdn.modao.cc/Default_video.mp4" class="h-full w-full" />
  78. </div>
  79. </div>
  80. </div>
  81. </div>
  82. </main>
  83. </section>
  84. </template>
  85. <script setup>
  86. import { onMounted, ref } from 'vue'
  87. import { ClickOutside as vClickOutside } from 'element-plus'
  88. import dayjs from 'dayjs'
  89. onMounted(() => {
  90. getDateTime()
  91. window.addEventListener('message', ({ data }) => {
  92. // isDataContent.value = !!data.data
  93. if (!data.data) {
  94. tableData.value = [
  95. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  96. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  97. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  98. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  99. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  100. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  101. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  102. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  103. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  104. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  105. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  106. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  107. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  108. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  109. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  110. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  111. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  112. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  113. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  114. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  115. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  116. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  117. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  118. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  119. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  120. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  121. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  122. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  123. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  124. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  125. ]
  126. } else {
  127. tableData.value = [{ name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true }]
  128. }
  129. })
  130. })
  131. //实时日期时间
  132. const headerDate = ref(dayjs().format('YYYY年MM月DD日'))
  133. const headerTime = ref(dayjs().format('HH:mm:ss'))
  134. const getDateTime = () => {
  135. setInterval(() => {
  136. headerDate.value = dayjs().format('YYYY年MM月DD日')
  137. headerTime.value = dayjs().format('HH:mm:ss')
  138. }, 1000)
  139. }
  140. //是否显示数据内容
  141. const isDataContent = ref(false)
  142. const onClickOutside = () => {
  143. isDataContent.value = false
  144. }
  145. //pdf点击
  146. const pdfClick = () => {
  147. window.open('https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com//upload/20231010/317426386a5f3b6144a9649e5c4fba79.pdf', '_blank')
  148. }
  149. const tableData = ref([
  150. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  151. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  152. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  153. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  154. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  155. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  156. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  157. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  158. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  159. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  160. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  161. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  162. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  163. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  164. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  165. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  166. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  167. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  168. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  169. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  170. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  171. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  172. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  173. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  174. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  175. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  176. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  177. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  178. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:true },
  179. { name:'基础及下部构造/0#桥墩 (台) /扩大基础', date1:'2023/10/10', date2:'2023/10/10', isWarn:false },
  180. ])
  181. </script>
  182. <style lang="scss">
  183. @import '../styles/home';
  184. </style>