|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <v-scale-screen width="1920" height="960" :fullScreen="true"> | 
|---|
|  |  |  | <v-scale-screen width="1920" height="960"> | 
|---|
|  |  |  | <div class="main_app"> | 
|---|
|  |  |  | <img src="@/assets/images/bg_main_app.png" class="main_bg" alt="" /> | 
|---|
|  |  |  | <div class="main_header"> | 
|---|
|  |  |  | <img src="@/assets/images/maintitle@2x.png" class="main_header_bg" alt="" /> | 
|---|
|  |  |  | <img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" /> | 
|---|
|  |  |  | <div class="title">安泰智慧物流园区-绿色低碳运营</div> | 
|---|
|  |  |  | <div class="time_wrap"> | 
|---|
|  |  |  | <span class="date">{{ date }}</span> | 
|---|
|  |  |  | 
|---|
|  |  |  | <img src="@/assets/images/nenghao_ic1.png" class="co2" alt=""> | 
|---|
|  |  |  | <div> | 
|---|
|  |  |  | <div class="name">本年累计循环烟箱</div> | 
|---|
|  |  |  | <div><span class="num">{{ data1.smokeBoxTotal }}</span><span>只</span></div> | 
|---|
|  |  |  | <div><span class="num" style="color: #68cfb2;" v-if="data1.smokeBoxTotal || data1.smokeBoxTotal == 0">{{ | 
|---|
|  |  |  | data1.smokeBoxTotal.toLocaleString() | 
|---|
|  |  |  | }}</span><span>个</span></div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | <div class="load_wrap"> | 
|---|
|  |  |  | <div class="loadRef"></div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <!-- <div v-show="data4.length == 0" class="empty_wrap load_wrap"> | 
|---|
|  |  |  | <img src="@/assets/images/default_empty.png" alt=""> | 
|---|
|  |  |  | </div> --> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="left_box_three"> | 
|---|
|  |  |  | <div class="com_header"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <div>月能耗分析</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="tabs"> | 
|---|
|  |  |  | <div class="tab active">用电</div> | 
|---|
|  |  |  | <div class="tab" :class="{ active: activeTab2 == 0 }" @click="tabsClick2(0)">用水</div> | 
|---|
|  |  |  | <div class="separate"></div> | 
|---|
|  |  |  | <div class="tab">用水</div> | 
|---|
|  |  |  | <div class="tab" :class="{ active: activeTab2 == 3 }" @click="tabsClick2(3)">用电</div> | 
|---|
|  |  |  | <div class="separate"></div> | 
|---|
|  |  |  | <div class="tab">用气</div> | 
|---|
|  |  |  | <div class="tab" :class="{ active: activeTab2 == 1 }" @click="tabsClick2(1)">用气</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <img src="@/assets/images/title@2x.png" class="bg" alt="" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | <img class="icon" src="@/assets/images/ic_yongdian@2x.png" alt="" /> | 
|---|
|  |  |  | <div class="content"> | 
|---|
|  |  |  | <div class="name">上月用电(kw·h)</div> | 
|---|
|  |  |  | <div class="num">{{ data1.electricityQuantity }}</div> | 
|---|
|  |  |  | <div class="num" v-if="data1.electricityQuantity">{{ | 
|---|
|  |  |  | data1.electricityQuantity.total.toLocaleString() }} | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="static"> | 
|---|
|  |  |  | <div class="static" v-if="data1.electricityQuantity"> | 
|---|
|  |  |  | <span class="lab">同比</span> | 
|---|
|  |  |  | <img class="icon" src="@/assets/images/ic_up.webp" alt="" /> | 
|---|
|  |  |  | <span class="val">{{ data1.electricityYear }}</span> | 
|---|
|  |  |  | <img v-if="data1.electricityQuantity.totalNum > data1.electricityQuantity.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.electricityQuantity.sameNum && data1.electricityQuantity.sameNum != 0">{{ | 
|---|
|  |  |  | Math.abs(((data1.electricityQuantity.totalNum - | 
|---|
|  |  |  | data1.electricityQuantity.sameNum) / data1.electricityQuantity.sameNum * 100).toFixed(1)) | 
|---|
|  |  |  | }}%</span> | 
|---|
|  |  |  | <span class="val" v-else style="margin-left: 4px;"> -</span> | 
|---|
|  |  |  | <span class="lab">环比</span> | 
|---|
|  |  |  | <img class="icon" src="@/assets/images/ic_down.webp" alt="" /> | 
|---|
|  |  |  | <span class="val">{{ data1.gasMonth }}</span> | 
|---|
|  |  |  | <img v-if="data1.electricityQuantity.totalNum > data1.electricityQuantity.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.electricityQuantity.ringNum && data1.electricityQuantity.ringNum != 0">{{ | 
|---|
|  |  |  | Math.abs(((data1.electricityQuantity.totalNum - | 
|---|
|  |  |  | data1.electricityQuantity.ringNum) / data1.electricityQuantity.ringNum * 100).toFixed(1)) | 
|---|
|  |  |  | }}%</span> | 
|---|
|  |  |  | <span class="val" v-else style="margin-left: 4px;"> -</span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <img class="icon" src="@/assets/images/ic_yongshui@2x.png" alt="" /> | 
|---|
|  |  |  | <div class="content"> | 
|---|
|  |  |  | <div class="name">上月用水(t)</div> | 
|---|
|  |  |  | <div class="num">{{ data1.waterQuantity }}</div> | 
|---|
|  |  |  | <div class="num" v-if="data1.waterQuantity">{{ data1.waterQuantity.total.toLocaleString() }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="static"> | 
|---|
|  |  |  | <div class="static" v-if="data1.waterQuantity"> | 
|---|
|  |  |  | <span class="lab">同比</span> | 
|---|
|  |  |  | <img class="icon" src="@/assets/images/ic_up.webp" alt="" /> | 
|---|
|  |  |  | <span class="val">{{ data1.waterMonth }}</span> | 
|---|
|  |  |  | <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.sameNum * 100).toFixed(1)) }}%</span> | 
|---|
|  |  |  | <span class="val" v-else style="margin-left: 4px;">-</span> | 
|---|
|  |  |  | <span class="lab">环比</span> | 
|---|
|  |  |  | <img class="icon" src="@/assets/images/ic_down.webp" alt="" /> | 
|---|
|  |  |  | <span class="val">{{ data1.waterYear }}</span> | 
|---|
|  |  |  | <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.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="num">{{ data1.gasQuantity }}</div> | 
|---|
|  |  |  | <div class="name">上月用气(m³)</div> | 
|---|
|  |  |  | <div class="num" v-if="data1.gasQuantity">{{ data1.gasQuantity.total.toLocaleString() }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="static"> | 
|---|
|  |  |  | <div class="static" v-if="data1.gasQuantity"> | 
|---|
|  |  |  | <span class="lab">同比</span> | 
|---|
|  |  |  | <img class="icon" src="@/assets/images/ic_up.webp" alt="" /> | 
|---|
|  |  |  | <span class="val">{{ data1.gasMonth }}</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="" /> | 
|---|
|  |  |  | <span class="val" v-if="data1.gasQuantity.sameNum && data1.gasQuantity.sameNum != 0">{{ | 
|---|
|  |  |  | Math.abs(((data1.gasQuantity.totalNum - data1.gasQuantity.sameNum) / data1.gasQuantity.sameNum | 
|---|
|  |  |  | * 100).toFixed(1)) | 
|---|
|  |  |  | }}%</span> | 
|---|
|  |  |  | <span class="val" v-else style="margin-left: 4px;">-</span> | 
|---|
|  |  |  | <span class="lab">环比</span> | 
|---|
|  |  |  | <img class="icon" src="@/assets/images/ic_down.webp" alt="" /> | 
|---|
|  |  |  | <span class="val">{{ data1.gasYear }}</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="" /> | 
|---|
|  |  |  | <span class="val" v-if="data1.gasQuantity.ringNum && data1.gasQuantity.ringNum != 0">{{ | 
|---|
|  |  |  | Math.abs(((data1.gasQuantity.totalNum - data1.gasQuantity.ringNum) / data1.gasQuantity.ringNum | 
|---|
|  |  |  | * 100).toFixed(1)) | 
|---|
|  |  |  | }}%</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="" /> | 
|---|
|  |  |  | <div class="item item1"> | 
|---|
|  |  |  | <div class="num fs_linear">{{ data1.workHouseQuantity }}<span class="unit">kw·h</span></div> | 
|---|
|  |  |  | <div class="name">联合工房</div> | 
|---|
|  |  |  | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item item2"> | 
|---|
|  |  |  | <div class="num fs_linear">{{ data1.officeQuantity }}<span class="unit">kw·h</span></div> | 
|---|
|  |  |  | <div class="name">办公楼</div> | 
|---|
|  |  |  | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item item3"> | 
|---|
|  |  |  | <div class="num fs_linear">{{ data1.parkQuantity }}<span class="unit">kw·h</span></div> | 
|---|
|  |  |  | <div class="name">物流园区</div> | 
|---|
|  |  |  | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item item4"> | 
|---|
|  |  |  | <div class="num fs_linear">{{ data1.productHouseQuantity }}<span class="unit">kw·h</span></div> | 
|---|
|  |  |  | <div class="name">成品库</div> | 
|---|
|  |  |  | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item item5"> | 
|---|
|  |  |  | <div class="num fs_linear">{{ data1.powerQuantity }}<span class="unit">kw·h</span></div> | 
|---|
|  |  |  | <div class="name">动力站房</div> | 
|---|
|  |  |  | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="bottom_wrap"> | 
|---|
|  |  |  | <div class="bottom bottom1"> | 
|---|
|  |  |  | <div class="num fs_linear">{{ data1.yesterdayElectricity }}</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.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.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.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"> | 
|---|
|  |  |  | <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" @click="changeacDay(3)"> | 
|---|
|  |  |  | <div :class="{ active: activeDays == 3 }" class="num fs_linear">{{ dataObj6.obj1.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 }}</div> | 
|---|
|  |  |  | <div class="bottom bottom2" @click="changeacDay(1)"> | 
|---|
|  |  |  | <div :class="{ active: activeDays == 1 }" class="num">{{ dataObj6.obj2.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 }}</div> | 
|---|
|  |  |  | <div class="bottom bottom3" @click="changeacDay(2)"> | 
|---|
|  |  |  | <div :class="{ active: activeDays == 2 }" class="num fs_linear">{{ dataObj6.obj3.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> | 
|---|
|  |  |  | 
|---|
|  |  |  | <img src="@/assets/images/ic_co2@2x.png" class="co2" alt=""> | 
|---|
|  |  |  | <div> | 
|---|
|  |  |  | <div class="name">本月累计碳排放</div> | 
|---|
|  |  |  | <div><span class="num">{{ data1.carbon }}</span><span>吨</span></div> | 
|---|
|  |  |  | <div><span class="num" v-if="data1.carbon || data1.carbon == 0">{{ data1.carbon.toLocaleString() | 
|---|
|  |  |  | }}</span><span>吨</span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | <div class="tabs">油耗:L</div> | 
|---|
|  |  |  | <img src="@/assets/images/title@2x.png" class="bg" alt="" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="list"> | 
|---|
|  |  |  | <div class="line" v-for="item, i in 6"> | 
|---|
|  |  |  | <div class="top"><span v-if="i < 3">top</span>{{ i }}</div> | 
|---|
|  |  |  | <div class="id_card">皖A12313</div> | 
|---|
|  |  |  | <div class="wrap"> | 
|---|
|  |  |  | <ChargeRate :rate="15" :color /> | 
|---|
|  |  |  | <div v-if="data3 && data3.length > 0" class="list one-swiper"> | 
|---|
|  |  |  | <div class="swiper-wrapper"> | 
|---|
|  |  |  | <div class="line one-swiper-slide swiper-slide" v-for="item, i in data3"> | 
|---|
|  |  |  | <div class="top" :class="{ top3: i < 3 }"><span v-if="i < 3">top</span>{{ i + 1 }}</div> | 
|---|
|  |  |  | <div class="id_card">{{ item.carNo }}</div> | 
|---|
|  |  |  | <div class="wrap"> | 
|---|
|  |  |  | <ChargeRate :rate="item.rate" :color="i > 2 ? 'cyan' : '#e3a83a'" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="num">{{ item.quantity }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="num">1000</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div v-if="data3.length == 0" class="empty_wrap list"> | 
|---|
|  |  |  | <img src="@/assets/images/default_empty.png" alt=""> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="right_box_three"> | 
|---|
|  |  |  | 
|---|
|  |  |  | import ChargeRate from '@/components/ChargeRate.vue' | 
|---|
|  |  |  | import * as echarts from 'echarts' | 
|---|
|  |  |  | import VScaleScreen from 'v-scale-screen' | 
|---|
|  |  |  | import 'swiper/css/swiper.min.css' | 
|---|
|  |  |  | import Swiper from 'swiper' | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | zxcenterData, | 
|---|
|  |  |  | zxenergyDataList, | 
|---|
|  |  |  | zxlastMonthOil, | 
|---|
|  |  |  | zxloadCurve, | 
|---|
|  |  |  | zxenergyRegionData, | 
|---|
|  |  |  | regionDataRanking | 
|---|
|  |  |  | } from '@/api' | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | xAxis: { | 
|---|
|  |  |  | type: 'category', | 
|---|
|  |  |  | boundaryGap: false, | 
|---|
|  |  |  | data: [1, 2, 3, 4, 5, 5] | 
|---|
|  |  |  | axisLabel: { | 
|---|
|  |  |  | color: '#D2E0FF' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | data: data5.value.map(i => dayjs(i.timeData).format('M')) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // tooltip: { | 
|---|
|  |  |  | //   trigger: 'axis', | 
|---|
|  |  |  | //   axisPointer: { | 
|---|
|  |  |  | //     type: 'line' | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  | tooltip: { | 
|---|
|  |  |  | trigger: 'axis', | 
|---|
|  |  |  | formatter: function (params) { | 
|---|
|  |  |  | // 遍历悬浮时的所有点,定制化显示内容 | 
|---|
|  |  |  | let result = `<div> | 
|---|
|  |  |  | <div style="width: 120px">${params[0].name}月</div> | 
|---|
|  |  |  | <div style="display: flex;align-items: center;;margin-top: 2px;"> | 
|---|
|  |  |  | <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #f6d047;margin-right: 6px;"></div></div> | 
|---|
|  |  |  | <div><strong>${params[0].value} L</strong></div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div>` | 
|---|
|  |  |  | return result | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | yAxis: { | 
|---|
|  |  |  | type: 'value', | 
|---|
|  |  |  | name: '单位:L', | 
|---|
|  |  |  | axisLabel: { | 
|---|
|  |  |  | color: '#D2E0FF' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | nameTextStyle: { | 
|---|
|  |  |  | padding: [0, 0, 0, -16]    // 四个数字分别为上右下左与原位置距离 | 
|---|
|  |  |  | color: '#D2E0FF', | 
|---|
|  |  |  | padding: [0, 0, 0, -18]    // 四个数字分别为上右下左与原位置距离 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | splitLine: { | 
|---|
|  |  |  | show: true, | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | grid: { | 
|---|
|  |  |  | top: '16%', | 
|---|
|  |  |  | top: '22%', | 
|---|
|  |  |  | left: '4%', | 
|---|
|  |  |  | right: '2%', | 
|---|
|  |  |  | right: '6%', | 
|---|
|  |  |  | bottom: '2%', | 
|---|
|  |  |  | containLabel: true | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | series: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data: [1, 2, 3, 4, 4, 5].map(i => { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | name: i, | 
|---|
|  |  |  | value: i, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }), | 
|---|
|  |  |  | data: data5.value.map(i => i.energy), | 
|---|
|  |  |  | type: 'line', | 
|---|
|  |  |  | areaStyle: { | 
|---|
|  |  |  | normal: { | 
|---|
|  |  |  | 
|---|
|  |  |  | width: 2, // 线条粗细 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | symbol: 'circle', | 
|---|
|  |  |  | symbolSize: 10, | 
|---|
|  |  |  | symbolSize: 6, | 
|---|
|  |  |  | itemStyle: { | 
|---|
|  |  |  | normal: { | 
|---|
|  |  |  | color: '#F3BD00', //折线点的颜色 | 
|---|
|  |  |  | 
|---|
|  |  |  | var myChart = echarts.init(document.querySelector('.loadRef')) | 
|---|
|  |  |  | // 绘制图表 | 
|---|
|  |  |  | myChart.setOption({ | 
|---|
|  |  |  | // tooltip: { | 
|---|
|  |  |  | //   trigger: 'axis', | 
|---|
|  |  |  | //   axisPointer: { | 
|---|
|  |  |  | //     type: 'line' | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | //   formatter: function (params) { | 
|---|
|  |  |  | //     setTimeout(() => { | 
|---|
|  |  |  | //       console.log('params', params) | 
|---|
|  |  |  | //     }) | 
|---|
|  |  |  | //     return ` | 
|---|
|  |  |  | //       <div style="background-color: #091123;margin: -12px;padding: 14px;border: 2px solid rgba(1,217,254,0.5);color: #fff;"> | 
|---|
|  |  |  | //         <div>${params[0].name}总销售额(万元)</div> | 
|---|
|  |  |  | //         <div style="display: flex;align-items: center;"> | 
|---|
|  |  |  | //           <div style="width: 10px;height: 10px;border-radius: 50%;background-color: #ebbf40;"></div> | 
|---|
|  |  |  | //           <div style="margin: 0 4px 0 6px;">总销售</div> | 
|---|
|  |  |  | //           <span style="color: #ebbf40;">${params[0].value}</span> | 
|---|
|  |  |  | //         </div> | 
|---|
|  |  |  | //       </div> | 
|---|
|  |  |  | //     ` | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  | tooltip: { | 
|---|
|  |  |  | trigger: 'axis', | 
|---|
|  |  |  | axisPointer: { | 
|---|
|  |  |  | type: 'line' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // trigger: 'axis', | 
|---|
|  |  |  | // axisPointer: { | 
|---|
|  |  |  | //   type: 'line' | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  | // formatter: function (params) { | 
|---|
|  |  |  | //   setTimeout(() => { | 
|---|
|  |  |  | //     console.log('params', params) | 
|---|
|  |  |  | //   }) | 
|---|
|  |  |  | //   return ` | 
|---|
|  |  |  | //     <div style="background-color: #091123;margin: -12px;padding: 14px;border: 2px solid rgba(1,217,254,0.5);color: #fff;"> | 
|---|
|  |  |  | //       <div>${params[0].name}总销售额(万元)</div> | 
|---|
|  |  |  | //       <div style="display: flex;align-items: center;"> | 
|---|
|  |  |  | //         <div style="width: 10px;height: 10px;border-radius: 50%;background-color: #ebbf40;"></div> | 
|---|
|  |  |  | //         <div style="margin: 0 4px 0 6px;">总销售</div> | 
|---|
|  |  |  | //         <span style="color: #ebbf40;">${params[0].value}</span> | 
|---|
|  |  |  | //       </div> | 
|---|
|  |  |  | //     </div> | 
|---|
|  |  |  | //   ` | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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: '16%', | 
|---|
|  |  |  | top: '18%', | 
|---|
|  |  |  | left: '4%', | 
|---|
|  |  |  | right: '2%', | 
|---|
|  |  |  | bottom: '2%', | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | series: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data:  data4.value.map(i => i.energy), | 
|---|
|  |  |  | data: data4.value.map(i => i.energy), | 
|---|
|  |  |  | type: 'line', | 
|---|
|  |  |  | areaStyle: { | 
|---|
|  |  |  | normal: { | 
|---|
|  |  |  | 
|---|
|  |  |  | y2: 1, | 
|---|
|  |  |  | colorStops: [{ | 
|---|
|  |  |  | offset: 0, | 
|---|
|  |  |  | color: "rgba(192, 156, 53,.7)" // 0% 处的颜色 | 
|---|
|  |  |  | color: "#2e6ab5" // 0% 处的颜色 | 
|---|
|  |  |  | }, { | 
|---|
|  |  |  | offset: 1, | 
|---|
|  |  |  | color: "#1b1b12" // 100% 处的颜色 | 
|---|
|  |  |  | 
|---|
|  |  |  | x2: 0, | 
|---|
|  |  |  | y2: 1, | 
|---|
|  |  |  | colorStops: [{ | 
|---|
|  |  |  | offset: 0, color: '#F3BD00' // 0% 处的颜色 | 
|---|
|  |  |  | offset: 0, color: '#2e6ab5' // 0% 处的颜色 | 
|---|
|  |  |  | }, { | 
|---|
|  |  |  | offset: 1, color: '#F3BD00' // 100% 处的颜色 | 
|---|
|  |  |  | offset: 1, color: '#2e6ab5' // 100% 处的颜色 | 
|---|
|  |  |  | }], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | width: 2, // 线条粗细 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | symbol: 'circle', | 
|---|
|  |  |  | symbolSize: 10, | 
|---|
|  |  |  | symbolSize: 0, | 
|---|
|  |  |  | itemStyle: { | 
|---|
|  |  |  | normal: { | 
|---|
|  |  |  | color: '#F3BD00', //折线点的颜色 | 
|---|
|  |  |  | color: '#2e6ab5', //折线点的颜色 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | smooth: true | 
|---|
|  |  |  | 
|---|
|  |  |  | myChart.resize() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const arr = ['#68e2e3', '#50afd3', '#377cdb', '#d5ae3a'] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const data1 = ref({}) | 
|---|
|  |  |  | const getData1 = () => { | 
|---|
|  |  |  | zxcenterData().then(res => { | 
|---|
|  |  |  | const result = res.data || {} | 
|---|
|  |  |  | data1.value = result | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const activeDays = ref('1') | 
|---|
|  |  |  | const data6 = ref([]) | 
|---|
|  |  |  | const dataObj6 = ref({ | 
|---|
|  |  |  | obj1: { total: 0 }, | 
|---|
|  |  |  | obj2: { total: 0 }, | 
|---|
|  |  |  | obj3: { total: 0 }, | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | const changeacDay = (val) => { | 
|---|
|  |  |  | activeDays.value = val | 
|---|
|  |  |  | if (val == 3) { | 
|---|
|  |  |  | data6.value = dataObj6.value.obj1.list | 
|---|
|  |  |  | } else if (val == 1) { | 
|---|
|  |  |  | data6.value = dataObj6.value.obj2.list | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | data6.value = dataObj6.value.obj3.list | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const getData6 = () => { | 
|---|
|  |  |  | let obj = { | 
|---|
|  |  |  | obj1: { list: [], total: 0 }, | 
|---|
|  |  |  | obj2: { list: [], total: 0 }, | 
|---|
|  |  |  | obj3: { list: [], total: 0 }, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | regionDataRanking({ type: 3 }).then(res => { | 
|---|
|  |  |  | let arr = res.data || [] | 
|---|
|  |  |  | obj.obj1.list = arr | 
|---|
|  |  |  | arr.forEach(i => { | 
|---|
|  |  |  | obj.obj1.total += Number(i.value) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | obj.obj1.total = obj.obj1.total.toFixed(1) | 
|---|
|  |  |  | dataObj6.value = obj | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | regionDataRanking({ type: 1 }).then(res => { | 
|---|
|  |  |  | let arr = res.data || [] | 
|---|
|  |  |  | obj.obj2.list = arr | 
|---|
|  |  |  | arr.forEach(i => { | 
|---|
|  |  |  | obj.obj2.total += Number(i.value) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | obj.obj2.total = obj.obj2.total.toFixed(1) | 
|---|
|  |  |  | dataObj6.value = obj | 
|---|
|  |  |  | changeacDay(1) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | regionDataRanking({ type: 2 }).then(res => { | 
|---|
|  |  |  | let arr = res.data || [] | 
|---|
|  |  |  | obj.obj3.list = arr | 
|---|
|  |  |  | arr.forEach(i => { | 
|---|
|  |  |  | obj.obj3.total += Number(i.value) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | obj.obj3.total = obj.obj3.total.toFixed(1) | 
|---|
|  |  |  | dataObj6.value = obj | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const activeTab2 = ref(0) | 
|---|
|  |  |  | const tabsClick2 = (v) => { | 
|---|
|  |  |  | activeTab2.value = v | 
|---|
|  |  |  | getData2() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const data2 = ref([]) | 
|---|
|  |  |  | const initEnergy = () => { | 
|---|
|  |  |  | var myChart = echarts.init(document.querySelector('.energyRef')) | 
|---|
|  |  |  | // 绘制图表 | 
|---|
|  |  |  | const arr = ['#68e2e3', '#50afd3', '#377cdb', '#d5ae3a'] | 
|---|
|  |  |  | let unit = activeTab2.value == 0 ? '单位:t' : activeTab2.value == 3 ? '单位:kw·h' : '单位:m³' | 
|---|
|  |  |  |  | 
|---|
|  |  |  | myChart.setOption({ | 
|---|
|  |  |  | grid: { | 
|---|
|  |  |  | top: '20%', | 
|---|
|  |  |  | left: '2%', | 
|---|
|  |  |  | left: '6%', | 
|---|
|  |  |  | right: '2%', | 
|---|
|  |  |  | bottom: '4%', | 
|---|
|  |  |  | containLabel: true | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | tooltip: { | 
|---|
|  |  |  | trigger: 'axis', | 
|---|
|  |  |  | axisPointer: { | 
|---|
|  |  |  | type: 'line' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | formatter: function (params) { | 
|---|
|  |  |  | // 遍历悬浮时的所有点,定制化显示内容 | 
|---|
|  |  |  | let result = `<div> | 
|---|
|  |  |  | <div style="width: 120px">${params[0].name}月</div> | 
|---|
|  |  |  | <div style="display: flex;align-items: center;;margin-top: 2px;"> | 
|---|
|  |  |  | <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #61a1c4;margin-right: 6px;"></div></div> | 
|---|
|  |  |  | <div><strong>${params[0].value} </strong></div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div>` | 
|---|
|  |  |  | return result | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | xAxis: { | 
|---|
|  |  |  | type: 'category', | 
|---|
|  |  |  | data: [1, 2, 3, 4, 4, 5] | 
|---|
|  |  |  | axisLabel: { | 
|---|
|  |  |  | color: '#D2E0FF' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | data: data2.value.map(i => dayjs(i.timeData).format('M')) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | yAxis: { | 
|---|
|  |  |  | type: 'value', | 
|---|
|  |  |  | name: 'kw·h', | 
|---|
|  |  |  | name: unit, | 
|---|
|  |  |  | axisLabel: { | 
|---|
|  |  |  | color: '#D2E0FF' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | nameTextStyle: { | 
|---|
|  |  |  | color: '#D2E0FF', | 
|---|
|  |  |  | padding: [0, 0, 4, -30]    // 四个数字分别为上右下左与原位置距离 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | splitLine: { | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | series: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data: [1, 2, 3, 4, 5], | 
|---|
|  |  |  | data: data2.value.map(i => i.energy), | 
|---|
|  |  |  | type: 'bar', | 
|---|
|  |  |  | barWidth: 10, | 
|---|
|  |  |  | itemStyle: { | 
|---|
|  |  |  | 
|---|
|  |  |  | color: new echarts.graphic.LinearGradient( | 
|---|
|  |  |  | 0, 0, 0, 1, | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | { offset: 0, color: arr[1] }, | 
|---|
|  |  |  | { offset: 1, color: '#080807' } | 
|---|
|  |  |  | { offset: 0, color: '#50afd3' }, | 
|---|
|  |  |  | { offset: 1, color: '#1d4861' } | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | barBorderRadius: [10, 10, 0, 0] | 
|---|
|  |  |  | barBorderRadius: [3, 3, 0, 0] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | myChart.resize() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const data1 = ref({}) | 
|---|
|  |  |  | const getData1 = () => { | 
|---|
|  |  |  | zxcenterData().then(res => { | 
|---|
|  |  |  | const result = res.data | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const data2 = ref([]) | 
|---|
|  |  |  | const getData2 = () => { | 
|---|
|  |  |  | zxenergyDataList().then(res => { | 
|---|
|  |  |  | const result = res.data | 
|---|
|  |  |  | zxenergyDataList({ type: activeTab2.value }).then(res => { | 
|---|
|  |  |  | const result = res.data || [] | 
|---|
|  |  |  | data2.value = result | 
|---|
|  |  |  | initEnergy() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const data3 = ref([]) | 
|---|
|  |  |  | const getData3 = () => { | 
|---|
|  |  |  | zxlastMonthOil().then(res => { | 
|---|
|  |  |  | const result = res.data | 
|---|
|  |  |  | data3.value = result | 
|---|
|  |  |  | const result = res.data || [] | 
|---|
|  |  |  | if (result.length > 0) { | 
|---|
|  |  |  | data3.value = result.map(i => { | 
|---|
|  |  |  | if (i.quantity || i.quantity == 0) { | 
|---|
|  |  |  | i.rate = ((i.quantity / result[0].quantity) * 25).toFixed(0) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return i | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const data4 = ref([]) | 
|---|
|  |  |  | const getData4 = () => { | 
|---|
|  |  |  | zxloadCurve().then(res => { | 
|---|
|  |  |  | const result = res.data | 
|---|
|  |  |  | const result = res.data || [] | 
|---|
|  |  |  | data4.value = result | 
|---|
|  |  |  | initLoadReal() | 
|---|
|  |  |  | if (data4.value && data4.value.length > 0) { | 
|---|
|  |  |  | initLoadReal() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const data5 = ref([]) | 
|---|
|  |  |  | const getData5 = () => { | 
|---|
|  |  |  | zxenergyDataList({ type: 2 }).then(res => { | 
|---|
|  |  |  | const result = res.data || [] | 
|---|
|  |  |  | data5.value = result | 
|---|
|  |  |  | initOperation() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const autoplayFlag = (list = [], leng = 4, time = 2000) => { | 
|---|
|  |  |  | if (list.length > leng) { | 
|---|
|  |  |  | return { delay: time, disableOnInteraction: false } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const loopFn1 = () => { | 
|---|
|  |  |  | var newSwiper1 = new Swiper('.one-swiper', { | 
|---|
|  |  |  | initialSlide: 0, | 
|---|
|  |  |  | direction: 'vertical', //竖直方向 | 
|---|
|  |  |  | slidesPerView: 6, | 
|---|
|  |  |  | autoplay: autoplayFlag(data3.value, 6, 4000), | 
|---|
|  |  |  | observer: true, //修改swiper自己或子元素时,自动初始化swiper | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | getData2() | 
|---|
|  |  |  | getData3() | 
|---|
|  |  |  | getData4() | 
|---|
|  |  |  | getData5() | 
|---|
|  |  |  | getData6() | 
|---|
|  |  |  | setInterval(() => { | 
|---|
|  |  |  | getData4() | 
|---|
|  |  |  | }, 1000 * 60) | 
|---|
|  |  |  | setInterval(() => { | 
|---|
|  |  |  | getData1() | 
|---|
|  |  |  | getData2() | 
|---|
|  |  |  | getData3() | 
|---|
|  |  |  | getData5() | 
|---|
|  |  |  | getData6() | 
|---|
|  |  |  | }, 1000 * 60 * 60) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | loopFn1() | 
|---|
|  |  |  | }, 12000) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .load_wrap { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 210px; | 
|---|
|  |  |  | padding: 12px 12px; | 
|---|
|  |  |  | height: 250px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .loadRef { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | 
|---|
|  |  |  | .left_box_three { | 
|---|
|  |  |  | .energy_wrap { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 200px; | 
|---|
|  |  |  | height: 250px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .energyRef { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | 
|---|
|  |  |  | height: 544px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .item { | 
|---|
|  |  |  | width: 120px; | 
|---|
|  |  |  | height: 112px; | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bg { | 
|---|
|  |  |  | margin: 0 auto; | 
|---|
|  |  |  | width: 120px; | 
|---|
|  |  |  | height: 88px; | 
|---|
|  |  |  | top: 24px; | 
|---|
|  |  |  | left: 50%; | 
|---|
|  |  |  | transform: translate(-50%, 0); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bottom { | 
|---|
|  |  |  | width: 140px; | 
|---|
|  |  |  | width: 150px; | 
|---|
|  |  |  | height: 194px; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | margin-bottom: 20px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .list { | 
|---|
|  |  |  | padding: 20px 24px 4px; | 
|---|
|  |  |  | padding: 0px 24px; | 
|---|
|  |  |  | height: 228px; | 
|---|
|  |  |  | margin: 20px 0 0; | 
|---|
|  |  |  | overflow: auto; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .line { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | margin-bottom: 16px; | 
|---|
|  |  |  | /* margin-bottom: 16px; */ | 
|---|
|  |  |  | height: 38px !important; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .top { | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | 
|---|
|  |  |  | margin-right: 10px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .top3 { | 
|---|
|  |  |  | box-shadow: inset 0px 0px 3px 0px #FEAF01; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .id_card { | 
|---|
|  |  |  | color: #DBEAEA; | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | margin-right: 14px; | 
|---|
|  |  |  | font-size: 14px; | 
|---|
|  |  |  | margin-right: 6px; | 
|---|
|  |  |  | font-size: 13px; | 
|---|
|  |  |  | width: 68px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .num { | 
|---|
|  |  |  | 
|---|
|  |  |  | font-size: 13px; | 
|---|
|  |  |  | color: #DBEAEA; | 
|---|
|  |  |  | margin-left: 15px; | 
|---|
|  |  |  | width: 40px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .wrap { | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .right_box_three { | 
|---|
|  |  |  | .wrap { | 
|---|
|  |  |  | padding: 8px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .analyseRef { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 210px; | 
|---|
|  |  |  | height: 250px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | font-size: 14px; | 
|---|
|  |  |  | color: #d2e0ff; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .tab { | 
|---|
|  |  |  | cursor: pointer; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .separate { | 
|---|
|  |  |  | width: 1px; | 
|---|
|  |  |  | 
|---|
|  |  |  | height: 980px; | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .main_bg { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | left: 0; | 
|---|