index.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <template>
  2. <el-col :span="24" class="anquanjiance modular modularTop">
  3. <el-col class="top" >
  4. <span class="biao"></span>
  5. <span class="title">安全监测</span>
  6. </el-col>
  7. <el-row class="wrap">
  8. <el-col class="left" :span="13">
  9. <el-row class="content" >
  10. <el-col :span="12">
  11. <p class="title">本月安防事件</p>
  12. <pie :resData="pieData"/>
  13. </el-col>
  14. <el-col :span="12">
  15. <el-col class="listWrap">
  16. <el-col class="list">
  17. <el-image :src="img5" fit="scale-down"/>
  18. <el-col class="attribute"
  19. >摄像头总数<el-col class="num"
  20. >{{total}}<span class="unit">个</span></el-col
  21. ></el-col
  22. >
  23. </el-col>
  24. <el-col class="list">
  25. <el-image :src="img5" fit="scale-down"/>
  26. <el-col class="attribute"
  27. >本月安防巡更次数<el-col class="num"
  28. >{{xungeng}}<span class="unit">次</span></el-col
  29. ></el-col
  30. >
  31. </el-col>
  32. <el-col class="list">
  33. <el-image :src="img5" fit="scale-down"/>
  34. <el-col class="attribute"
  35. >本月设备巡检次数<el-col class="num"
  36. >{{xunjian}}<span class="unit">次</span></el-col
  37. ></el-col
  38. >
  39. </el-col>
  40. </el-col>
  41. </el-col>
  42. </el-row>
  43. </el-col>
  44. <el-col class="right" :span="10">
  45. <div class="lineL">
  46. <el-image :src="line1"></el-image>
  47. </div>
  48. <el-row class="content">
  49. <el-col :span="16">
  50. <p class="title">巡更准时率</p>
  51. <pie2 :resData="pie2Data"/>
  52. </el-col>
  53. <el-col :span="8">
  54. <el-col class="listWrap" style="margin:20px 0 0 0px">
  55. <el-col class="list">
  56. <el-image :src="img6" fit="scale-down"/>
  57. <el-col class="attribute"
  58. >巡更点位<el-col class="num"
  59. >{{dianwei}}<span class="unit">个</span></el-col
  60. ></el-col
  61. >
  62. </el-col>
  63. <el-col class="list">
  64. <el-image :src="img6" fit="scale-down"/>
  65. <el-col class="attribute"
  66. >巡更任务<el-col class="num"
  67. >{{renwu}}<span class="unit">个</span></el-col
  68. ></el-col
  69. >
  70. </el-col>
  71. </el-col>
  72. </el-col>
  73. </el-row>
  74. </el-col>
  75. </el-row>
  76. </el-col>
  77. </template>
  78. <script>
  79. import img5 from "@/assets/images/5.png";
  80. import img6 from "@/assets/images/6.png";
  81. import pie from "@/components3/anquanjiance/pie.vue";
  82. import pie2 from "@/components3/anquanjiance/pie2.vue";
  83. import line1 from "@/assets/images/line1.png";
  84. export default {
  85. name: "nengyuan",
  86. props:["resInfo"],
  87. components: {
  88. pie,
  89. pie2
  90. },
  91. data() {
  92. return {
  93. img5:img5,
  94. img6:img6,
  95. line1:line1,
  96. pieData:[],
  97. pie2Data:[],
  98. total:null,
  99. xungeng:null,
  100. xunjian:null,
  101. dianwei:null,
  102. renwu:null,
  103. month:null,
  104. day:null
  105. };
  106. },
  107. watch:{
  108. resInfo(val,old){
  109. this.month = new Date().getMonth() + 1
  110. this.day = new Date().getDate()
  111. this.total = val.af.total
  112. this.xungeng = val.af.xungeng * this.day
  113. this.xunjian = val.af.xunjian * this.day
  114. this.dianwei = val.xungeng.dianwei
  115. this.renwu = val.xungeng.renwu
  116. this.pieData = val.af
  117. this.pie2Data = val.xungeng
  118. }
  119. }
  120. };
  121. </script>
  122. <style lang="scss" scoped>
  123. @import '@/assets/styles/common.scss';
  124. .wrap{
  125. color:$white;
  126. >.left,>.right{
  127. margin-left:24px;
  128. .content{
  129. margin-top:20px;
  130. .title{
  131. width:100%;
  132. text-align: center;
  133. margin:-10px auto 10px;
  134. font-size: 20px;
  135. font-weight: 700;
  136. }
  137. .listWrap{
  138. margin-top:-30px;
  139. .list{
  140. margin-top:15px;
  141. .el-image{
  142. width:24px;
  143. vertical-align: top;
  144. display: inline-block;
  145. }
  146. .attribute{
  147. margin-top:-26px;
  148. font-size: 20px;
  149. margin-left: 30px;
  150. .num {
  151. font-size: 25px;
  152. font-family: "微软雅黑";
  153. font-weight: 700;
  154. margin: 0.7vh 0 0 -2px;
  155. .unit {
  156. font-size: 24px;
  157. width: auto;
  158. margin:10px 0 0 0px;
  159. vertical-align: middle;
  160. }
  161. }
  162. }
  163. }
  164. }
  165. }
  166. }
  167. >.right{
  168. position: relative;
  169. .lineL{
  170. height:240px;
  171. position: absolute;
  172. left:-60px;
  173. top:-40px;
  174. }
  175. }
  176. }
  177. </style>