index.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486
  1. <template>
  2. <div class="dashboard-editor-container">
  3. <div class="layout-1">
  4. <el-row :gutter="24">
  5. <el-col class="gutter-row item item1" :span="8">
  6. <div class="gutter-box">
  7. <div class="gutter-box-title">风场统计</div>
  8. <div class="count-to-box">
  9. <span class="text">总数</span>
  10. <span class="number" @click="redirectPage('departments')">
  11. <i class="el-icon-loading" v-if="showLoading"></i>
  12. <countTo v-else :startVal='startVal' :endVal='countData.department_count' :duration='duration'></countTo>
  13. </span>
  14. </div>
  15. </div>
  16. </el-col>
  17. <el-col class="gutter-row item item2" :span="8">
  18. <div class="gutter-box">
  19. <div class="gutter-box-title">风机统计</div>
  20. <div class="count-to-box">
  21. <span class="text">总数</span>
  22. <span class="number" @click="redirectPage('departments')">
  23. <i class="el-icon-loading" v-if="showLoading"></i>
  24. <countTo v-else :startVal='startVal' :endVal='countData.department_count' :duration='duration'></countTo>
  25. </span>
  26. </div>
  27. </div>
  28. </el-col>
  29. <el-col class="gutter-row item item3" :span="8">
  30. <div class="gutter-box">
  31. <div class="gutter-box-title">工具统计</div>
  32. <div class="count-to-box">
  33. <span class="text">总数</span>
  34. <el-popover
  35. placement="bottom"
  36. width="600"
  37. trigger="hover">
  38. <div>
  39. <device-table :tableData="table_data" />
  40. </div>
  41. <span slot="reference" class="number">
  42. <i class="el-icon-loading" v-if="showLoading"></i>
  43. <countTo v-else :startVal='startVal' :endVal='countData.device_total_count' :duration='duration'></countTo>
  44. </span>
  45. </el-popover>
  46. </div>
  47. <div class="count-to-box">
  48. <span class="text">故障数</span>
  49. <span class="number" @click="redirectPage('school')">
  50. <i class="el-icon-loading" v-if="showLoading"></i>
  51. <countTo v-else :startVal='startVal' :endVal='countData.device_online_count' :duration='duration'></countTo>
  52. </span>个
  53. </div>
  54. </div>
  55. </el-col>
  56. </el-row>
  57. </div>
  58. <div class="layout-2">
  59. <!-- 使用情况 -->
  60. <el-row :gutter="16">
  61. <el-col class="gutter-row item" :span="24">
  62. <device-use-chart :countData="useCountData" :total="useCountData.device_total_count" />
  63. </el-col>
  64. </el-row>
  65. <!-- 故障分析 -->
  66. <el-row :gutter="16">
  67. <el-col class="gutter-row item" :span="24">
  68. <device-data-chart :countData="countData" :total="countData.device_total_count" />
  69. </el-col>
  70. </el-row>
  71. <!-- 告警图表 -->
  72. <el-row :gutter="16">
  73. <!-- 告警提醒 -->
  74. <el-col class="gutter-row item" :span="8">
  75. <device-alarm-message />
  76. </el-col>
  77. <!-- 告警数据 -->
  78. <el-col class="gutter-row item" :span="16">
  79. <!-- <device-alarm-chart :statsData="statsData" /> -->
  80. <normal-card
  81. showHeader
  82. showMenu
  83. title="告警数据"
  84. shadow="always"
  85. trigger="hover"
  86. :menuItems="alarmGrowthMenuItems"
  87. :bodyStyle="{height: '310px'}"
  88. >
  89. <template v-slot:content>
  90. <total-alarm-growth width="100%" />
  91. </template>
  92. </normal-card>
  93. </el-col>
  94. </el-row>
  95. <!-- 维保记录 -->
  96. <el-row :gutter="16">
  97. <normal-card
  98. trigger="hover"
  99. shadow="always"
  100. title="维保记录"
  101. showMenu
  102. :bodyStyle="{height: '500px'}"
  103. >
  104. <template v-slot:content>
  105. <!--压力分析-->
  106. <el-col class="gutter-row item" :span="12">
  107. <!-- <device-alarm-chart :statsData="statsData" /> -->
  108. <normal-card
  109. showHeader
  110. showMenu
  111. title="压力分析"
  112. shadow="always"
  113. trigger="hover"
  114. :menuItems="alarmGrowthMenuItems"
  115. :bodyStyle="{height: '400px'}"
  116. >
  117. <template v-slot:content>
  118. <maintenance-alarm-chart width="100%" :options="pressure" />
  119. </template>
  120. </normal-card>
  121. </el-col>
  122. <!--压力分析-->
  123. <el-col class="gutter-row item" :span="12">
  124. <!-- <device-alarm-chart :statsData="statsData" /> -->
  125. <normal-card
  126. showHeader
  127. showMenu
  128. title="扭矩分析"
  129. shadow="always"
  130. trigger="hover"
  131. :menuItems="alarmGrowthMenuItems"
  132. :bodyStyle="{height: '400px'}"
  133. >
  134. <template v-slot:content>
  135. <maintenance-alarm-chart width="100%" :options="torque" />
  136. </template>
  137. </normal-card>
  138. </el-col>
  139. </template>
  140. </normal-card>
  141. </el-row>
  142. </div>
  143. </div>
  144. </template>
  145. <script>
  146. import countTo from 'vue-count-to'
  147. import NormalCard from '@/components/Card/NormalCard'
  148. import StationDataChart from './components/StationDataChart'
  149. import DeviceDataChart from './components/DeviceDataChart'
  150. import DeviceUseChart from './components/DeviceUseChart'
  151. import DeviceAlarmMessage from './components/DeviceAlarmMessage'
  152. import TotalAlarmGrowth from './components/TotalAlarmGrowth'
  153. import StationTable from './components/StationTable'
  154. import DeviceTable from './components/DeviceTable'
  155. import MaintenanceAlarmChart from './components/MaintenanceAlarmChart'
  156. export default {
  157. name: 'DashboardAdmin',
  158. components: {
  159. countTo,
  160. NormalCard,
  161. StationDataChart,
  162. DeviceDataChart,
  163. DeviceUseChart,
  164. TotalAlarmGrowth,
  165. DeviceAlarmMessage,
  166. StationTable,
  167. DeviceTable,
  168. MaintenanceAlarmChart
  169. },
  170. deactivated() {
  171. // 选中本页面时重新加载,以便获取最新数据
  172. var cached = this.$store.state.tagsView.cachedViews.filter(item => {
  173. return item != "Dashboard"
  174. })
  175. this.$store.state.tagsView.cachedViews = cached
  176. },
  177. data() {
  178. return {
  179. statsData: {}, // 统计数据
  180. cardColors: {},
  181. duration: 3000,
  182. showLoading: true,
  183. // showAddLoading: true,
  184. startVal: 0,
  185. useCountData:{
  186. device_total_count:115,
  187. device_type_data:[
  188. {
  189. 'text': "液压泵",
  190. 'total': 40,
  191. },
  192. {
  193. 'text': "液压扳手",
  194. 'total': 75,
  195. }
  196. ]
  197. },
  198. //维保记录规律统计
  199. <<<<<<< HEAD
  200. torque:{
  201. name:"扭矩",
  202. url:'',
  203. },
  204. pressure:{
  205. name:'压力',
  206. url:''
  207. },
  208. //
  209. =======
  210. Maintenance:{
  211. },
  212. table_data:[
  213. {
  214. 'alarm': 62,
  215. 'online': 31,
  216. 'text': "液压泵",
  217. 'total': 40,
  218. 'value': "0",
  219. },
  220. {
  221. 'alarm': 80,
  222. 'online': 32,
  223. 'text': "液压扳手",
  224. 'total': 75,
  225. 'value': "0",
  226. },
  227. {
  228. 'alarm': 80,
  229. 'online': 32,
  230. 'text': "其他",
  231. 'total': 100,
  232. 'value': "0",
  233. },
  234. ],
  235. >>>>>>> 30c9f6aee676707746ad5265ca62f6ecba845c15
  236. countData: {
  237. department_count:24,
  238. device_online_count:31,
  239. device_total_count:215,
  240. device_type_data:[
  241. {
  242. 'alarm': 62,
  243. 'online': 31,
  244. 'text': "液压油偏低",
  245. 'total': 40,
  246. 'value': "0",
  247. },
  248. {
  249. 'alarm': 80,
  250. 'online': 32,
  251. 'text': "液压油偏高",
  252. 'total': 75,
  253. 'value': "0",
  254. },
  255. {
  256. 'alarm': 80,
  257. 'online': 32,
  258. 'text': "液压扳手故障",
  259. 'total': 100,
  260. 'value': "0",
  261. },
  262. ]
  263. },
  264. alarmGrowthMenuItems: [
  265. {
  266. name: '全屏',
  267. command: 'full',
  268. icon: 'full-screen',
  269. }
  270. ]
  271. }
  272. },
  273. created() {
  274. this.$appConfig.netState && this.$appConfig.netState.forEach(item => {
  275. this.cardColors[item.value] = item.color
  276. })
  277. // 查询近期统计数据
  278. this.getHomePageCountData()
  279. },
  280. methods: {
  281. /**
  282. * 获取首页数量数据
  283. */
  284. getHomePageCountData() {
  285. // this.$http.get('total/getHomePageCountData')
  286. // .then((resp) => {
  287. // if(resp.code == 10000){
  288. // this.countData = resp.data
  289. this.showLoading = false
  290. // }
  291. // })
  292. },
  293. redirectPage(type) {
  294. let path = '';
  295. switch(type) {
  296. case 'departments':
  297. path = '/permissions/departments'
  298. break;
  299. case 'student':
  300. path = '/schoolsys/student'
  301. break;
  302. default:
  303. break;
  304. }
  305. this.$router.push({ path: path})
  306. }
  307. }
  308. }
  309. </script>
  310. <style lang='scss' scoped>
  311. .dashboard-editor-container {
  312. padding: 20px;
  313. background-color: rgb(240, 242, 245);
  314. position: relative;
  315. .chart-wrapper {
  316. background: #fff;
  317. padding: 16px 16px 0;
  318. margin-bottom: 32px;
  319. }
  320. }
  321. @media (max-width:1024px) {
  322. .chart-wrapper {
  323. padding: 8px;
  324. }
  325. }
  326. .layout-1 {
  327. margin-bottom: 25px;
  328. .item {
  329. color: #fff;
  330. .gutter-box {
  331. height: 160px;
  332. border-radius: 5px;
  333. box-shadow: 0 4px 5px rgba(0,0,0,.15);
  334. .today-add {
  335. font-size: 12px;
  336. .number {
  337. padding-left: 10px;
  338. font-size: 22px;
  339. font-family: Arial,"Helvetica Neue",Helvetica,sans-serif;
  340. span:hover {
  341. cursor: pointer;
  342. color: #000;
  343. }
  344. }
  345. display: flex;
  346. margin-left: 20px;
  347. height: 46px;
  348. line-height: 46px;
  349. }
  350. .gutter-box-title {
  351. font-size: 1.5rem;
  352. margin-left: 20px;
  353. height: 46px;
  354. line-height: 46px;
  355. }
  356. }
  357. }
  358. .item1 > .gutter-box{
  359. background: url('data:image/png;base64,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') 20px 48px no-repeat #32c5d2;
  360. background-position: 80%;
  361. }
  362. .item2 > .gutter-box{
  363. background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABUFJREFUeF7tmo2RDUEQgLsjQASIABEgAicCRIAIEAEiQASIABE4ESACRNDqe9X9am7sz+xsn3tbd1N19eq9m52d/qb/pmdUVjYzeysir1T1eOVQZ/K4rn2rmX0WkUuqemvtWGfxfBaA2yJyV1WBsamWAeCDiNwTkY+qerQp6UUkA8BzEXnmgl9R1d9bgpABgFV/70I/VdVX5w3ANRH57kJ/UdU75woAwpoZan9pi2aw2gQcQDhCvt5XVb5vomUBeCIiL13i16rK9/RmZtdU9UfmwFkASj9wfBpJkZk9FJGj7FCbAsDNgJW5elp+wMwwq8vZTjYTAOHvsQNIzwrN7JeIfDtkADdF5KsDeKGqJEgpDdv3UJseZtM0oDKDd6qKzaY0MyO3+CQiBw8gokHqRM0s0u3UcVmdbA24LCI4QyJBWka4GQBuBqzWnWQAkWil5xipGuAAcFjYK5rwQVVfr3UEXnSh5pDqXE/DBMqEKOR+q6qP1kAoAKSH11QN8PrggwFhr69JYQsAq8YZWoRsAJTEUNW6PY0cQVW/LNUGB3BTVXGyqS0bQLkpion+FBG2yzeKmfOdKjLA+CS8jVaSHMCPzNwi5pIGwMxQfSrDrFKYAcKzgTn2zQwRIvYL9UoGEJKoEyV2MwMsANK32asBeJr6htAXXtozNyBQIjuxsmZGCY0skULqWOMZhCWCIDxjoS3UGlJrjqsAmBn5PyGPVf/mEBAQIDRW7fqQlGbGM/QFHJ9RURrSDH5jnM8Hsx12lQ5B/3jyg6rXjrApdDlMYPAH2NpUWHl8RWrpvUsDKuFZnUeqyhEZ9cEuAP4sgqPuQMB/YAbxncSK3x6uCam1ei0GMCD8iexsKQA3BYTE1kmkaJgTgqJRoRXhGCnBA4b3rj6PXARgQPh/tr2tANx5UkDBIUZ8x5Sel2cLZhaFFuz/bjUH/geIbsfYDKBFeFdjKjdlwnLCB/iKI3hZMEFwhOGUuY4ato/Zqrv5VnPBNDDBrnPJJgCtwvvk9hP2ie9NxEMgjjMAYdOAYNM0uIpmVo63P3pz08AUInqgOS+WpomzANw7R6mL8SerPdWE6b8DYGYIjrojNKvVdKegGm9Im4AQ6ffiXGESgKsrx16xYrNnfxMAcGa/lzquKQCx2p4pxrkEjhGTaHKQcwBIcpg4NvokQt2Umo0BWKqahXClCYzmFO5UCcVoA+ZE31kIowAKu9+HpBYhMgEUxdB49WxS5X4Gv8KtlcEstJRjCsDOSy8tb581gEJzSKpIxSdD5KwTbFn1ss+hAGid9wWAVlIt/YrYjDNC9di4kMF1nRb3+ICWeTb5gKUDeRJExCCfp/rDJ3GZ5KXrmMwBkDsAlLGx6d2mK6udhgmQN8Smhnl2X5jwPIT4DoRdgaQ35R0DlgpgIGvkvd3X5wbGm03ElmpGNoA4xCzn0X2e5zE9bqDt0+qlQk71P3QA5R3ECwBbOBrLNoHNaUB5azRMb40P2ByAesJAGC2Nzzmz4l5AdD340+EhAGyoupztAIBubfpfecAFgOLq/B76hQb0mwB5f3nf4NyZQH3KdO4AlLdPV+0rtuoEy9unyLA/g5wLoa3/7wpPY4OP3RHqdYJeY2BrTYZJYSX1qjzjZwMYuyN0q6VEXYI1M0ryQ43EatWts3LQbAC1ze7e1aMBngSNAUirCmUDQF05jChve6Tf7my175Z+qQDihV7IwIFxZzj9YlOLYK19UgB46SrO5sbezUam6wi7VZieflkABvcA1YTSk5gegetnsgBQtY0LU1Ma0FUezxB0bIy/btHcX/xYkBwAAAAASUVORK5CYII=') 20px 48px no-repeat #32c5d2;
  364. background-position: 80%;
  365. }
  366. .item3 > .gutter-box{
  367. background: url('data:image/png;base64,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') 20px 48px no-repeat #32c5d2;
  368. background-position: 80%;
  369. }
  370. .item5 > .gutter-box {
  371. background: #00bcd4 url('/icons/student_104.png') 20px 38px no-repeat;
  372. // #e7505a
  373. }
  374. .count-to-box {
  375. margin-left: 20px;
  376. margin-right: 20px;
  377. text-align: left;
  378. // position: relative;
  379. // right: 50px;
  380. .text {
  381. display: inline-block;
  382. width: 100px;
  383. font-size: 16px;
  384. height: 28px;
  385. line-height: 28px;
  386. }
  387. .number {
  388. font-family: Arial,"Helvetica Neue",Helvetica,sans-serif;
  389. font-size: 2rem;
  390. height: 52px;
  391. line-height: 52px;
  392. /* span {
  393. float: right;
  394. width: 100px;
  395. } */
  396. span:hover {
  397. cursor: pointer;
  398. color: #000;
  399. }
  400. }
  401. }
  402. /** 5等分 */
  403. .el-col-5,
  404. .el-col-5,
  405. .el-col-5,
  406. .el-col-5 {
  407. position: relative;
  408. min-height: 1px;
  409. padding-right: 10px;
  410. padding-left: 10px;
  411. }
  412. .el-col-5 {
  413. width: 20%;
  414. float: left;
  415. }
  416. @media (min-width: 768px) {
  417. .el-col-5 {
  418. width: 20%;
  419. float: left;
  420. }
  421. }
  422. @media (min-width: 992px) {
  423. .el-col-5 {
  424. width: 20%;
  425. float: left;
  426. }
  427. }
  428. @media (min-width: 1200px) {
  429. .el-col-5 {
  430. width: 20%;
  431. float: left;
  432. }
  433. }
  434. }
  435. .layout-2 {
  436. margin-bottom: 25px;
  437. .item {
  438. margin-bottom: 25px;
  439. }
  440. .charts-icon {
  441. float: right;
  442. color: #000;
  443. }
  444. .charts-icon:hover {
  445. cursor: pointer;
  446. }
  447. }
  448. </style>