header.vue 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <template>
  2. <div class="bgk1">
  3. <div class="d-flex jc-center title_wrap">
  4. <div class="timers">
  5. <div class="logimg">
  6. <!-- <div class="ve_logo_img">
  7. <el-image style="height: 100%" :src="logo" fit="contain"></el-image>
  8. </div> -->
  9. <span>{{headername }}</span></div>
  10. <div class="headertime">
  11. <p class="datayear">{{ headertime.dateYear }}</p>
  12. <p class="dateday" >{{ headertime.dateDay }}</p>
  13. </div>
  14. </div>
  15. <div class="titlebtn titleanniu imgtupian" :class="{headeractive: headeractive === '1'}" @click="handleSelect('1')">突水推演</div>
  16. <div class="titlebtn titleanniu imgtupian" :class="{headeractive: headeractive === '2'}" @click="handleSelect('2')">火灾推演</div>
  17. <div class="d-flex jc-center s-content">
  18. <div class="title tiletimg">
  19. <!-- <div class="ve_logo_img">
  20. <el-image style="height: 100%" :src="logo" fit="contain"></el-image>
  21. </div> -->
  22. <!-- <span class="title-text">煤矿多种态势推演可视化和智慧应急与救援模型定制开发系统</span> -->
  23. <!-- <span class="title-text">煤矿典型灾害态势推演</span> -->
  24. <span class="title-text">煤矿灾害态势推演</span>
  25. </div>
  26. </div>
  27. <div class="titlebtn titleanniu imgtupian2" style="margin-left: 0px;" :class="{headeractive2: headeractive === '3'}" @click="handleSelect('3')" >瓦斯爆炸推演</div>
  28. <div class="titlebtn titleanniu imgtupian2" style="margin-left: 0px;" :class="{headeractive2: headeractive === '5'}" @click="handleSelect('5')" >一维瓦斯爆炸</div>
  29. <div class="titlebtn titleanniu imgtupian2" :class="{headeractive2: headeractive === '4'}" @click="handleSelect('4')" >模型库</div>
  30. </div>
  31. </div>
  32. </template>
  33. <script setup>
  34. import { ref, onMounted, reactive, } from "vue";
  35. import {RouterView,RouterLink } from "vue-router"
  36. import { request, uploadFile } from "@/utils/request";
  37. import logo from "@/assets/logo.png";
  38. import { ElMessage, ElButton, ElDialog, ElSelect } from 'element-plus'
  39. import { timestampToTime,formatTime } from "@/js/lindex.js";
  40. import emitter from "@/utils/emitter";
  41. let emit = defineEmits(['handleSelect'])
  42. let headername=ref();
  43. const props = defineProps({
  44. name:{
  45. type:String
  46. },
  47. });
  48. let headeractive=ref(0);
  49. let headerobj = ref({
  50. time: "",
  51. name: "",
  52. });
  53. let headertime=ref({
  54. timing: null,
  55. loading: true,
  56. dateDay: null,
  57. dateYear: null,
  58. dateWeek: null,
  59. weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
  60. })
  61. let headerid=ref();
  62. onMounted(() => {
  63. timeFn();
  64. });
  65. // 当前时间
  66. const timeFn=()=> {
  67. headertime.value.timing = setInterval(() => {
  68. headertime.value.dateDay = formatTime(new Date(), "HH: mm: ss");
  69. headertime.value.dateYear = formatTime(new Date(), "yyyy-MM-dd");
  70. headertime.value.dateWeek = headertime.value.weekday[new Date().getDay()];
  71. }, 1000);
  72. }
  73. const handleSelect = (key) => {
  74. headerid.value=key;
  75. headeractive.value= headerid.value;
  76. emit('handleSelect', key);
  77. headername.value="";
  78. };
  79. const hname=(val)=>{
  80. headername.value=val// 获取项目名称
  81. }
  82. defineExpose({headeractive,hname});
  83. </script>
  84. <style lang="scss" scoped>
  85. @import '../../src/style/style.css';
  86. .headeractive{
  87. background-image: url('/src/assets/img/Rectangle4562.png') !important;
  88. }
  89. .headeractive2{
  90. // background-image: url('/src/assets/img/Rectangle45622.png') !important;
  91. background-image: url('/src/assets/img/Rectangle4562.png') !important;
  92. background-size: 100%;
  93. }
  94. </style>