StorageInfo.vue 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <template>
  2. <view class="storage-item" >
  3. <view class="container">
  4. <BatteryStatus
  5. :storeCode="storeCode"
  6. :comState="comState"
  7. :sn="sn"
  8. :soc="soc"
  9. :chgEstimatedTime="chgEstimatedTime"
  10. ></BatteryStatus>
  11. <view class="battery-info">
  12. <BatteryInfo :num="current" unit="A" text="电流"></BatteryInfo>
  13. <BatteryInfo :num="voltage" unit="V" text="电压"></BatteryInfo>
  14. <BatteryInfo :num="minTemperature" unit="℃" text="最低温度"></BatteryInfo>
  15. <BatteryInfo :num="maxTemperature" unit="℃" text="最高温度"></BatteryInfo>
  16. <BatteryInfo :num="maxCellVoltage" unit="V" text="最高单体电压"></BatteryInfo>
  17. <BatteryInfo :num="minCellVoltage" unit="V" text="最低单体电压"></BatteryInfo>
  18. <BatteryInfo :num="soh" unit="%" text="SOH"></BatteryInfo>
  19. <view class="info-right">
  20. <image class="s1" src="../../../static/equipment/s1.png"><text class="text">{{StateNum}}</text>
  21. </view>
  22. </view>
  23. <view class="battery-charger">
  24. <BatteryCharger
  25. :chargerCode="chargerInfoVo.chargerCode"
  26. :comState="chargerInfoVo.comState"
  27. :chgState="chargerInfoVo.chgState"
  28. :sn="sn"
  29. :storeState="storeState"
  30. v-show="chargerInfoVo.chargerCode"></BatteryCharger>
  31. <view class="battery-info" v-show="chargerInfoVo.chargerCode">
  32. <BatteryInfo :num="chargerInfoVo.demandCurrent" unit="A" text="需求电流"></BatteryInfo>
  33. <BatteryInfo :num="chargerInfoVo.demandVoltage" unit="V" text="需求电压"></BatteryInfo>
  34. <BatteryInfo :num="chargerInfoVo.chgCurrent" unit="A" text="充电电流"></BatteryInfo>
  35. <BatteryInfo :num="chargerInfoVo.chgVoltage" unit="V" text="充电电压"></BatteryInfo>
  36. <BatteryInfo :num="chargerInfoVo.chgCapacity" unit="kWh" text="累计充电电量"></BatteryInfo>
  37. <view class="info-right" :style="chargerColor">
  38. <image class="s1" :src="require('../../../static/equipment/'+`s${chargerState[0]}`+'.png')"><text>{{chargerState[1]}}</text>
  39. </view>
  40. </view>
  41. <image src="../../../static/equipment/nodata.png" class="nodata" v-show="!chargerInfoVo.chargerCode">
  42. </view>
  43. </view>
  44. </view>
  45. </template>
  46. <script>
  47. import BatteryInfo from "./BatteryInfo.vue";
  48. import BatteryStatus from "./BatteryStatus.vue";
  49. import BatteryCharger from "./BatteryCharger.vue"
  50. export default {
  51. name:"StorageInfo",
  52. props:[
  53. 'storeCode',
  54. 'comState',
  55. 'sn',
  56. 'soc',
  57. 'chgEstimatedTime',
  58. 'current',
  59. 'voltage',
  60. 'minTemperature',
  61. 'maxTemperature',
  62. 'maxCellVoltage',
  63. 'minCellVoltage',
  64. 'soh',
  65. 'storeState',
  66. 'chargerInfoVo'
  67. ],
  68. components: {
  69. BatteryInfo,
  70. BatteryStatus,
  71. BatteryCharger
  72. },
  73. data(){
  74. return{
  75. }
  76. },
  77. computed:{
  78. chargerState(){
  79. if(this.chargerInfoVo.chgState === 1){
  80. return [3,' 准备充电']
  81. }else if(this.chargerInfoVo.chgState === 2){
  82. return [1,' 充电中']
  83. }else if(this.chargerInfoVo.chgState === 3){
  84. return [2,' 充电完成']
  85. }else if(this.chargerInfoVo.chgState === 4){
  86. return [8,' 充电失败']
  87. }else if(this.chargerInfoVo.chgState === 5){
  88. return [6,' 预约']
  89. }else if(this.chargerInfoVo.chgState === 6){
  90. return [5,' 故障']
  91. }else if(this.chargerInfoVo.chgState === 0){
  92. return [7,' 空闲']
  93. }else{
  94. return [4,' 无法获取']
  95. }
  96. },
  97. chargerColor(){
  98. if(this.chargerInfoVo.chgState === 3){
  99. return 'background-color:rgb(19,33,39,0.9);border:#477c62 solid 1px'
  100. }else if(this.chargerInfoVo.chgState ===1 || this.chargerInfoVo.chgState === 5){
  101. return 'background-color:rgb(20,38,50,0.9);border:#4a9dab solid 1px'
  102. }else if(this.chargerInfoVo.chgState ===2 || this.chargerInfoVo.chgState === 0){
  103. return ''
  104. }else{
  105. return 'background-color:rgb(32,25,36,0.9);border:#94494d solid 1px'
  106. }
  107. },
  108. StateNum(){
  109. if(this.storeState === 0){
  110. return '空仓'
  111. }else if(this.storeState === 1){
  112. return '有电池'
  113. }else{
  114. return '连接异常'
  115. }
  116. }
  117. }
  118. };
  119. </script >
  120. <style lang="scss" scoped>
  121. .storage-item{
  122. width: 347px;
  123. background-color: #0a101c;
  124. height: 598px;
  125. margin-right: 22px;
  126. border: 1px solid #0a101c;
  127. .container{
  128. padding: 20px 24px;
  129. color: #404a63;
  130. font-size: 14px;
  131. .battery-info{
  132. display: flex;
  133. margin-top: 16px;
  134. justify-content: space-between;
  135. flex-wrap: wrap;
  136. .info-right{
  137. width: 46%;
  138. height: 32px;
  139. line-height:30px;
  140. text-align: center;
  141. font-size: 14px;
  142. font-weight: 500;
  143. color: white;
  144. background-color: #0e1f31;
  145. border: #1b71a4 solid 1px;
  146. .s1{
  147. vertical-align: middle;
  148. width: 18px;
  149. height: 18px;
  150. }
  151. }
  152. .info-warning{
  153. width: 46%;
  154. background-color: #201823;
  155. border: #834246 solid 1px;
  156. height: 34px;
  157. line-height:32px;
  158. text-align: center;
  159. font-size: 14px;
  160. font-weight: 500;
  161. color: white;
  162. // img{
  163. // vertical-align: middle;
  164. // }
  165. }
  166. }
  167. .battery-charger{
  168. width: 100%;
  169. min-height: 228px;
  170. .nodata{
  171. position: relative;
  172. left: calc(50% - 33px);
  173. margin-top: 6vh;
  174. width: 66px;
  175. height: 66px;
  176. }
  177. }
  178. }
  179. }
  180. </style>