| | |
| | | <img class="w-[24px] h-[24px]" src="../assets/images/backgrounds/shishirenshu.png" alt="" /> |
| | | <span class="satalabel ml-[8px]">实时人数</span> |
| | | </div> |
| | | <div class="value text-[#00FFFF] text-[28px] font-bold">62</div> |
| | | <div class="value text-[#00FFFF] text-[28px] font-bold">{{ userData.RealtimeUserNumber }}</div> |
| | | </div> |
| | | <div class="stat-item mb-[10px]"> |
| | | <div class="stat-info"> |
| | | <img class="w-[24px] h-[24px]" src="../assets/images/backgrounds/people.png" alt="" /> |
| | | <span class="satalabel ml-[8px]">今日累计/人次</span> |
| | | </div> |
| | | <div class="value text-[#FFD500] text-[28px] font-bold">62</div> |
| | | <div class="value text-[#FFD500] text-[28px] font-bold">{{ userData.TodayUserNumber }}</div> |
| | | </div> |
| | | <div class="stat-item"> |
| | | <div class="stat-info"> |
| | | <img class="w-[24px] h-[24px]" src="../assets/images/backgrounds/zaigang.png" alt="" /> |
| | | <span class="satalabel ml-[8px]">在岗总数</span> |
| | | </div> |
| | | <div class="value text-[#FFD500] text-[28px] font-bold">62</div> |
| | | <div class="value text-[#FFD500] text-[28px] font-bold">{{ userData.DutyUserTotle }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="env-info"> |
| | | <span class="envlabel">大气温度</span> |
| | | <div class="envvalue" :style="enviorStyle"> |
| | | <span class="envvalue-text">5°C</span> |
| | | <span class="envvalue-text">{{ evnData.Tmp + "°C" }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="env-info"> |
| | | <span class="envlabel">大气湿度</span> |
| | | <div class="envvalue" :style="enviorStyle"> |
| | | <span class="envvalue-text">22.9%</span> |
| | | <span class="envvalue-text">{{ evnData.Rh + "%" }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="env-info"> |
| | | <span class="envlabel">PM2.5</span> |
| | | <div class="envvalue" :style="enviorStyle"> |
| | | <span class="envvalue-text">10 μg/m³</span> |
| | | <span class="envvalue-text">{{ evnData.Pm25 + "μg/m³" }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="env-info"> |
| | | <span class="envlabel">PM10</span> |
| | | <div class="envvalue" :style="enviorStyle"> |
| | | <span class="envvalue-text">13 μg/m³</span> |
| | | <span class="envvalue-text">{{ evnData.Pm10 + "μg/m³" }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="env-info"> |
| | | <span class="envlabel">风力</span> |
| | | <div class="envvalue" :style="enviorStyle"> |
| | | <span class="envvalue-text">3级</span> |
| | | <span class="envvalue-text">{{ evnData.Ws }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="env-info"> |
| | | <span class="envlabel">风向</span> |
| | | <div class="envvalue" :style="enviorStyle"> |
| | | <span class="envvalue-text">北风</span> |
| | | <span class="envvalue-text">{{ evnData.Wd }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | evnData: { |
| | | Tmp: "0", |
| | | Rh: "0", |
| | | Pm25: "0", |
| | | Pm10: "0", |
| | | Ws: "0", |
| | | Wd: "无", |
| | | }, |
| | | userData: { |
| | | RealtimeUserNumber: 0, |
| | | TodayUserNumber: 0, |
| | | DutyUserTotle: 0, |
| | | }, |
| | | deviceSelected: "", |
| | | options: [], |
| | | backgroundImage: new URL("@/assets/images/backgrounds/cover_bg.png", import.meta.url).href, |
| | |
| | | }, |
| | | data: [ |
| | | { |
| | | value: 81.5, |
| | | value: 0, |
| | | name: "", |
| | | itemStyle: { |
| | | color: "#00FFFF", |
| | | }, |
| | | }, |
| | | { |
| | | value: 18.5, |
| | | value: 100, |
| | | name: "", |
| | | itemStyle: { |
| | | color: "transparent", |
| | |
| | | }, |
| | | data: [ |
| | | { |
| | | value: 33, |
| | | value: 0, |
| | | name: "", |
| | | itemStyle: { |
| | | color: "#00FFFF", |
| | | }, |
| | | }, |
| | | { |
| | | value: 77, |
| | | value: 100, |
| | | name: "", |
| | | itemStyle: { |
| | | color: "transparent", |
| | |
| | | }, |
| | | data: [ |
| | | { |
| | | value: 20, |
| | | value: 0, |
| | | name: "", |
| | | itemStyle: { |
| | | color: "#00FFFF", |
| | | }, |
| | | }, |
| | | { |
| | | value: 80, |
| | | value: 100, |
| | | name: "", |
| | | itemStyle: { |
| | | color: "transparent", |
| | |
| | | console.log("设备界面接收到的数据:", newVal); |
| | | // 处理数据变化的逻辑 |
| | | this.getDeviceTypes(newVal); |
| | | this.getEnvData(newVal); |
| | | this.getUserData(newVal); |
| | | }, |
| | | deep: true, // 深度监听对象内部变化 |
| | | immediate: true, // 立即执行一次 |
| | |
| | | */ |
| | | handleSelectChange(val) { |
| | | this.getDeviceState(val); |
| | | // this.getEnvData(val); |
| | | // this.getUserData(val); |
| | | }, |
| | | /** |
| | | * 获取人员数据 |
| | | * @param bindId |
| | | */ |
| | | getUserData(bindId) { |
| | | const params = { |
| | | bindId, |
| | | }; |
| | | HomeAPI.GetJSCUserManage(params).then((res) => { |
| | | if (res.Ret === 1) { |
| | | const result = res.Data; |
| | | if (result) { |
| | | this.userData = result; |
| | | } else { |
| | | this.userData = { |
| | | RealtimeUserNumber: 0, |
| | | TodayUserNumber: 0, |
| | | DutyUserTotle: 0, |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | /** |
| | | * 获取环境数据 |
| | | */ |
| | | getEnvData(bindId) { |
| | | const params = { |
| | | bindId, |
| | | }; |
| | | HomeAPI.GetJSCEnvMonitor(params).then((res) => { |
| | | if (res.Ret === 1) { |
| | | const result = res.Data; |
| | | if (result) { |
| | | this.evnData = result; |
| | | } else { |
| | | this.evnData = { |
| | | Tmp: "0", |
| | | Rh: "0", |
| | | Pm25: "0", |
| | | Pm10: "0", |
| | | Ws: "0", |
| | | Wd: "无", |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | /** |
| | | * 获取设备类型 |