| | |
| | | <img src="@/assets/images/nenghao_ic1.png" class="co2" alt=""> |
| | | <div> |
| | | <div class="name">本年累计循环烟箱</div> |
| | | <div><span class="num" v-if="data1.smokeBoxTotal || data1.smokeBoxTotal == 0">{{ |
| | | <div><span class="num" style="color: #68cfb2;" v-if="data1.smokeBoxTotal || data1.smokeBoxTotal == 0">{{ |
| | | data1.smokeBoxTotal.toLocaleString() |
| | | }}</span><span>只</span></div> |
| | | }}</span><span>个</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | Math.abs(((data1.electricityQuantity.totalNum - |
| | | data1.electricityQuantity.sameNum) / data1.electricityQuantity.totalNum * 100).toFixed(1)) |
| | | }}%</span> |
| | | <span class="val" v-else>-</span> |
| | | <span class="val" v-else style="margin-left: 4px;"> -</span> |
| | | <span class="lab">环比</span> |
| | | <img v-if="data1.electricityQuantity.totalNum > data1.electricityQuantity.ringNum" class="icon" |
| | | src="@/assets/images/ic_up.webp" alt="" /> |
| | |
| | | Math.abs(((data1.electricityQuantity.totalNum - |
| | | data1.electricityQuantity.ringNum) / data1.electricityQuantity.totalNum * 100).toFixed(1)) |
| | | }}%</span> |
| | | <span class="val" v-else>-</span> |
| | | <span class="val" v-else style="margin-left: 4px;"> -</span> |
| | | </div> |
| | | </div> |
| | | <div class="item"> |
| | |
| | | </div> |
| | | <div class="static" v-if="data1.waterQuantity"> |
| | | <span class="lab">同比</span> |
| | | <img v-if="data1.waterQuantity.totalNum > data1.waterQuantity.sameNum" class="icon" |
| | | src="@/assets/images/ic_up.webp" alt="" /> |
| | | <img v-else class="icon" src="@/assets/images/ic_down.webp" alt="" /> |
| | | <span class="val" v-if="data1.waterQuantity.totalNum && data1.waterQuantity.totalNum != 0">{{ |
| | | <template v-if="data1.waterQuantity.sameNum"> |
| | | <img v-if="data1.waterQuantity.totalNum > data1.waterQuantity.sameNum" class="icon" |
| | | src="@/assets/images/ic_up.webp" alt="" /> |
| | | <img v-else class="icon" src="@/assets/images/ic_down.webp" alt="" /> |
| | | </template> |
| | | <span class="val" v-if="data1.waterQuantity.sameNum && data1.waterQuantity.sameNum != 0">{{ |
| | | Math.abs(((data1.waterQuantity.totalNum - |
| | | data1.waterQuantity.sameNum) / data1.waterQuantity.totalNum * 100).toFixed(1)) }}%</span> |
| | | <span class="val" v-else>-</span> |
| | | data1.waterQuantity.sameNum) / data1.waterQuantity.sameNum * 100).toFixed(1)) }}%</span> |
| | | <span class="val" v-else style="margin-left: 4px;">-</span> |
| | | <span class="lab">环比</span> |
| | | <img v-if="data1.waterQuantity.totalNum > data1.waterQuantity.ringNum" class="icon" |
| | | src="@/assets/images/ic_up.webp" alt="" /> |
| | | <img v-else class="icon" src="@/assets/images/ic_down.webp" alt="" /> |
| | | <span class="val" v-if="data1.waterQuantity.totalNum && data1.waterQuantity.totalNum != 0">{{ |
| | | <template v-if="data1.waterQuantity.ringNum"> |
| | | <img v-if="data1.waterQuantity.totalNum > data1.waterQuantity.ringNum" class="icon" |
| | | src="@/assets/images/ic_up.webp" alt="" /> |
| | | <img v-else class="icon" src="@/assets/images/ic_down.webp" alt="" /> |
| | | </template> |
| | | <span class="val" v-if="data1.waterQuantity.ringNum && data1.waterQuantity.ringNum != 0">{{ |
| | | Math.abs(((data1.waterQuantity.totalNum - |
| | | data1.waterQuantity.ringNum) / data1.waterQuantity.totalNum * 100).toFixed(1)) }}%</span> |
| | | <span class="val" v-else>-</span> |
| | | data1.waterQuantity.ringNum) / data1.waterQuantity.ringNum * 100).toFixed(1)) }}%</span> |
| | | <span class="val" v-else style="margin-left: 4px;">-</span> |
| | | </div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="header"> |
| | | <img class="icon" src="@/assets/images/ic_yongqi@2x.png" alt="" /> |
| | | <div class="content"> |
| | | <div class="name">上月用气(t)</div> |
| | | <div class="name">上月用气(m³)</div> |
| | | <div class="num" v-if="data1.gasQuantity">{{ data1.gasQuantity.total.toLocaleString() }}</div> |
| | | </div> |
| | | </div> |
| | | <div class="static" v-if="data1.gasQuantity"> |
| | | <span class="lab">同比</span> |
| | | <img v-if="data1.gasQuantity.totalNum > data1.gasQuantity.sameNum" class="icon" |
| | | src="@/assets/images/ic_up.webp" alt="" /> |
| | | <img v-else class="icon" src="@/assets/images/ic_down.webp" alt="" /> |
| | | <template v-if="data1.gasQuantity.sameNum"> |
| | | <img v-if="data1.gasQuantity.totalNum > data1.gasQuantity.sameNum" class="icon" |
| | | src="@/assets/images/ic_up.webp" alt="" /> |
| | | <img v-else class="icon" src="@/assets/images/ic_down.webp" alt="" /> |
| | | </template> |
| | | <span class="val" v-if="data1.gasQuantity.totalNum && data1.gasQuantity.totalNum != 0">{{ |
| | | Math.abs(((data1.gasQuantity.totalNum - data1.gasQuantity.sameNum) / data1.gasQuantity.totalNum |
| | | * 100).toFixed(1)) |
| | | }}%</span> |
| | | <span class="val" v-else>-</span> |
| | | <span class="val" v-else style="margin-left: 4px;">-</span> |
| | | <span class="lab">环比</span> |
| | | <img v-if="data1.gasQuantity.totalNum > data1.gasQuantity.ringNum" class="icon" |
| | | src="@/assets/images/ic_up.webp" alt="" /> |
| | | <img v-else class="icon" src="@/assets/images/ic_down.webp" alt="" /> |
| | | <template v-if="data1.gasQuantity.sameNum"> |
| | | <img v-if="data1.gasQuantity.totalNum > data1.gasQuantity.ringNum" class="icon" |
| | | src="@/assets/images/ic_up.webp" alt="" /> |
| | | <img v-else class="icon" src="@/assets/images/ic_down.webp" alt="" /> |
| | | </template> |
| | | <span class="val" v-if="data1.gasQuantity.totalNum && data1.gasQuantity.totalNum != 0">{{ |
| | | Math.abs(((data1.gasQuantity.totalNum - data1.gasQuantity.ringNum) / data1.gasQuantity.totalNum |
| | | * 100).toFixed(1)) |
| | | }}%</span> |
| | | <span class="val" v-else>-</span> |
| | | <span class="val" v-else style="margin-left: 4px;">-</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="center_box_two"> |
| | | <img class="bg" src="@/assets/images/img_city@2x.png" alt="" /> |
| | | <template v-if="data6 && data6.secondRegionDataList && data6.secondRegionDataList.length > 0"> |
| | | <div class="item item1"> |
| | | <div class="num fs_linear">{{ data6.secondRegionDataList[0].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6.secondRegionDataList[0].name }}</div> |
| | | <template v-if="data6 && data6 && data6.length > 0"> |
| | | <div class="item item1" v-if="data6.length > 4"> |
| | | <div class="num fs_linear">{{ data6[4].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6[4].name }}</div> |
| | | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="item item2" v-if="data6.secondRegionDataList.length > 1"> |
| | | <div class="num fs_linear">{{ data6.secondRegionDataList[1].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6.secondRegionDataList[1].name }}</div> |
| | | <div class="item item2" v-if="data6.length > 1"> |
| | | <div class="num fs_linear">{{ data6[1].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6[1].name }}</div> |
| | | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="item item3" v-if="data6.secondRegionDataList.length > 2"> |
| | | <div class="num fs_linear">{{ data6.secondRegionDataList[2].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6.secondRegionDataList[2].name }}</div> |
| | | <div class="item item3" v-if="data6.length > 2"> |
| | | <div class="num fs_linear">{{ data6[2].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6[2].name }}</div> |
| | | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="item item4" v-if="data6.secondRegionDataList.length > 3"> |
| | | <div class="num fs_linear">{{ data6.secondRegionDataList[3].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6.secondRegionDataList[3].name }}</div> |
| | | <div class="item item4" v-if="data6.length > 3"> |
| | | <div class="num fs_linear">{{ data6[3].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6[3].name }}</div> |
| | | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="item item5" v-if="data6.secondRegionDataList.length > 4"> |
| | | <div class="num fs_linear">{{ data6.secondRegionDataList[4].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6.secondRegionDataList[4].name }}</div> |
| | | <div class="item item5"> |
| | | <div class="num fs_linear">{{ data6[0].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6[0].name }}</div> |
| | | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | </template> |
| | | <div class="bottom_wrap" v-if="data1.yesterdayElectricity"> |
| | | <div class="bottom bottom1"> |
| | | <div class="num fs_linear">{{ data1.yesterdayElectricity.total || 0 }}</div> |
| | | <div class="bottom bottom1" @click="changeacDay(3)"> |
| | | <div :class="{ active: activeDays == 3 }" class="num fs_linear">{{ data1.yesterdayElectricity.total || 0 |
| | | }}</div> |
| | | <div class="name">昨日用电</div> |
| | | <div class="unit">kw·h</div> |
| | | <img src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" /> |
| | | <img v-if="activeDays == 3" src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" /> |
| | | <img v-else src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="bottom bottom2"> |
| | | <div class="num">{{ data1.todayElectricity.total || 0 }}</div> |
| | | <div class="bottom bottom2" @click="changeacDay(1)"> |
| | | <div :class="{ active: activeDays == 1 }" class="num">{{ data1.todayElectricity.total || 0 }}</div> |
| | | <div class="name">今日用电</div> |
| | | <div class="unit">kw·h</div> |
| | | <img src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" /> |
| | | <img v-if="activeDays == 1" src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" /> |
| | | <img v-else src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="bottom bottom3"> |
| | | <div class="num fs_linear">{{ data1.monthElectricity.total || 0 }}</div> |
| | | <div class="bottom bottom3" @click="changeacDay(2)"> |
| | | <div :class="{ active: activeDays == 2 }" class="num fs_linear">{{ data1.monthElectricity.total || 0 }} |
| | | </div> |
| | | <div class="name">本月用电</div> |
| | | <div class="unit">kw·h</div> |
| | | <img src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" /> |
| | | <img v-if="activeDays == 2" src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" /> |
| | | <img v-else src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | zxenergyDataList, |
| | | zxlastMonthOil, |
| | | zxloadCurve, |
| | | zxenergyRegionData |
| | | zxenergyRegionData, |
| | | regionDataRanking |
| | | } from '@/api' |
| | | |
| | | |
| | |
| | | xAxis: { |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | data: data5.value.map(i => i.timeData) |
| | | axisLabel: { |
| | | color: '#D2E0FF' |
| | | }, |
| | | data: data5.value.map(i => dayjs(i.timeData).format('M')) |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | |
| | | yAxis: { |
| | | type: 'value', |
| | | name: '单位:L', |
| | | axisLabel: { |
| | | color: '#D2E0FF' |
| | | }, |
| | | nameTextStyle: { |
| | | padding: [0, 0, 0, -16] // 四个数字分别为上右下左与原位置距离 |
| | | color: '#D2E0FF', |
| | | padding: [0, 0, 0, -18] // 四个数字分别为上右下左与原位置距离 |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | |
| | | xAxis: { |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | axisLabel: { |
| | | color: '#D2E0FF' |
| | | }, |
| | | data: data4.value.map(i => i.timeData) |
| | | }, |
| | | yAxis: { |
| | | type: 'value', |
| | | name: '单位:kw·h', |
| | | nameTextStyle: { |
| | | padding: [0, 0, 0, -16] // 四个数字分别为上右下左与原位置距离 |
| | | padding: [0, 0, 0, -16], // 四个数字分别为上右下左与原位置距离 |
| | | color: '#D2E0FF' |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | |
| | | type: 'dashed', |
| | | }, |
| | | splitNumber: 4 |
| | | }, |
| | | axisLabel: { |
| | | color: '#D2E0FF' |
| | | } |
| | | }, |
| | | grid: { |
| | | top: '26%', |
| | | top: '18%', |
| | | left: '4%', |
| | | right: '2%', |
| | | bottom: '2%', |
| | |
| | | data1.value = result |
| | | }) |
| | | } |
| | | const activeDays = ref('1') |
| | | const data6 = ref({}) |
| | | const changeacDay = (val) => { |
| | | activeDays.value = val |
| | | getData6() |
| | | } |
| | | const getData6 = () => { |
| | | zxenergyRegionData().then(res => { |
| | | regionDataRanking({ type: activeDays.value }).then(res => { |
| | | const result = res.data |
| | | data6.value = result |
| | | }) |
| | | } |
| | | |
| | | |
| | | const activeTab2 = ref(0) |
| | | const tabsClick2 = (v) => { |
| | |
| | | |
| | | myChart.setOption({ |
| | | grid: { |
| | | top: '24%', |
| | | top: '20%', |
| | | left: '6%', |
| | | right: '2%', |
| | | bottom: '4%', |
| | |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | data: data2.value.map(i => i.timeData) |
| | | axisLabel: { |
| | | color: '#D2E0FF' |
| | | }, |
| | | data: data2.value.map(i => dayjs(i.timeData).format('M')) |
| | | }, |
| | | yAxis: { |
| | | type: 'value', |
| | | name: unit, |
| | | axisLabel: { |
| | | color: '#D2E0FF' |
| | | }, |
| | | nameTextStyle: { |
| | | color: '#D2E0FF', |
| | | padding: [0, 0, 4, -30] // 四个数字分别为上右下左与原位置距离 |
| | | }, |
| | | splitLine: { |
| | |
| | | position: absolute; |
| | | text-align: center; |
| | | padding-top: 70px; |
| | | cursor: pointer; |
| | | |
| | | .num { |
| | | font-size: 24px; |
| | |
| | | font-size: 14px; |
| | | color: #D0FFFA; |
| | | } |
| | | |
| | | .active { |
| | | font-size: 36px; |
| | | color: #01D9FE; |
| | | font-weight: bold; |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | |
| | | .bottom1 { |
| | |
| | | bottom: -0px; |
| | | left: 50%; |
| | | transform: translate(-50%, 0); |
| | | padding-top: 50px; |
| | | /* padding-top: 50px; */ |
| | | |
| | | .num { |
| | | font-size: 36px; |
| | | color: #01D9FE; |
| | | line-height: 54px; |
| | | font-weight: bold; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | font-weight: 500; |
| | | margin-right: 6px; |
| | | font-size: 13px; |
| | | width: 64px; |
| | | width: 68px; |
| | | } |
| | | |
| | | .num { |