header.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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" style="margin-right: 20px;" :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" :class="{headeractive2: headeractive === '3'}" @click="handleSelect('3')" >瓦斯爆炸推演</div>
  28. <div class="titlebtn titleanniu imgtupian2" :class="{headeractive2: headeractive === '4'}" @click="handleSelect('4')" >模型库</div>
  29. </div>
  30. </div>
  31. </template>
  32. <script setup>
  33. import { ref, onMounted, reactive, } from "vue";
  34. import {RouterView,RouterLink } from "vue-router"
  35. import { request, uploadFile } from "@/utils/request";
  36. import logo from "@/assets/logo.png";
  37. import { ElMessage, ElButton, ElDialog, ElSelect } from 'element-plus'
  38. import { timestampToTime,formatTime } from "@/js/lindex.js";
  39. import emitter from "@/utils/emitter";
  40. let emit = defineEmits(['handleSelect'])
  41. let headername=ref();
  42. const props = defineProps({
  43. name:{
  44. type:String
  45. },
  46. });
  47. let headeractive=ref(0);
  48. let headerobj = ref({
  49. time: "",
  50. name: "",
  51. });
  52. let headertime=ref({
  53. timing: null,
  54. loading: true,
  55. dateDay: null,
  56. dateYear: null,
  57. dateWeek: null,
  58. weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
  59. })
  60. let headerid=ref();
  61. onMounted(() => {
  62. timeFn();
  63. });
  64. // 当前时间
  65. const timeFn=()=> {
  66. headertime.value.timing = setInterval(() => {
  67. headertime.value.dateDay = formatTime(new Date(), "HH: mm: ss");
  68. headertime.value.dateYear = formatTime(new Date(), "yyyy-MM-dd");
  69. headertime.value.dateWeek = headertime.value.weekday[new Date().getDay()];
  70. }, 1000);
  71. }
  72. const handleSelect = (key) => {
  73. headerid.value=key;
  74. headeractive.value= headerid.value;
  75. emit('handleSelect', key);
  76. headername.value="";
  77. };
  78. const hname=(val)=>{
  79. headername.value=val// 获取项目名称
  80. }
  81. defineExpose({headeractive,hname});
  82. </script>
  83. <style lang="scss" scoped>
  84. .headeractive{
  85. background-image: url('/src/assets/img/Rectangle4562.png') !important;
  86. }
  87. .headeractive2{
  88. // background-image: url('/src/assets/img/Rectangle45622.png') !important;
  89. background-image: url('/src/assets/img/Rectangle4562.png') !important;
  90. background-size: 100%;
  91. }
  92. </style>