| | |
| | | element-loading-background="rgba(0, 0, 0, 0.2)"> |
| | | <div class="module-content-item"> |
| | | <layout-box> |
| | | <div class="ele-mon-pack"> |
| | | <flex-box title="锂电池包" size="mini"> |
| | | <el-row :span="16"> |
| | | <el-col :span="8" v-for="(item, key) in list" :key="'key'+key"> |
| | | <mon-lithium-pack :info="item" @click="changPack"></mon-lithium-pack> |
| | | </el-col> |
| | | </el-row> |
| | | </flex-box> |
| | | <div class="layout-content"> |
| | | <div class="mon-vol-bar"> |
| | | <flex-box title="锂电池包电压" size="mini"> |
| | | <divide-bar ref="packVol" name="锂电池包电压" unit="V"></divide-bar> |
| | | </flex-box> |
| | | </div> |
| | | <div class="mon-temp-bar"> |
| | | <flex-box title="锂电池包电流" size="mini"> |
| | | <divide-bar ref="packCurr" name="锂电池包电流" unit="A"></divide-bar> |
| | | </flex-box> |
| | | </div> |
| | | </div> |
| | | </layout-box> |
| | | </div> |
| | |
| | | <layout-box> |
| | | <div class="layout-content"> |
| | | <div class="mon-vol-bar"> |
| | | <flex-box title="单体电压" size="mini"> |
| | | <flex-box :title="monVolText" size="mini"> |
| | | <divide-bar ref="monVol" name="单体电压" unit="V"></divide-bar> |
| | | </flex-box> |
| | | </div> |
| | | <div class="mon-temp-bar"> |
| | | <flex-box title="单体温度" size="mini"> |
| | | <flex-box :title="monTempText" size="mini"> |
| | | <divide-bar ref="monTemp" name="单体温度" unit="℃"></divide-bar> |
| | | </flex-box> |
| | | </div> |
| | |
| | | methods: { |
| | | resize() { |
| | | this.$nextTick(()=>{ |
| | | // 锂电池包电压 |
| | | if(this.$refs.packVol) { |
| | | this.$refs.packVol.resize(); |
| | | } |
| | | |
| | | // 锂电池包电流 |
| | | if(this.$refs.packCurr) { |
| | | this.$refs.packCurr.resize(); |
| | | } |
| | | |
| | | // 单体电压图表 |
| | | if(this.$refs.monVol) { |
| | | this.$refs.monVol.resize(); |
| | |
| | | * 切换锂电池包 |
| | | * @param item |
| | | */ |
| | | changPack(item) { |
| | | changPack(index) { |
| | | this.clearActivePack(); |
| | | this.$nextTick(()=>{ |
| | | item.active = true; |
| | | //item.active = true; |
| | | this.list[index].active = true; |
| | | }); |
| | | this.loading = true; |
| | | setTimeout(()=>{ |
| | |
| | | }); |
| | | } |
| | | this.list[0].active = true; |
| | | |
| | | // 包电压 |
| | | let packVol = { |
| | | xLabel: [], |
| | | sData: [] |
| | | }; |
| | | |
| | | // 包电流 |
| | | let packCurr = { |
| | | xLabel: [], |
| | | sData: [] |
| | | }; |
| | | for(let i=0; i<this.packNum; i++) { |
| | | let label = "包"+(i+1); |
| | | packVol.xLabel.push(label); |
| | | packVol.sData.push(0); |
| | | |
| | | packCurr.xLabel.push(label); |
| | | packCurr.sData.push(0); |
| | | } |
| | | |
| | | if(this.$refs.packVol) { |
| | | this.$refs.packVol.setData(packVol); |
| | | } |
| | | |
| | | if(this.$refs.packCurr) { |
| | | this.$refs.packCurr.setData(packCurr); |
| | | } |
| | | }, |
| | | changeListInfo() { |
| | | if(!this.update) { |
| | |
| | | let packCurr = packCurrs[i]; |
| | | this.list[i].vol = packVol?packVol:0; |
| | | this.list[i].curr = packCurr?packCurr:0; |
| | | } |
| | | |
| | | // 包电压 |
| | | let packVol = { |
| | | xLabel: [], |
| | | sData: [] |
| | | }; |
| | | |
| | | // 包电流 |
| | | let packCurr = { |
| | | xLabel: [], |
| | | sData: [] |
| | | }; |
| | | for(let i=0; i<this.packNum; i++) { |
| | | let vol = packVols[i]; |
| | | let curr = packCurrs[i]; |
| | | let label = "包"+(i+1); |
| | | packVol.xLabel.push(label); |
| | | packVol.sData.push(vol?vol:0); |
| | | |
| | | packCurr.xLabel.push(label); |
| | | packCurr.sData.push(curr?curr:0); |
| | | } |
| | | |
| | | if(this.$refs.packVol) { |
| | | this.$refs.packVol.setData(packVol); |
| | | } |
| | | |
| | | if(this.$refs.packCurr) { |
| | | this.$refs.packCurr.setData(packCurr); |
| | | } |
| | | }, |
| | | setMonData() { |
| | |
| | | sData: [] |
| | | }; |
| | | for(let i=0; i<monVolValues.length; i++) { |
| | | monVol.xLabel.push("单体"+(i+1)); |
| | | monVol.xLabel.push("#"+(i+1)); |
| | | monVol.sData.push(monVolValues[i]); |
| | | } |
| | | if(this.$refs.monVol) { |
| | |
| | | sData: [] |
| | | }; |
| | | for(let i=0; i<monTempValues.length; i++) { |
| | | monTemp.xLabel.push("单体"+(i+1)); |
| | | monTemp.xLabel.push("#"+(i+1)); |
| | | monTemp.sData.push(monTempValues[i]); |
| | | } |
| | | if(this.$refs.monTemp) { |
| | |
| | | return values; |
| | | } |
| | | }, |
| | | computed: { |
| | | activePack() { |
| | | let list = this.list; |
| | | let index = 1; |
| | | for(let i=0; i<list.length; i++) { |
| | | let item = list[i]; |
| | | if(item.active) { |
| | | index = item.num; |
| | | } |
| | | } |
| | | return index+""; |
| | | }, |
| | | monVolText() { |
| | | return "包"+this.activePack+"-单体电压"; |
| | | }, |
| | | monTempText() { |
| | | return "包"+this.activePack+"-单体温度"; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.setMonPackData(); |
| | | this.setMonData(); |
| | | |
| | | // 锂电池包点击事件 |
| | | let packVolChart = this.$refs.packVol.getChart(); |
| | | packVolChart.getZr().on('click', params=>{ |
| | | const points = [params.offsetX, params.offsetY]; |
| | | if(packVolChart.containPixel('grid', points)) { |
| | | let dataIndex = packVolChart.convertFromPixel({seriesIndex: 0}, [params.offsetX, params.offsetY])[0]; |
| | | this.changPack(dataIndex); |
| | | } |
| | | }); |
| | | // 锂电池包点击事件 |
| | | let packCurrChart = this.$refs.packCurr.getChart(); |
| | | packCurrChart.getZr().on('click', params=>{ |
| | | const points = [params.offsetX, params.offsetY]; |
| | | if(packCurrChart.containPixel('grid', points)) { |
| | | let dataIndex = packCurrChart.convertFromPixel({seriesIndex: 0}, [params.offsetX, params.offsetY])[0]; |
| | | this.changPack(dataIndex); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | </script> |