index.vue 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. <!--
  2. * @Description:
  3. * @Autor: lin
  4. * @Date: 2024-04-09 14:29:42
  5. * @LastEditors: lin
  6. * @LastEditTime: 2024-04-20 14:03:46
  7. -->
  8. <template>
  9. <div class="bigBox">
  10. <div class="top">智网监测中心</div>
  11. <!-- 左边按钮组 -->
  12. <div class="topLeftBtn">
  13. <router-link to="/newHome/home">
  14. <div :class="`newHomeBtn ${$route.path == '/newHome/home' ? 'newHomeBtnClick' : ''}`">首页</div>
  15. </router-link>
  16. <router-link to="/newHome/device">
  17. <div :class="`newHomeBtn newHomeBigBtn ${$route.path == '/newHome/device' ? 'newHomeBigBtnClick' : ''}`">智能测报系统
  18. </div>
  19. </router-link>
  20. </div>
  21. <div class="topLeftBtn rightBtn">
  22. <router-link to="/index/taskRegulator" target="_blank">
  23. <div class="newHomeBtn">下发任务</div>
  24. </router-link>
  25. <router-link to="/index/cbd" target="_blank">
  26. <div :class="`newHomeBtn`">管理后台
  27. </div>
  28. </router-link>
  29. </div>
  30. <div class="left"></div>
  31. <div class="right"></div>
  32. <div class="bottom">
  33. {{ currentTime }}
  34. </div>
  35. <div class="content">
  36. <router-view></router-view>
  37. </div>
  38. </div>
  39. </template>
  40. <script>
  41. // 设置rem
  42. const setBaseFontSize = () => {
  43. const baseFontSize = (window.innerWidth / 1920) * 9; // 根据屏幕宽度计算基准字体大小
  44. document.documentElement.style.fontSize = `${baseFontSize}px`; // 设置根元素字体大小
  45. };
  46. export default {
  47. props: {
  48. },
  49. data() {
  50. return {
  51. currentTime: '',
  52. timmer: null
  53. };
  54. },
  55. computed: {
  56. },
  57. created() {
  58. },
  59. mounted() {
  60. this.timmer = setInterval(this.updateTime, 1000);
  61. setBaseFontSize(); // 初始化基准字体大小
  62. window.addEventListener("resize", setBaseFontSize); // 监听窗口大小变化,重新设置基准字体大小
  63. console.log(this.$route)
  64. },
  65. beforeDestroy() {
  66. clearInterval(this.timmer);
  67. document.documentElement.removeAttribute("style");
  68. window.removeEventListener("resize", setBaseFontSize);
  69. },
  70. watch: {
  71. },
  72. methods: {
  73. updateTime() {
  74. var now = new Date();
  75. var year = now.getFullYear();
  76. var month = now.getMonth() + 1;
  77. var date = now.getDate();
  78. var day = now.getDay();
  79. var hours = now.getHours();
  80. var minutes = now.getMinutes();
  81. var seconds = now.getSeconds();
  82. // 将星期几转换为中文格式
  83. var daysOfWeek = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
  84. var dayOfWeekText = daysOfWeek[day];
  85. // 格式化小时、分钟、秒为两位数
  86. hours = ('0' + hours).slice(-2);
  87. minutes = ('0' + minutes).slice(-2);
  88. seconds = ('0' + seconds).slice(-2);
  89. // 更新时间
  90. this.currentTime = year + '年' + month + '月' + date + '日 ' + dayOfWeekText + ' ' + hours + ':' + minutes + ':' + seconds;
  91. }
  92. },
  93. components: {
  94. },
  95. };
  96. </script>
  97. <style lang="less">
  98. .newHomeBtn {
  99. display: inline-block;
  100. cursor: pointer;
  101. width: 6.4vw;
  102. height: 3.52vh;
  103. color: #ffffff80;
  104. font-size: 1.6rem;
  105. line-height: 2.8vh;
  106. text-align: center;
  107. background: url(../../../assets/images/newHome/btn.png) center center no-repeat;
  108. background-size: 100% 100%;
  109. &:hover {
  110. color: #FFF;
  111. background: url(../../../assets/images/newHome/btnHover.png) center center no-repeat;
  112. background-size: 100% 100%;
  113. }
  114. }
  115. .newHomeBtnClick {
  116. color: #FFF;
  117. background: url(../../../assets/images/newHome/btnHover.png) center center no-repeat;
  118. background-size: 100% 100%;
  119. }
  120. .newHomeBigBtn {
  121. width: 8.125vw;
  122. background: url(../../../assets/images/newHome/bigBtn.png) center center no-repeat;
  123. background-size: 100% 100%;
  124. &:hover {
  125. color: #FFF;
  126. background: url(../../../assets/images/newHome/bigBtnHover.png) center center no-repeat;
  127. background-size: 100% 100%;
  128. }
  129. }
  130. .newHomeBigBtnClick {
  131. color: #FFF;
  132. background: url(../../../assets/images/newHome/bigBtnHover.png) center center no-repeat;
  133. background-size: 100% 100%;
  134. }
  135. </style>
  136. <style scoped lang="less">
  137. .bigBox {
  138. position: relative;
  139. overflow: hidden;
  140. width: 100vw;
  141. height: 100vh;
  142. .topLeftBtn {
  143. position: absolute;
  144. top: 2.5vh;
  145. left: 2.2vw;
  146. z-index: 190;
  147. }
  148. .rightBtn{
  149. left: auto;
  150. right: 2.2vw;
  151. }
  152. .content {
  153. position: absolute;
  154. top: 0;
  155. left: 0;
  156. width: 100vw;
  157. height: 100vh;
  158. }
  159. .top {
  160. position: absolute;
  161. color: #ffffff;
  162. text-align: center;
  163. text-shadow: 0 0 4px #FFF;
  164. font-size: 2.8rem;
  165. font-weight: 700;
  166. letter-spacing: 5.6px;
  167. padding-top: 1rem;
  168. pointer-events: none;
  169. top: 0;
  170. left: 0;
  171. width: 100%;
  172. height: 21.4rem;
  173. box-sizing: border-box;
  174. background: url('../../../assets/images/newHome/topBanger.png') center center no-repeat;
  175. background-size: 100% 100%;
  176. z-index: 2;
  177. }
  178. .left {
  179. position: absolute;
  180. top: 0;
  181. left: 0;
  182. width: 46.3vw;
  183. height: 100vh;
  184. background: url('../../../assets/images/newHome/leftBg.png') center center no-repeat;
  185. pointer-events: none;
  186. background-size: 100% 100%;
  187. z-index: 3;
  188. }
  189. .right {
  190. position: absolute;
  191. top: 0;
  192. right: 0;
  193. width: 46.3vw;
  194. height: 100vh;
  195. z-index: 3;
  196. background: url('../../../assets/images/newHome/rightBg.png') center center no-repeat;
  197. pointer-events: none;
  198. background-size: 100% 100%;
  199. }
  200. .bottom {
  201. position: absolute;
  202. left: 0;
  203. bottom: 0;
  204. width: 100vw;
  205. height: 11.76vh;
  206. line-height: 17.76vh;
  207. text-align: center;
  208. color: #ffffff;
  209. text-shadow: 0 0 4px #FFF;
  210. font-size: 1.6rem;
  211. letter-spacing: 1.6px;
  212. font-weight: 600;
  213. z-index: 3;
  214. background: url('../../../assets/images/newHome/bottom.png') center center no-repeat;
  215. pointer-events: none;
  216. background-size: 100% 100%;
  217. }
  218. }
  219. </style>