2023-05-12 08:41:33 +00:00
|
|
|
<template>
|
|
|
|
<div class="content-right">
|
|
|
|
<el-row >
|
|
|
|
<el-col :span="8">
|
|
|
|
<border2 ref="borderElectriccontrol">
|
|
|
|
<template v-slot>
|
|
|
|
<pm name="Electriccontrol" :title="t('messages.pmHanJie')" ref="refwelding"></pm>
|
|
|
|
</template>
|
|
|
|
</border2>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="8">
|
|
|
|
<border2 ref="borderfinish">
|
|
|
|
<template v-slot>
|
|
|
|
<pm name="finish" :title="t('messages.pmJingShi')" ref="refornaments"></pm>
|
|
|
|
</template>
|
|
|
|
</border2>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="8">
|
|
|
|
<border2 ref="borderlarge">
|
|
|
|
<template v-slot>
|
|
|
|
<pm name="large" :title="t('messages.pmDaJian')" ref="refstuff"></pm>
|
|
|
|
</template>
|
|
|
|
</border2>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
<el-row >
|
|
|
|
<el-col :span="24">
|
|
|
|
<border2 ref="borderhumiture">
|
|
|
|
<template v-slot>
|
|
|
|
<humiture ref="Refhumiture"></humiture>
|
|
|
|
</template>
|
|
|
|
</border2>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
|
import border2 from "@/components/borderBox/border2.vue";
|
|
|
|
import pm from "./chart/pm.vue"
|
|
|
|
import humiture from './chart/humiture.vue'
|
|
|
|
import { calcWH } from "@/components/ts/selfAdaption";
|
|
|
|
import { getHumitureData,getPmtenData, getPmtwoData } from "@/http/generalEnvironment";
|
|
|
|
// import { getHumitureData,getPmtenData, getPmtwoData } from "@/http/environment";
|
|
|
|
import {onMounted, ref, watch} from "vue"
|
|
|
|
import { useSocketStore } from "@/store/moduleSocketjixie";
|
|
|
|
import { useI18n } from 'vue-i18n'
|
|
|
|
let {t} = useI18n();
|
|
|
|
const store = useSocketStore()
|
|
|
|
let props=defineProps<{
|
|
|
|
width:number,
|
|
|
|
height:number,
|
|
|
|
}>()
|
|
|
|
|
|
|
|
watch(()=>props,(newVal, oldVal)=>{
|
|
|
|
//监听父组件宽高变化,随时重置本组件尺寸
|
|
|
|
reset(newVal)
|
|
|
|
},{immediate:true,deep:true,flush:'post'})
|
|
|
|
|
|
|
|
//边框dom
|
|
|
|
let borderElectriccontrol=ref()
|
|
|
|
let borderfinish=ref()
|
|
|
|
let borderlarge=ref()
|
|
|
|
let borderhumiture=ref()
|
|
|
|
|
|
|
|
//内容dom
|
|
|
|
let refwelding=ref()
|
|
|
|
let refornaments=ref()
|
|
|
|
let refstuff=ref()
|
|
|
|
let Refhumiture=ref()
|
|
|
|
function reset(val:any){
|
|
|
|
//宽高为0时跳出该方法
|
|
|
|
if(!val.width && !val.height) return
|
|
|
|
|
|
|
|
//重置边框尺寸
|
|
|
|
resetBorder()
|
|
|
|
//重置盒子尺寸
|
|
|
|
threebox(val.width,val.height)
|
|
|
|
onebox(val.width,val.height)
|
|
|
|
}
|
|
|
|
|
|
|
|
const resetBorder=()=>{
|
|
|
|
borderElectriccontrol.value.resetWH()
|
|
|
|
borderfinish.value.resetWH()
|
|
|
|
borderlarge.value.resetWH()
|
|
|
|
borderhumiture.value.resetWH()
|
|
|
|
}
|
|
|
|
|
|
|
|
const threebox=(width:any,height:any)=>{
|
|
|
|
let a=calcWH(height,width,3,3,0)
|
|
|
|
//修改高度
|
|
|
|
refwelding.value.setchartWH(a.oWidth,a.oHeight)
|
|
|
|
refornaments.value.setchartWH(a.oWidth,a.oHeight)
|
|
|
|
refstuff.value.setchartWH(a.oWidth,a.oHeight)
|
|
|
|
}
|
|
|
|
const onebox=(width:any,height:any)=>{
|
|
|
|
let a=calcWH(height,width,3,1,0)
|
|
|
|
//修改高度
|
2023-05-24 01:46:48 +00:00
|
|
|
Refhumiture.value.setchartWH(a.oWidth,a.oHeight*2-49)
|
2023-05-12 08:41:33 +00:00
|
|
|
}
|
|
|
|
watch(
|
|
|
|
() => store.humiture,
|
|
|
|
(newVal, oldVal) => {
|
|
|
|
//动态更新echarts
|
|
|
|
// if(oldVal)
|
|
|
|
Refhumiture.value.setData(newVal,2)
|
|
|
|
},
|
|
|
|
{ deep: true, flush: "post" }
|
|
|
|
);
|
|
|
|
async function gethumitureData(){
|
|
|
|
let pageValue='6,7,9,10,11'
|
|
|
|
let result:any = await getHumitureData({deptIds:pageValue})
|
|
|
|
|
|
|
|
if(result.code==200){
|
|
|
|
Refhumiture.value.setData(result.data,1)
|
|
|
|
store.$patch((state)=>{
|
|
|
|
state.humiture=result.data
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* @函数功能: 监听缓存数据数据改变更新视图
|
|
|
|
* @出口参数:
|
|
|
|
* @函数备注:
|
|
|
|
*/
|
|
|
|
watch(
|
|
|
|
() => store.pm,
|
|
|
|
(newVal, oldVal) => {
|
|
|
|
//动态更新echarts
|
|
|
|
refwelding.value.setData(newVal.welding,2)
|
|
|
|
refornaments.value.setData(newVal.ornaments,2)
|
|
|
|
refstuff.value.setData(newVal.stuff,2)
|
|
|
|
},
|
|
|
|
{ deep: true, flush: "post" }
|
|
|
|
);
|
|
|
|
/**
|
|
|
|
* @函数功能: 获取所有空气质量数据
|
|
|
|
* @出口参数:
|
|
|
|
* @函数备注:
|
|
|
|
*/
|
|
|
|
async function getPmData(){
|
|
|
|
let resulttwo:any = await getPmtwoData()
|
|
|
|
let resultten:any = await getPmtenData()
|
|
|
|
let data={welding:{two:null,ten:null},stuff:{two:null,ten:null},ornaments:{two:null,ten:null}}
|
|
|
|
if(resulttwo.code==200){
|
|
|
|
resulttwo.data.forEach(res=>{
|
2023-05-16 10:01:49 +00:00
|
|
|
if(data[res.enName]){
|
|
|
|
data[res.enName].two=res.value
|
2023-05-12 08:41:33 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
}
|
|
|
|
if(resultten.code==200){
|
|
|
|
resultten.data.forEach(res=>{
|
2023-05-16 10:01:49 +00:00
|
|
|
if(data[res.enName]){
|
|
|
|
data[res.enName].ten=res.value
|
2023-05-12 08:41:33 +00:00
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
refwelding.value.setData(data.welding,1)
|
|
|
|
refornaments.value.setData(data.ornaments,1)
|
|
|
|
refstuff.value.setData(data.stuff,1)
|
|
|
|
|
|
|
|
|
|
|
|
store.$patch((state)=>{
|
|
|
|
state.pm=data
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
onMounted(()=>{
|
|
|
|
gethumitureData()
|
|
|
|
getPmData()
|
|
|
|
})
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scope>
|
|
|
|
.content-right{
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|