appmian.vue 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. <template>
  2. <div class="appmian">
  3. <el-container>
  4. <el-header>
  5. <div class="ve_menu_logo">
  6. <div class="ve_title">
  7. <div class="ve_logo_img">
  8. <el-image
  9. style="height: 100%"
  10. :src="logo"
  11. fit="contain"
  12. ></el-image>
  13. </div>
  14. <h3 class="ve_logo_title">
  15. {{ title }}
  16. </h3>
  17. </div>
  18. <el-menu
  19. :default-active="activeIndex"
  20. class="el-menu-demo"
  21. mode="horizontal"
  22. :popper-offset="2"
  23. style="width:780px"
  24. background-color="#0D1639 "
  25. active-background-color="#0E50C8"
  26. text-color="#68ADFF"
  27. active-text-color="#fff"
  28. @select="handleSelect"
  29. >
  30. <el-menu-item index="1">灾害源设置</el-menu-item>
  31. <el-menu-item index="2">边界设置</el-menu-item>
  32. <el-menu-item index="3" >灾害推演</el-menu-item>
  33. <el-menu-item index="4">推演结果</el-menu-item>
  34. </el-menu>
  35. <div class="ve_right">
  36. <div class="ve_time">
  37. <span class="l_huoqing">火灾事故2023.02.26</span>
  38. <span class="l_time">2024-03-20 11:30:20</span>
  39. </div>
  40. <div class="ve_timeioc">
  41. <el-image
  42. :src="Vector"
  43. fit="contain"
  44. ></el-image>
  45. <span>模型库</span>
  46. </div>
  47. </div>
  48. </div>
  49. </el-header>
  50. <el-main>
  51. <Dialoges ref="lliudialog" :addselect="addselect"></Dialoges>
  52. <source-disaster ref="sourcedis" :classradio="classradio"/>
  53. <my-boundary ref="boundary" :classradio="classradio" />
  54. </el-main>
  55. </el-container>
  56. </div>
  57. </template>
  58. <script setup>
  59. import { ref, onMounted, reactive,nextTick } from "vue";
  60. // import NavigateBar from "@/components/layout/NavigateBar.vue";
  61. import Dialoges from "./Dialoges.vue"
  62. import logo from "@/assets/logo.png";
  63. import SourceDisaster from "./components/Sourcedisaster.vue"
  64. import myBoundary from "./components/MyBoundary.vue"
  65. import Vector from "@/assets/img/Vector.png";
  66. import {timestampToTime} from '@/js/lindex.js'
  67. import mitts from "@/utils/Bus"
  68. let lliudialog=ref();
  69. let sourcedis=ref();
  70. const title = "灾情推演软件";
  71. const activeIndex = ref('1')
  72. const activeIndex2 = ref('1')
  73. let classradio=ref()
  74. let boundary=ref();
  75. onMounted(() => {
  76. });
  77. //
  78. const addselect=()=>{
  79. classradio.value=lliudialog.value.classradio;
  80. console.log(111)
  81. }
  82. const handleSelect = (key,keyPath) => {
  83. switch (key) {
  84. case '1':
  85. sourcedis.value.accident3();
  86. boundary.value.boun.collfire=false;
  87. lliudialog.value.leftcoll.collfire=false;
  88. lliudialog.value.leftcoll.collwater=false;
  89. lliudialog.value.monitor=false;
  90. break;
  91. case '2':
  92. boundary.value.accident4();
  93. sourcedis.value.sour.collfire=false;
  94. sourcedis.value.sour.collwater=false;
  95. lliudialog.value.leftcoll.collfire=false;
  96. lliudialog.value.leftcoll.collwater=false;
  97. lliudialog.value.monitor=false;
  98. break;
  99. case '3':
  100. sourcedis.value.sour.collfire=false;
  101. sourcedis.value.sour.collwater=false;
  102. boundary.value.boun.collfire=false;
  103. lliudialog.value.accident2();
  104. lliudialog.value.monitor=false;
  105. break;
  106. case '4':
  107. sourcedis.value.sour.collfire=false;
  108. sourcedis.value.sour.collwater=false;
  109. boundary.value.boun.collfire=false;
  110. lliudialog.value.leftcoll.collfire=false;
  111. lliudialog.value.leftcoll.collwater=false;
  112. lliudialog.value.monitor=true;
  113. default:
  114. break;
  115. }
  116. }
  117. </script>
  118. <style lang="scss" scoped>
  119. .appmian{
  120. .el-main{
  121. --el-main-padding: 0 !important;
  122. }
  123. .el-header{
  124. padding:0;
  125. margin: 0;
  126. width: 100%;
  127. position: absolute;
  128. z-index: 206;
  129. top: 0;
  130. }
  131. }
  132. .ve_menu_logo {
  133. width: 100%;
  134. height:70px;
  135. background: #0D1639;
  136. white-space: nowrap;
  137. text-align: left;
  138. overflow: hidden;
  139. display: flex;
  140. background: #0D1639;
  141. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  142. border-radius: 0px 0px 0px 0px;
  143. border-bottom: 1px solid;
  144. box-sizing: border-box;
  145. border-image: linear-gradient(28deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0)) 1 1;
  146. .ve_title{
  147. }
  148. .ve_logo_img {
  149. padding-left: 30px;
  150. height: 100%;
  151. display: inline-block;
  152. box-sizing: border-box;
  153. vertical-align: middle;
  154. padding: 15px;
  155. }
  156. .ve_logo_title {
  157. width: 160px;
  158. white-space: nowrap;
  159. overflow: hidden;
  160. text-overflow: ellipsis;
  161. display: inline-block;
  162. margin: 0;
  163. vertical-align: middle;
  164. color: #68ADFF;
  165. font-size: 20px;
  166. }
  167. .el-menu-demo{
  168. width:60% !important;
  169. height: 70px;
  170. border: none !important;
  171. background: rgba(12,97,197,0);
  172. .el-menu-item{
  173. position: relative;
  174. width: 97px;
  175. font-family: Microsoft YaHei UI, Microsoft YaHei UI;
  176. font-weight: bold;
  177. font-size: 13px;
  178. color: #68ADFF;
  179. line-height: 15px;
  180. text-align: center;
  181. font-style: normal;
  182. text-transform: none;
  183. width: 110px;
  184. height: 70px;
  185. border-radius: 0px 0px 0px 0px;
  186. border:none;
  187. }
  188. .is-active{
  189. width: 110px;
  190. height: 70px;
  191. background:radial-gradient(ellipse at 54px 0px, #3AA0FF -37%, #123066 53%);
  192. border-radius: 0px 0px 0px 0px;
  193. border: 1px solid;
  194. border-left: 1px solid rgba(16, 92, 240, 1);
  195. border-right: 1px solid rgba(18, 48, 102, 1);
  196. border-image: linear-gradient(347deg, rgba(16, 92, 240, 1), rgba(18, 48, 102, 1)) 1 1;
  197. &:after {
  198. width: 24px;
  199. height: 1px;
  200. background-color: #fff;
  201. -webkit-transition: all ease-out 0.2s;
  202. transition: all ease-out 0.2s;
  203. content: "";
  204. position: absolute;
  205. left: 50%;
  206. bottom: 15px;
  207. webkit-transform: translate(-50%, 0%);
  208. -moz-transform: translate(-50%,0%);
  209. transform: translate(-50%, 0%);
  210. }
  211. }
  212. }
  213. .ve_right{
  214. width: 350px;
  215. height: 70px;
  216. overflow: hidden;
  217. position:absolute;
  218. right: 0;
  219. display: flex;
  220. .ve_time{
  221. width: 190px;
  222. height: 55px;
  223. padding-top: 15px;
  224. height: 70px;
  225. border-radius: 0px 0px 0px 0px;
  226. border-left: 2px solid rgba(12, 97, 197, 0.20);
  227. border-right: 2px solid rgba(12, 97, 197, 0.20);;
  228. box-sizing: border-box;
  229. // border-image: linear-gradient(347deg, rgba(31, 107, 255, 1), rgba(164, 195, 255, 1)) 1 1;
  230. span{
  231. display: block;
  232. font-family: Microsoft YaHei UI, Microsoft YaHei UI;
  233. color: #FFFFFF;
  234. text-align: center;
  235. font-style: normal;
  236. text-transform: none;
  237. }
  238. .l_huoqing{
  239. font-size: 13px;
  240. line-height: 15px;
  241. font-weight: bold;
  242. line-height: 2;
  243. }
  244. .l_time{
  245. font-size: 12px;
  246. line-height: 14px;
  247. font-weight: 400;
  248. }
  249. }
  250. .ve_timeioc{
  251. width: 150px;
  252. height: 70px;
  253. // border-radius: 0px 0px 0px 0px;
  254. // border: 1px solid;
  255. // border-image: linear-gradient(347deg, rgba(16, 92, 240, 1), rgba(164, 195, 255, 1)) 1 1;
  256. font-family: Microsoft YaHei UI, Microsoft YaHei UI;
  257. font-weight: bold;
  258. font-size: 13px;
  259. color: #68ADFF;
  260. line-height: 15px;
  261. text-align: center;
  262. font-style: normal;
  263. text-transform: none;
  264. display: flex;
  265. justify-content: center;
  266. align-items: center;
  267. span{
  268. padding-left: 15px;
  269. }
  270. }
  271. }
  272. }
  273. </style>
  274. <style>
  275. body{
  276. width: 100%;
  277. height: 100vh;
  278. background: #161A2A ;
  279. }
  280. </style>