2023-05-12 08:41:33 +00:00
|
|
|
|
/*
|
2023-05-19 06:45:27 +00:00
|
|
|
|
* @FilePath: \screenFront\src\store\moduleSocket.ts
|
2023-05-12 08:41:33 +00:00
|
|
|
|
* @Author: 王路平
|
|
|
|
|
* @文件版本: V1.0.0
|
|
|
|
|
* @Date: 2023-02-06 15:58:13
|
|
|
|
|
* @Description:
|
|
|
|
|
*
|
|
|
|
|
* 版权信息 : 2023 by ${再登软件}, All Rights Reserved.
|
|
|
|
|
*/
|
|
|
|
|
import { defineStore } from "pinia";
|
|
|
|
|
import { Names } from '@/store/storeName'
|
2023-06-05 02:48:25 +00:00
|
|
|
|
import { gettime, clacendTime } from "@/utils/time"
|
2023-05-12 08:41:33 +00:00
|
|
|
|
export const useSocketStore = defineStore(Names.socket, {
|
|
|
|
|
// 使用方式
|
|
|
|
|
// const Index= useIndexStore()
|
|
|
|
|
// 1、Index.{数据}++
|
|
|
|
|
// 2、Index.$patch({数据:??})
|
|
|
|
|
// 3、Index.$patch((state)=>{ state.数据=??})
|
|
|
|
|
// 4、通过action修改
|
|
|
|
|
state: () => {
|
|
|
|
|
return {
|
|
|
|
|
noise: {
|
|
|
|
|
listData: [],
|
|
|
|
|
top: {
|
|
|
|
|
name: null,
|
|
|
|
|
value: null
|
|
|
|
|
}
|
|
|
|
|
}, //环境常规噪音
|
|
|
|
|
pm: { welding: { two: null, ten: null }, stuff: { two: null, ten: null }, ornaments: { two: null, ten: null } }, //空气质量数据
|
|
|
|
|
humiture: { Humiture: [], bottom: { humidity: null, temp: null, name: null }, top: { humidity: null, temp: null, name: null } }, //温湿度
|
|
|
|
|
verticalNum: { //安全检测
|
|
|
|
|
paintingGas: { limit: null, value: null, icon: 'icon-ranqi', unit: null, devName: null },
|
|
|
|
|
boilerGas: { limit: null, value: null, icon: 'icon-ranqi', unit: null, devName: null },
|
|
|
|
|
canteenGas: { limit: null, value: null, icon: 'icon-ranqi', unit: null, devName: null },
|
|
|
|
|
TVOC_CH2O: { CH2O: { limit: null, value: null, icon: 'icon-app_icons--', unit: 'mg/m3', devName: null }, TVOC: { limit: null, value: null, icon: 'icon-TVOC-Outlined', unit: 'mg/m3', devName: null } },
|
|
|
|
|
flame: { limit: null, value: null, icon: 'icon-weibiaoti1', unit: null, devName: null },
|
|
|
|
|
smoke: { limit: null, value: null, icon: 'icon-yanwubaojingqi', unit: null, devName: null },
|
|
|
|
|
},
|
|
|
|
|
Pressure: { east: 0, west: 0 }, //东西泵房气压
|
|
|
|
|
pipe: { listData: [], top: { name: null, value: null } },
|
|
|
|
|
newVerticalNum: [
|
|
|
|
|
{
|
|
|
|
|
"type": "TVOC",
|
|
|
|
|
"icon": "icon-TVOC-Outlined",
|
|
|
|
|
"title": "TVOC检测",
|
|
|
|
|
"limit": "0.5",
|
|
|
|
|
"unit": "mg/m³",
|
|
|
|
|
"value": [
|
|
|
|
|
{
|
|
|
|
|
"name": "精饰车间TVOC/甲醛监测传感器",
|
|
|
|
|
"val": null,
|
|
|
|
|
"type": "TVOC_CH2O",
|
|
|
|
|
"field": "TVOC"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "Smoke",
|
|
|
|
|
"icon": "icon-yanwubaojingqi",
|
|
|
|
|
"title": "烟雾检测",
|
|
|
|
|
"limit": "100",
|
2023-05-24 08:03:42 +00:00
|
|
|
|
"unit": 'ppm',
|
2023-05-12 08:41:33 +00:00
|
|
|
|
"value": [
|
|
|
|
|
{
|
|
|
|
|
"name": "精饰车间烟雾传感器",
|
|
|
|
|
"val": null,
|
|
|
|
|
"type": "Smoke",
|
|
|
|
|
"field": "Smoke_Reg"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "Methane",
|
|
|
|
|
"icon": "icon-ranqi",
|
|
|
|
|
"title": "燃气检测",
|
|
|
|
|
"limit": "0",
|
|
|
|
|
"unit": null,
|
|
|
|
|
"value": [
|
|
|
|
|
{
|
|
|
|
|
"name": "精饰车间燃气监测",
|
|
|
|
|
"val": null,
|
|
|
|
|
"type": "Methane",
|
|
|
|
|
"field": "Methane_Reg"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "食堂燃气监测",
|
|
|
|
|
"val": null,
|
|
|
|
|
"type": "Methane",
|
|
|
|
|
"field": "Methane_Reg"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "锅炉房燃气监测",
|
|
|
|
|
"val": null,
|
|
|
|
|
"type": "Methane",
|
|
|
|
|
"field": "Methane_Reg"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CH2O",
|
|
|
|
|
"icon": "icon-app_icons--",
|
|
|
|
|
"title": "甲醛检测",
|
|
|
|
|
"limit": "0.08",
|
|
|
|
|
"unit": "mg/m³",
|
|
|
|
|
"value": [
|
|
|
|
|
{
|
|
|
|
|
"name": "精饰车间TVOC/甲醛监测传感器",
|
|
|
|
|
"val": null,
|
|
|
|
|
"type": "TVOC_CH2O",
|
|
|
|
|
"field": "CH2O"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "FIRE",
|
|
|
|
|
"icon": "icon-weibiaoti1",
|
|
|
|
|
"title": "明火检测",
|
|
|
|
|
"limit": "0",
|
|
|
|
|
"unit": null,
|
|
|
|
|
"value": [
|
|
|
|
|
{
|
|
|
|
|
"name": "精饰车间火花传感器",
|
|
|
|
|
"val": null,
|
|
|
|
|
"type": "FIRE",
|
|
|
|
|
"field": "Fire_Reg"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
//computed 修改一些值
|
|
|
|
|
//需要使用return将数据抛出
|
|
|
|
|
//getters内可相互使用计算结果
|
|
|
|
|
//使用时可直接放入标签内<div>Index.方法()</div>
|
|
|
|
|
getters: {
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
//methods 可同步/异步,提交state
|
|
|
|
|
//actions内获取state数据使用this
|
|
|
|
|
// 使用方式
|
|
|
|
|
// 1、Index.方法()
|
|
|
|
|
//异步方法需要添加async和await
|
|
|
|
|
actions: {
|
|
|
|
|
/**
|
|
|
|
|
* @函数功能:
|
|
|
|
|
* @param {*} val 环境噪音参数
|
|
|
|
|
* @出口参数:
|
|
|
|
|
* @函数备注:
|
|
|
|
|
*/
|
|
|
|
|
changenoise(val) {
|
|
|
|
|
// this.noise.listData=val.listData
|
|
|
|
|
if (this.noise.listData.length == 0) {
|
|
|
|
|
this.noise.listData = val.listData
|
|
|
|
|
} else {
|
|
|
|
|
val.listData.forEach(res => {
|
|
|
|
|
this.noise.listData.forEach(ele => {
|
2023-05-24 08:03:42 +00:00
|
|
|
|
if (res.devId == ele.devId) {
|
2023-05-12 08:41:33 +00:00
|
|
|
|
ele.value = res.value
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.noise.top.name = val.top.name
|
|
|
|
|
this.noise.top.value = val.top.value
|
|
|
|
|
},
|
|
|
|
|
/**
|
|
|
|
|
* @函数功能:
|
|
|
|
|
* @param {*} val 空气质量参数
|
|
|
|
|
* @出口参数:
|
|
|
|
|
* @函数备注:
|
|
|
|
|
*/
|
|
|
|
|
changePM(val) {
|
2023-07-11 01:52:33 +00:00
|
|
|
|
let arr = ['25c78580-1594-11ee-b4df-a9653aef169c', '2e0310c0-1594-11ee-b4df-a9653aef169c', '6bbbb1b0-1594-11ee-b4df-a9653aef169c']
|
2023-06-05 02:48:25 +00:00
|
|
|
|
|
|
|
|
|
// if (arr.indexOf(val.devId) > -1) {
|
|
|
|
|
// console.log(val,'这三个设备');
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
2023-07-11 01:52:33 +00:00
|
|
|
|
if (val.devId == '2e0310c0-1594-11ee-b4df-a9653aef169c') {
|
2023-06-05 02:48:25 +00:00
|
|
|
|
this.pm.welding.two = val.pm25
|
|
|
|
|
this.pm.welding.ten = val.pm10
|
2023-07-11 01:52:33 +00:00
|
|
|
|
} else if (val.devId == '6bbbb1b0-1594-11ee-b4df-a9653aef169c') {
|
2023-06-05 02:48:25 +00:00
|
|
|
|
this.pm.ornaments.two = val.pm25
|
|
|
|
|
this.pm.ornaments.ten = val.pm10
|
2023-07-11 01:52:33 +00:00
|
|
|
|
} else if (val.devId == '25c78580-1594-11ee-b4df-a9653aef169c') {
|
2023-06-05 02:48:25 +00:00
|
|
|
|
this.pm.stuff.two = val.pm25
|
|
|
|
|
this.pm.stuff.ten = val.pm10
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if (val.enName == 'welding') {
|
|
|
|
|
// this.pm.welding.two = val.pm25
|
|
|
|
|
// this.pm.welding.ten = val.pm10
|
|
|
|
|
// } else if (val.enName == 'stuff') {
|
|
|
|
|
// this.pm.stuff.two = val.pm25
|
|
|
|
|
// this.pm.stuff.ten = val.pm10
|
|
|
|
|
// } else if (val.enName == 'ornaments') {
|
|
|
|
|
// this.pm.ornaments.two = val.pm25
|
|
|
|
|
// this.pm.ornaments.ten = val.pm10
|
|
|
|
|
// }
|
2023-05-12 08:41:33 +00:00
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
/**
|
|
|
|
|
* @函数功能:
|
|
|
|
|
* @param {*} val 温湿度数据
|
|
|
|
|
* @出口参数:
|
|
|
|
|
* @函数备注:
|
|
|
|
|
*/
|
|
|
|
|
changeHumiture(val) {
|
|
|
|
|
if (this.humiture.Humiture?.length == 0) {
|
|
|
|
|
this.humiture = val
|
|
|
|
|
} else {
|
|
|
|
|
val.Humiture.forEach(res => {
|
|
|
|
|
this.humiture.Humiture.forEach(ele => {
|
2023-05-24 08:03:42 +00:00
|
|
|
|
if (res.devId == ele.devId) {
|
2023-05-12 08:41:33 +00:00
|
|
|
|
ele.humidity = res.humidity
|
|
|
|
|
ele.temp = res.temp
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
/**
|
|
|
|
|
* @函数功能:
|
|
|
|
|
* @param {*} val 喷漆燃气检测
|
|
|
|
|
* @出口参数:
|
|
|
|
|
* @函数备注:
|
|
|
|
|
*/
|
|
|
|
|
changepaintingGas(val) {
|
|
|
|
|
this.verticalNum.paintingGas.limit = val.paintingGas.limit
|
|
|
|
|
this.verticalNum.paintingGas.value = val.paintingGas.value
|
|
|
|
|
this.verticalNum.paintingGas.devName = val.devName
|
|
|
|
|
},
|
|
|
|
|
/**
|
|
|
|
|
* @函数功能:
|
|
|
|
|
* @param {*} val 锅炉房燃气检测
|
|
|
|
|
* @出口参数:
|
|
|
|
|
* @函数备注:
|
|
|
|
|
*/
|
|
|
|
|
changeboilerGas(val) {
|
|
|
|
|
this.verticalNum.boilerGas.limit = val.limit
|
|
|
|
|
this.verticalNum.boilerGas.value = val.value
|
|
|
|
|
},
|
|
|
|
|
/**
|
|
|
|
|
* @函数功能:
|
|
|
|
|
* @param {*} val 食堂燃气检测
|
|
|
|
|
* @出口参数:
|
|
|
|
|
* @函数备注:
|
|
|
|
|
*/
|
|
|
|
|
changecanteenGas(val) {
|
|
|
|
|
this.verticalNum.canteenGas.limit = val.limit
|
|
|
|
|
this.verticalNum.canteenGas.value = val.value
|
|
|
|
|
},
|
|
|
|
|
/**
|
|
|
|
|
* @函数功能:
|
|
|
|
|
* @param {*} val 甲醛/tvoc
|
|
|
|
|
* @出口参数:
|
|
|
|
|
* @函数备注:
|
|
|
|
|
*/
|
|
|
|
|
changeTVOC_CH2O(val) {
|
|
|
|
|
|
|
|
|
|
this.verticalNum.TVOC_CH2O.TVOC.limit = val.TVOC.limit
|
|
|
|
|
this.verticalNum.TVOC_CH2O.TVOC.value = val.TVOC.value
|
|
|
|
|
this.verticalNum.TVOC_CH2O.CH2O.limit = val.CH2O.limit
|
|
|
|
|
this.verticalNum.TVOC_CH2O.CH2O.value = val.CH2O.value
|
|
|
|
|
},
|
|
|
|
|
changeCH2O(val) {
|
|
|
|
|
this.verticalNum.TVOC_CH2O.CH2O.limit = val.CH2O.limit
|
|
|
|
|
this.verticalNum.TVOC_CH2O.CH2O.value = val.CH2O.value
|
|
|
|
|
},
|
|
|
|
|
changeTVOC(val) {
|
|
|
|
|
this.verticalNum.TVOC_CH2O.TVOC.limit = val.TVOC.limit
|
|
|
|
|
this.verticalNum.TVOC_CH2O.TVOC.value = val.TVOC.value
|
|
|
|
|
},
|
|
|
|
|
/**
|
|
|
|
|
* @函数功能: 明火检测
|
|
|
|
|
* @param {*} val
|
|
|
|
|
* @出口参数:
|
|
|
|
|
* @函数备注:
|
|
|
|
|
*/
|
|
|
|
|
changeflame(val) {
|
|
|
|
|
this.verticalNum.flame.limit = val.limit
|
|
|
|
|
this.verticalNum.flame.value = val.value
|
|
|
|
|
},
|
|
|
|
|
/**
|
|
|
|
|
* @函数功能:
|
|
|
|
|
* @param {*} val 烟雾报警
|
|
|
|
|
* @出口参数:
|
|
|
|
|
* @函数备注:
|
|
|
|
|
*/
|
|
|
|
|
changesmoke(val) {
|
|
|
|
|
this.verticalNum.smoke.limit = val.limit
|
|
|
|
|
this.verticalNum.smoke.value = val.value
|
|
|
|
|
},
|
|
|
|
|
changePressure(val) {
|
|
|
|
|
this.Pressure = val
|
|
|
|
|
},
|
|
|
|
|
changePipe(val) {
|
2023-05-24 03:59:27 +00:00
|
|
|
|
// console.log(val, "gengxinle ");
|
2023-05-12 08:41:33 +00:00
|
|
|
|
|
|
|
|
|
if (this.pipe.listData.length == 0) {
|
|
|
|
|
this.pipe.listData = val.listData
|
|
|
|
|
} else {
|
|
|
|
|
val.listData.forEach(res => {
|
|
|
|
|
this.pipe.listData.forEach(ele => {
|
|
|
|
|
if (res.devName == ele.devName) {
|
|
|
|
|
ele.value = res.value
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// this.pipe.listData=val.listData
|
|
|
|
|
this.pipe.top.name = val.top.name
|
|
|
|
|
this.pipe.top.value = val.top.value
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
resetRealtimeSecurity() {
|
|
|
|
|
this.verticalNum = { //安全检测
|
|
|
|
|
paintingGas: { limit: null, value: null, icon: 'icon-ranqi', unit: null, devName: null },
|
|
|
|
|
boilerGas: { limit: null, value: null, icon: 'icon-ranqi', unit: null, devName: null },
|
|
|
|
|
canteenGas: { limit: null, value: null, icon: 'icon-ranqi', unit: null, devName: null },
|
|
|
|
|
TVOC_CH2O: { CH2O: { limit: null, value: null, icon: 'icon-app_icons--', unit: 'mg/m3', devName: null }, TVOC: { limit: null, value: null, icon: 'icon-TVOC-Outlined', unit: 'mg/m3', devName: null } },
|
|
|
|
|
flame: { limit: null, value: null, icon: 'icon-weibiaoti1', unit: null, devName: null },
|
|
|
|
|
smoke: { limit: null, value: null, icon: 'icon-yanwubaojingqi', unit: null, devName: null },
|
|
|
|
|
},
|
|
|
|
|
this.Pressure = { east: 0, west: 0 }, //东西泵房气压
|
|
|
|
|
this.pipe = { listData: [], top: { name: null, value: null } }
|
|
|
|
|
},
|
|
|
|
|
//设置新的安全检测数据
|
|
|
|
|
setNewVerticalNum(val) {
|
|
|
|
|
this.newVerticalNum = val
|
|
|
|
|
},
|
|
|
|
|
//更新 新的安全检测数据
|
|
|
|
|
changeNewVerticalNum(val) {
|
|
|
|
|
//{"type":"Smoke","data":{"name":"精饰车间烟雾传感器","val":"100"}}
|
|
|
|
|
let pIndex = this.newVerticalNum.findIndex(item => item.type == val.type)
|
|
|
|
|
let cIndex = null
|
|
|
|
|
if (pIndex != -1) {
|
2023-06-06 10:07:59 +00:00
|
|
|
|
cIndex = this.newVerticalNum[pIndex].value.findIndex(item => item.devId == val.data.devId)
|
2023-05-12 08:41:33 +00:00
|
|
|
|
}
|
|
|
|
|
if (cIndex != -1) {
|
2023-06-05 02:48:25 +00:00
|
|
|
|
if (val.data.val > this.newVerticalNum[pIndex].limit) {
|
|
|
|
|
|
2023-05-12 08:41:33 +00:00
|
|
|
|
let now = new Date().getTime()
|
|
|
|
|
if (this.newVerticalNum[pIndex].value[cIndex].date == null) {
|
|
|
|
|
this.newVerticalNum[pIndex].value[cIndex].date = gettime()
|
|
|
|
|
this.newVerticalNum[pIndex].value[cIndex].time = now
|
|
|
|
|
}
|
2023-06-05 02:48:25 +00:00
|
|
|
|
|
2023-05-12 08:41:33 +00:00
|
|
|
|
let time = this.newVerticalNum[pIndex].value[cIndex].time
|
|
|
|
|
|
2023-06-05 02:48:25 +00:00
|
|
|
|
this.newVerticalNum[pIndex].value[cIndex].continuous = clacendTime(now, time)
|
2023-05-12 08:41:33 +00:00
|
|
|
|
} else {
|
|
|
|
|
this.newVerticalNum[pIndex].value[cIndex].date = null
|
|
|
|
|
this.newVerticalNum[pIndex].value[cIndex].time = null
|
|
|
|
|
}
|
|
|
|
|
this.newVerticalNum[pIndex].value[cIndex].val = val.data.val
|
2023-05-19 06:45:27 +00:00
|
|
|
|
this.newVerticalNum[pIndex].value[cIndex].status = true
|
2023-05-12 08:41:33 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|