WindowLayout.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <template>
  2. <div>
  3. <div class="content type-ckbj" data-item="type-ckbj">
  4. <div class="content-title">
  5. <img src="images/title-ckbj.png" alt=""><span>窗口布局</span>
  6. </div>
  7. <div class="content-content">
  8. <ul class="taps-left">
  9. <li @click="liTo(1)" v-bind:class='{ click: 1 == qwerqwre }'>一楼</li>
  10. <li @click="liTo(2)" v-bind:class='{ click: 2 == qwerqwre }'>二楼</li>
  11. <li @click="liTo(3)" v-bind:class='{ click: 3 == qwerqwre }'>三楼</li>
  12. </ul>
  13. <div style="position:absolute;margin-left: 312px;margin-top: 55px;">
  14. <p style="font-size: 22px;color: #ffffff;position:absolute;margin-left: 76px;margin-top: 20px;">南岸区政务服务中心</p>
  15. <img src="images/ckbj-zw.png">
  16. </div>
  17. <div v-if="qwerqwre == 1" class="tabs-right"><img src="images/oneFloor.png"></div>
  18. <div v-if="qwerqwre == 2" class="tabs-right"><img src="images/secondFloor.png"></div>
  19. <div v-if="qwerqwre == 3" class="tabs-right"><img src="images/thirdFloor.png"></div>
  20. </div>
  21. </div>
  22. </div>
  23. </template>
  24. <script>
  25. import api from '../api/index';
  26. export default {
  27. name: "windowLayout",
  28. created() {
  29. this.getData();
  30. },
  31. data() {
  32. return {
  33. qwerqwre: 1,
  34. ImageUrl: 'images/oneFloor.png'
  35. }
  36. },
  37. methods: {
  38. getData() {
  39. // let params = {
  40. // type: 1,
  41. // childType: this.childType
  42. // }
  43. // api.getArticleByType({
  44. // params
  45. // }).then(res => {
  46. // if (res.data.data != null) {
  47. // this.title = res.data.data[0].title;
  48. // this.content = res.data.data[0].content;
  49. // }
  50. // })
  51. },
  52. liTo(obj) {
  53. this.qwerqwre = obj;
  54. // this.getData();
  55. }
  56. },
  57. mounted() {
  58. //设置多少秒跳转
  59. var mtReturnTime = 120;
  60. //剩余秒数
  61. var myTime = 120;
  62. this.timer = setInterval(() => {
  63. myTime--;
  64. document.getElementById("secondText").innerHTML = "(" + myTime + ")";
  65. //0秒跳转目标页面
  66. if (myTime == 0) {
  67. this.$router.push("/");
  68. }
  69. }, 1000);
  70. //设置各类监听事件
  71. var body = document.querySelector('html');
  72. body.addEventListener("click", function () {
  73. myTime = mtReturnTime
  74. });
  75. body.addEventListener("keydown", function () {
  76. myTime = mtReturnTime
  77. });
  78. body.addEventListener("mousemove", function () {
  79. myTime = mtReturnTime
  80. });
  81. body.addEventListener("mousewheel", function () {
  82. myTime = mtReturnTime
  83. });
  84. document.addEventListener("scroll", function () {
  85. myTime = mtReturnTime
  86. });
  87. },
  88. //页面关闭销毁定时器
  89. beforeDestroy() {
  90. clearInterval(this.timer);
  91. this.timer = null;
  92. }
  93. }
  94. </script>
  95. <style scoped>
  96. .type-ckbj .content-title img {
  97. width: 3.625rem;
  98. height: 3.5625rem;
  99. margin: 0.125rem 1.25rem 0 0;
  100. }
  101. .type-ckbj .content-content {
  102. position: relative;
  103. background: rgb(0, 0, 0, 0.4);
  104. }
  105. .taps-left {
  106. position: absolute;
  107. width: 9.375rem;
  108. margin-top: 1.1875rem;
  109. margin-left: 2.625rem;
  110. }
  111. .taps-left li {
  112. width: 6.75rem;
  113. height: 2.5rem;
  114. line-height: 2.5rem;
  115. background: #A37C67;
  116. text-align: center;
  117. margin-top: 0.625rem;
  118. font-size: 1.125rem;
  119. font-weight: 800;
  120. color: #FFFFFF;
  121. }
  122. .taps-left li.click {
  123. background: #CBB486;
  124. }
  125. .tabs-right {
  126. width: 70rem;
  127. height: 43.6875rem;
  128. margin-left: 345px;
  129. margin-top: 105px;
  130. background-size: 100% 100%;
  131. }
  132. </style>