preview_v1.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  1. <template>
  2. <div id="body">
  3. <div id="index">
  4. <!--顶部标题-->
  5. <el-row class="head-title">
  6. <el-col :span="1">
  7. <div class="grid-content title_r"></div>
  8. </el-col>
  9. <el-col :span="7">
  10. <div class="grid-content title_l">
  11. <img class="icon_shdq" src="../../assets/screen/icon_shdq.png">
  12. </div>
  13. </el-col>
  14. <el-col :span="8">
  15. <div class="grid-content title">工服鲁班® 智能装备管理平台</div>
  16. </el-col>
  17. <el-col :span="7">
  18. <!-- <div class="grid-content title_r">
  19. <img class="icon_lb" src="../../assets/screen/icon_lb.png">
  20. </div> -->
  21. </el-col>
  22. <el-col :span="1">
  23. <div class="grid-content"></div>
  24. </el-col>
  25. </el-row>
  26. <el-row class="time-box-row">
  27. <!--时间日期栏-->
  28. <el-col :span="1">
  29. <div class="grid-content"></div>
  30. </el-col>
  31. <el-col :span="22">
  32. <div class="grid-content">
  33. <span class="time-box fl time-box-left">
  34. <!-- <i class="el-icon-time" style="color:#3fd5f1;"></i>&nbsp; <span>{{date}}</span> -->
  35. </span>
  36. <span class="time-box fr time-box-right" ><i class="el-icon-time" style="color:#3fd5f1;"></i>&nbsp; {{date}}</span></div>
  37. </el-col>
  38. <el-col :span="1">
  39. <div class="grid-content"></div>
  40. </el-col>
  41. </el-row>
  42. <el-row>
  43. <el-col :span="1">
  44. <div class="grid-content"></div>
  45. </el-col>
  46. <el-col :span="6">
  47. <!--服务螺栓 左上-->
  48. <div class="grid-content left-chart">
  49. <i class="topL"></i>
  50. <i class="topR"></i>
  51. <i class="bottomL"></i>
  52. <i class="bottomR"></i>
  53. <div class="left-chart1-box">
  54. <div class="left-chart1-box-contnet"></div>
  55. <div class="left-chart1-box-contnet">服务螺栓:<i class="box-number">501</i></div>
  56. <div class="left-chart1-box-contnet">服务风机:<i class="box-number">1545</i></div>
  57. <div class="left-chart1-box-contnet">服务风场:<i class="box-number">501</i></div>
  58. <div class="left-chart1-box-contnet"></div>
  59. </div>
  60. <div class="left-chart1-box">
  61. <base-bar :options="barOptions" width="100%" height="100%" theme="shine" />
  62. </div>
  63. </div>
  64. <!--服务螺栓 左中-->
  65. <div class="grid-content left-chart">
  66. <i class="topL"></i>
  67. <i class="topR"></i>
  68. <i class="bottomL"></i>
  69. <i class="bottomR"></i>
  70. <base-pie :options="pieOptions" width="100%" theme="shine" />
  71. </div>
  72. <!--作业动态 左下-->
  73. <div class="grid-content left-chart">
  74. <i class="topL"></i>
  75. <i class="topR"></i>
  76. <i class="bottomL"></i>
  77. <i class="bottomR"></i>
  78. <table width="100%" border=0 class="task-table" style="border-collapse:collapse;border:none;">
  79. <tr>
  80. <th colspan="4" class="task-header">作业动态</th>
  81. </tr>
  82. <tr align="center">
  83. <th></th>
  84. <th>机位号</th>
  85. <th>工作位置</th>
  86. <th>操作人</th>
  87. </tr>
  88. <tr align="center" v-for="(item,index) in workData" :key="index">
  89. <td><span class="table-index">{{index+1}}</span></td>
  90. <td>A0001B</td>
  91. <td>固定轴—机座</td>
  92. <td>员工1</td>
  93. </tr>
  94. </table>
  95. </div>
  96. </el-col>
  97. <el-col :span="10">
  98. <!--中间地图-->
  99. <!-- <baidu-map class="center-map" :center="center" :zoom="zoom" @ready="mapInit">
  100. <bml-marker-clusterer :averageCenter="true">
  101. <bm-marker v-for="(marker,index) of windMarkers" :key="index+200" :position="{lng: marker.lng, lat: marker.lat}" :icon="{url: 'https://rlfd.oss-cn-hangzhou.aliyuncs.com/smart_tool/wind_32.png', size: {width: 32, height: 32}}"></bm-marker>
  102. </bml-marker-clusterer>
  103. </baidu-map> -->
  104. <div class="grid-content center-map">
  105. <i class="topL"></i>
  106. <i class="topR"></i>
  107. <i class="bottomL"></i>
  108. <i class="bottomR"></i>
  109. <!--地图右下统计-->
  110. <div class="map-right-bottom">
  111. <div class="center-alarm-label">
  112. <div class="alarm-label-title">区域</div>
  113. <div class="alarm-label-value normal-value" >设备</div>
  114. </div>
  115. <div class="center-alarm-label">
  116. <div class="alarm-label-title">华北大区</div>
  117. <div class="alarm-label-value normal-value" >21</div>
  118. </div>
  119. <div class="center-alarm-label">
  120. <div class="alarm-label-title">东北大区</div>
  121. <div class="alarm-label-value alarm-value">24</div>
  122. </div>
  123. <div class="center-alarm-label">
  124. <div class="alarm-label-title">西北大区</div>
  125. <div class="alarm-label-value contact-value">24</div>
  126. </div>
  127. <div class="center-alarm-label">
  128. <div class="alarm-label-title">南部大区</div>
  129. <div class="alarm-label-value other-value">32</div>
  130. </div>
  131. <div class="center-alarm-label">
  132. <div class="alarm-label-title">中部大区</div>
  133. <div class="alarm-label-value other-value">321</div>
  134. </div>
  135. <div class="center-alarm-label">
  136. <div class="alarm-label-title">内蒙大区</div>
  137. <div class="alarm-label-value other-value">14</div>
  138. </div>
  139. <div class="center-alarm-label">
  140. <div class="alarm-label-title">江苏大区</div>
  141. <div class="alarm-label-value other-value">234</div>
  142. </div>
  143. </div>
  144. <div class="map-left-bottom">
  145. <div class="map-left-bottom-head">设备状态颜色</div>
  146. <div> <span class="map-left-bottom-title">3天内使用</span> <span class="map-left-bottom-color1"></span></div>
  147. <div> <span class="map-left-bottom-title">静止状态</span> <span class="map-left-bottom-color2"></span></div>
  148. </div>
  149. <base-map width="100%" :options="mapOptions" />
  150. </div>
  151. <div class="grid-content center-bottom">
  152. <i class="topL"></i>
  153. <i class="topR"></i>
  154. <i class="bottomL"></i>
  155. <i class="bottomR"></i>
  156. <!--地图下方频繁告警区域统计-->
  157. <div class="center-bottom-left">
  158. <base-bar :options="barPlanOptions" width="100%" height="100%" theme="shine" />
  159. </div>
  160. <div class="center-bottom-right">
  161. <div class="center-bottom-right-box">
  162. <base-pie :options="pieCenterOptions" width="100%" theme="shine" />
  163. </div>
  164. <div class="center-bottom-right-box">
  165. <base-pie :options="pieStateOptions" width="100%" theme="shine" />
  166. </div>
  167. </div>
  168. </div>
  169. </el-col>
  170. <el-col :span="6">
  171. <!--右边月告警曲线图-->
  172. <div class="grid-content right-chart">
  173. <i class="topL"></i>
  174. <i class="topR"></i>
  175. <i class="bottomL"></i>
  176. <i class="bottomR"></i>
  177. <div class="right-chart-right-box">
  178. <base-line :options="lineOptions" width="100%" theme="shine" />
  179. </div>
  180. <div class="right-chart-left-box">
  181. <base-pie :options="pieRightOptions" width="100%" theme="shine" />
  182. </div>
  183. <!-- <base-line :options="lineOptions" width="100%" theme="shine" /> -->
  184. </div>
  185. <div class="grid-content right-chart2">
  186. <i class="topL"></i>
  187. <i class="topR"></i>
  188. <i class="bottomL"></i>
  189. <i class="bottomR"></i>
  190. <!-- <base-pie :options="pieFaultOptions" width="100%" theme="shine" /> -->
  191. <div class="grid-content alarm-title">检测结果</div>
  192. <scroll :alarmData="alarmData" />
  193. </div>
  194. <!-- <div class="grid-content right-chart">
  195. <i class="topL"></i>
  196. <i class="topR"></i>
  197. <i class="bottomL"></i>
  198. <i class="bottomR"></i>
  199. <base-pie :options="pieDeviceOptions" width="100%" theme="shine" />
  200. </div> -->
  201. </el-col>
  202. <el-col :span="1">
  203. <div class="grid-content"></div>
  204. </el-col>
  205. </el-row>
  206. <div class="back-btn" @click="fullscreen"> <i class="el-icon-full-screen"></i> <br/> <a>{{screen_title}}</a></div>
  207. </div>
  208. </div>
  209. </template>
  210. <script>
  211. import BasePie from "./Charts/BasePieChart";
  212. import BaseBar from "@/components/Charts/BaseBarChart";
  213. import BaseLine from "@/components/Charts/BaseLineChart";
  214. import BaseMap from "@/components/Charts/BaseMapChart";
  215. import scroll from "./scroll";
  216. import {BmlMarkerClusterer} from 'vue-baidu-map'
  217. export default {
  218. name: "screen_screen",
  219. components: {
  220. BasePie,
  221. BaseBar,
  222. BaseLine,
  223. BaseMap,
  224. scroll,
  225. BmlMarkerClusterer
  226. },
  227. props:['date','nowWeek','workData','deviceStatusData','pieCenterOptions','pieOptions','pieRightOptions','alarmData','pieStateOptions','pieFaultOptions','pieDeviceOptions','barPlanOptions','barOptions','lineOptions','mapOptions'],
  228. data() {
  229. return {
  230. center:'中国',
  231. zoom:5,
  232. markers:[],
  233. isFullFlag:false,
  234. screen_title:'全屏',
  235. windMarkers:[],
  236. }
  237. },
  238. methods: {
  239. // mapInit({ BMap, map }) {
  240. // this.map = map;
  241. // // 初始化地图,设置中心点坐标
  242. // this.map.setMapStyle({style:'dark'});
  243. // map.enableScrollWheelZoom();
  244. // for (let i = 0; i < 200; i++) {
  245. // const position = {lng: Math.random() * 40 + 85, lat: Math.random() * 30 + 21}
  246. // this.windMarkers.push(position)
  247. // }
  248. // },
  249. fullscreen(){
  250. this.isFullFlag =!this.isFullFlag
  251. if(this.isFullFlag){
  252. this.screen_title='退出'
  253. var el =document.getElementById('content');
  254. var rfs = el.requestFullScreen ||
  255. el.webkitRequestFullScreen ||
  256. el.mozRequestFullScreen ||
  257. el.msRequestFullScreen,
  258. wscript
  259. if (typeof rfs != "undefined" && rfs) {
  260. rfs.call(el);
  261. return;
  262. }
  263. if (typeof window.ActiveXObject != "undefined") {
  264. wscript = new ActiveXObject("WScript.Shell");
  265. if (wscript) {
  266. wscript.SendKeys("{F11}");
  267. }
  268. }
  269. }else{
  270. this.screen_title='全屏'
  271. document.exitFullscreen();
  272. }
  273. },
  274. }
  275. };
  276. </script>
  277. <style lang="scss" scoped>
  278. @import "./index_v1.scss";
  279. </style>