directScreen.vue 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <template>
  2. <div>
  3. <div class="d-tt">直流屏分画面</div>
  4. <div class="d-subtt">主画面</div>
  5. <div class="d-pn">
  6. <table class="d-pn-tb">
  7. <tr v-for="item in dotArr" :key="item.id">
  8. <td width="50%">{{ item.name }}</td>
  9. <td width="25%">{{ item.num }}</td>
  10. <td width="25%">{{ item.unit }}</td>
  11. </tr>
  12. </table>
  13. <div class="d-pn-ul">
  14. <div class="d-pn-ul-li" :data-active="item.status===true" v-for="(item,index) in dataArr" :key="index">{{ item.name }}</div>
  15. </div>
  16. </div>
  17. </div>
  18. </template>
  19. <script>
  20. export default {
  21. data(){
  22. return {
  23. dataArr: [
  24. {
  25. name: '直流屏 一组交流1路缺相'
  26. },
  27. {
  28. name: '直流屏 一组交流1路失电'
  29. },
  30. {
  31. name: '直流屏 一组交流2路缺相'
  32. },
  33. {
  34. name: '直流屏 一组交流2路失电'
  35. },
  36. {
  37. name: '直流屏 一组交流2路投入'
  38. },
  39. {
  40. name: '直流屏 控母1过压'
  41. },
  42. {
  43. name: '直流屏 控母1欠压'
  44. },
  45. {
  46. name: '直流屏 合母1过压'
  47. },
  48. {
  49. name: '直流屏 合母1欠压'
  50. },
  51. {
  52. name: '直流屏 电池1过压'
  53. },
  54. {
  55. name: '直流屏 电池1欠压'
  56. },
  57. {
  58. name: '直流屏 电池组1过流'
  59. },
  60. {
  61. name: '直流屏 一组综合故障'
  62. },
  63. {
  64. name: '直流屏 一组整流模块异常'
  65. }
  66. ],
  67. dotArr: [
  68. {
  69. name: '一组交流1路Uab电压:',
  70. num: 0,
  71. unit: 'V'
  72. },
  73. {
  74. name: '一组交流1路Uac电压:',
  75. num: 0,
  76. unit: 'V'
  77. },
  78. {
  79. name: '一组交流1路Ubc电压:',
  80. num: 0,
  81. unit: 'V'
  82. },
  83. {
  84. name: '一组交流2路Uab电压:',
  85. num: 0,
  86. unit: 'V'
  87. },
  88. {
  89. name: '一组交流2路Uac电压:',
  90. num: 0,
  91. unit: 'V'
  92. },
  93. {
  94. name: '一组交流2路Ubc电压:',
  95. num: 0,
  96. unit: 'V'
  97. },
  98. {
  99. name: '一组合母1电压:',
  100. num: 0,
  101. unit: 'V'
  102. },
  103. {
  104. name: '一组控母1电压:',
  105. num: 0,
  106. unit: 'V'
  107. },
  108. {
  109. name: '一组控母1电流:',
  110. num: 0,
  111. unit: 'A'
  112. },
  113. {
  114. name: '一组电池1电压:',
  115. num: 0,
  116. unit: 'V'
  117. },
  118. {
  119. name: '一组电池1电流:',
  120. num: 0,
  121. unit: 'A'
  122. },
  123. {
  124. name: '一组电池温度:',
  125. num: 0,
  126. unit: '度'
  127. }
  128. ]
  129. }
  130. },
  131. props:{
  132. datas: {
  133. type: Object,
  134. default: () => {}
  135. }
  136. },
  137. watch: {
  138. datas(val){
  139. this.funSetDot(val)
  140. }
  141. },
  142. methods: {
  143. funSetDot(obj){
  144. this.dotArr[0].num = obj.akai083
  145. this.dotArr[1].num = obj.akai084
  146. this.dotArr[2].num = obj.akai085
  147. this.dotArr[3].num = obj.akai086
  148. this.dotArr[4].num = obj.akai087
  149. this.dotArr[5].num = obj.akai088
  150. this.dotArr[6].num = obj.akai089
  151. this.dotArr[7].num = obj.akai090
  152. this.dotArr[8].num = obj.akai091
  153. this.dotArr[9].num = obj.akai092
  154. this.dotArr[10].num = obj.akai093
  155. this.dotArr[11].num = obj.akai094
  156. this.dataArr[0].status = obj.akdi222
  157. this.dataArr[1].status = obj.akdi223
  158. this.dataArr[2].status = obj.akdi229
  159. this.dataArr[3].status = obj.akdi230
  160. this.dataArr[4].status = obj.akdi231
  161. this.dataArr[5].status = obj.akdi232
  162. this.dataArr[6].status = obj.akdi233
  163. this.dataArr[7].status = obj.akdi234
  164. this.dataArr[8].status = obj.akdi235
  165. this.dataArr[9].status = obj.akdi236
  166. this.dataArr[10].status = obj.akdi239
  167. this.dataArr[11].status = obj.akdi244
  168. }
  169. },
  170. created(){
  171. this.funSetDot(this.datas)
  172. }
  173. }
  174. </script>
  175. <style lang="less" scoped>
  176. .d-tt{
  177. font-size: 24px;
  178. color: white;
  179. height: 30px;
  180. line-height: 30px;
  181. text-align: center;
  182. }
  183. .d-subtt{
  184. font-size: 20px;
  185. color: white;
  186. height: 24px;
  187. line-height: 24px;
  188. padding-left: 10px;
  189. }
  190. .d-pn{
  191. width: 100%;
  192. margin-top: 10px;
  193. display: flex;
  194. border: 2px solid rgba(255,255,255,0.6);
  195. height: 467px;
  196. .d-pn-tb{
  197. width: 70%;
  198. margin-top: 10px;
  199. margin-bottom: 20px;
  200. margin-right: 20px;
  201. margin-left: 20px;
  202. border: 1px solid rgba(255,255,255,0.6);
  203. border-collapse: collapse;
  204. td{
  205. border: 1px solid rgba(255,255,255,0.6);
  206. text-align: right;
  207. padding-right: 10px;
  208. height: 36px;
  209. color: rgba(255,255,255,0.75);
  210. font-size: 16px;
  211. font-weight: bold;
  212. &:last-child{
  213. text-align: center;
  214. }
  215. &:nth-child(2){
  216. color: rgb(41, 238, 14);
  217. }
  218. }
  219. }
  220. .d-pn-ul{
  221. width: 100%;
  222. padding: 20px 30px 0 20px;
  223. border-left: 2px solid rgba(255,255,255,0.6);
  224. display: flex;
  225. flex-wrap: wrap;
  226. align-items: flex-start;
  227. align-content: flex-start;
  228. overflow-y: auto;
  229. overflow-x: hidden;
  230. .d-pn-ul-li{
  231. width: 44%;
  232. height: 40px;
  233. // line-height: 40px;
  234. margin-bottom: 20px;
  235. background-image: linear-gradient(to bottom, rgb(145, 145, 240),rgb(245, 245, 245),rgb(145, 145, 233));
  236. color: rgb(0, 0, 179);
  237. font-size: 16px;
  238. text-align: center;
  239. border-radius: 6px;
  240. margin-right: 10px;
  241. display: flex;
  242. font-size: 14px;
  243. align-items: center;
  244. justify-content: center;
  245. &[data-active='true']{
  246. background-image: linear-gradient(to bottom, red,rgb(243, 136, 128),red);
  247. color: rgb(255, 196, 0);
  248. }
  249. }
  250. }
  251. }
  252. </style>