/* * @FilePath: \wwwd:\code\screenFront\src\store\moduleSocketjixie.ts * @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' import {gettime,clacendTime} from "@/utils/time" export const useSocketStore = defineStore(Names.socketjixiefenchang,{ // 使用方式 // 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", "unit": null, "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内可相互使用计算结果 //使用时可直接放入标签内
Index.方法()
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=>{ if(res.name==ele.name){ ele.value=res.value } }) }) } this.noise.top.name=val.top.name this.noise.top.value=val.top.value }, /** * @函数功能: * @param {*} val 空气质量参数 * @出口参数: * @函数备注: */ changePM(val){ 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 } }, /** * @函数功能: * @param {*} val 温湿度数据 * @出口参数: * @函数备注: */ changeHumiture(val){ console.log(this.humiture.Humiture); if(this.humiture.Humiture.length==0){ this.humiture=val }else{ val.Humiture.forEach(res=>{ this.humiture.Humiture.forEach(ele=>{ if(res.name==ele.name){ 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){ console.log(val,"gengxinle "); 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:'PPM',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) { cIndex = this.newVerticalNum[pIndex].value.findIndex(item => item.name == val.data.name) } if (cIndex != -1) { if (val.data.val>this.newVerticalNum[pIndex].limit) { 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 } let time = this.newVerticalNum[pIndex].value[cIndex].time this.newVerticalNum[pIndex].value[cIndex].continuous = clacendTime(now,time) } else { this.newVerticalNum[pIndex].value[cIndex].date = null this.newVerticalNum[pIndex].value[cIndex].time = null } this.newVerticalNum[pIndex].value[cIndex].val = val.data.val } } } })