index.vue 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <template>
  2. <div id="layout">
  3. <div class="layout-cont">
  4. <div class="map">
  5. <img src="@/assets/images/layout_cont.png" alt="地图图片">
  6. </div>
  7. <div class="map-card lb">
  8. <div class="title">图例</div>
  9. <div class="item">重大风险</div>
  10. <div class="item level-1">较大风险</div>
  11. <div class="item level-2">一般风险</div>
  12. <div class="item level-3">低风险</div>
  13. </div>
  14. <div class="map-card rt">
  15. <div class="title">作业项目</div>
  16. <div class="item" v-for="(item,index) in items" :key="'project-work'+index" :class="item.color?'custom':'project-'+index">
  17. <span>
  18. <span class="icon" v-if="item.color" :style="{backgroundColor: item.color}" />
  19. <span>{{item.name}}</span>
  20. </span>
  21. <span class="number" v-if="item.number">{{item.number}}</span>
  22. </div>
  23. </div>
  24. </div>
  25. </div>
  26. </template>
  27. <script>
  28. export default {
  29. name:'Layouts',
  30. setup() {
  31. return{
  32. items:[
  33. {color:'#F53F3F',name:"动火作业"},
  34. {color:'#F49062',name:"受限空间作业"},
  35. {color:'#CC5120',name:"高处作业"},
  36. {color:'#165DFF',name:"起重作业"},
  37. {color:'#FADC19',name:"预热器清堵作业",number:"3"},
  38. {color:'#9FDB1D',name:"篦冷机清大块作业",number:"5"},
  39. {color:'#00B42A',name:"交叉作业"},
  40. {color:'#14C9C9',name:"临时用电作业",number:"1"},
  41. {color:'#3491FA',name:"动土作业",number:"1"},
  42. {color:'#722ED1',name:"断路作业",number:"2"},
  43. {color:'#E744E7',name:"防护设备拆除"},
  44. {color:'#F5319D',name:"高温及其他危险作业"},
  45. {color:'#86909C',name:"盲板抽堵作业"}
  46. ]
  47. }
  48. },
  49. mounted() {
  50. },
  51. }
  52. </script>
  53. <style lang="scss" scoped>
  54. #layout{
  55. &{
  56. width: 100%;
  57. height: calc(100% - 11.82vh);
  58. position: absolute;
  59. top: 11.78vh;
  60. }
  61. .layout-cont{
  62. width: 100%;
  63. height: 100%;
  64. // border: 1px solid rgb(0, 255, 213);
  65. box-sizing: border-box;
  66. .map{
  67. // 2420.41*1868.11
  68. display: block;
  69. width: 63.03vw;
  70. height: 86.49vh;
  71. margin: 0 auto;
  72. // border: 1px solid red;
  73. img{
  74. width: 100%;
  75. height: 100%;
  76. }
  77. }
  78. .map-card{
  79. padding:0.8vw;
  80. position: absolute;
  81. box-sizing: border-box;
  82. background: linear-gradient( rgba(4, 58, 152, 0.2),rgba(4, 58, 152, 0.4));
  83. background-image: radial-gradient(
  84. rgba(39, 115, 255, 0.1) 50%,
  85. rgba(39, 115, 255, 0.2),
  86. rgba(39, 115, 255, 0.5));
  87. .title{
  88. color: #fff;
  89. font-size: 1.2vh;
  90. line-height: 1;
  91. font-weight: bold;
  92. padding-bottom: 0.1vh;
  93. font-family: Microsoft YaHei UI;
  94. }
  95. &.lb{
  96. min-width: 7.92%;
  97. bottom:4.76vh;
  98. left: 2%;
  99. }
  100. &.rt{
  101. top: 1.5vh;
  102. right: 2%;
  103. min-width:13.33% ;
  104. .title{
  105. color: #0075ff;
  106. }
  107. }
  108. .item{
  109. position: relative;
  110. color: #fff;
  111. font-size: 1.5vh;
  112. line-height: 1;
  113. margin-top: 1.6vh;
  114. text-indent: 1.5vw;
  115. display: flex;
  116. justify-content: space-between;
  117. .number{
  118. font-family: 'YouSheBiaoTiHei';
  119. }
  120. &::before{
  121. display: block;
  122. content: "";
  123. width: 1vw;
  124. height: 0.6vw;
  125. background-color: red;
  126. position: absolute;
  127. left: 0;
  128. top: 0.12vh;
  129. border: 2px solid #000;
  130. }
  131. &.custom::before{
  132. display: none;
  133. }
  134. &.custom .icon{
  135. display: block;
  136. width: 1vw;
  137. height: 0.6vw;
  138. background-color: red;
  139. position: absolute;
  140. left: 0;
  141. top: 0.12vh;
  142. border: 2px solid #000;
  143. }
  144. &.level-1::before{
  145. background-color: #FF6100;
  146. }
  147. &.level-2::before{
  148. background-color: #FFFF00;
  149. }
  150. &.level-3::before{
  151. background-color: #0000FF;
  152. }
  153. // 作业项目
  154. &.project-1::before{
  155. background-color: #F53F3F;
  156. }
  157. &.project-2::before{
  158. background-color: #F49062;
  159. }
  160. &.project-3::before{
  161. background-color: #CC5120;
  162. }
  163. &.project-4::before{
  164. background-color: #165DFF;
  165. }
  166. &.project-5::before{
  167. background-color: #FADC19;
  168. }
  169. &.project-6::before{
  170. background-color: #9FDB1D;
  171. }
  172. &.project-7::before{
  173. background-color: #00B42A;
  174. }
  175. &.project-8::before{
  176. background-color: #14C9C9;
  177. }
  178. &.project-9::before{
  179. background-color: #3491FA;
  180. }
  181. &.project-10::before{
  182. background-color: #722ED1;
  183. }
  184. &.project-11::before{
  185. background-color: #E744E7;
  186. }
  187. &.project-12::before{
  188. background-color: #F5319D;
  189. }
  190. &.project-13::before{
  191. background-color: #86909C;
  192. }
  193. }
  194. }
  195. }
  196. }
  197. </style>