diff --git a/.env.dev b/.env.dev
index 14470802..44f8ea48 100644
--- a/.env.dev
+++ b/.env.dev
@@ -13,7 +13,11 @@ VUE_APP_TITLE = MES系统
# 芋道管理系统/开发环境
# VUE_APP_BASE_API = 'http://100.64.0.26:48082'
-VUE_APP_BASE_API = 'http://10.70.2.2:8080'
+
+# VUE_APP_BASE_API = 'http://192.168.0.33:48082'
+
+# VUE_APP_BASE_API = 'http://10.70.2.2:8080'
+
# VUE_APP_BASE_API = 'http://192.168.4.173:48080'
# VUE_APP_BASE_API = 'http://192.168.2.173:48080'
# VUE_APP_BASE_API = 'http://192.168.1.49:48082'
@@ -23,6 +27,8 @@ VUE_APP_BASE_API = 'http://10.70.2.2:8080'
# VUE_APP_BASE_API = 'http://192.168.1.62:48082'
# VUE_APP_BASE_API = 'http://192.168.1.78:48082'
+
+VUE_APP_BASE_API = 'http://100.64.0.23:48082'
# 积木报表指向地址
VUE_APP_JIMU_API = 'http://10.70.2.22:8080'
diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue
index ca436de0..7b7b76fc 100644
--- a/src/layout/components/TagsView/index.vue
+++ b/src/layout/components/TagsView/index.vue
@@ -48,6 +48,7 @@
+
+
diff --git a/src/views/databoard/components/GasChart.vue b/src/views/databoard/components/GasChart.vue
index 5b70f50e..3a7b46f9 100644
--- a/src/views/databoard/components/GasChart.vue
+++ b/src/views/databoard/components/GasChart.vue
@@ -17,7 +17,10 @@ export default {
name: 'GasChart',
mixins: [resize],
components: {},
- props: {},
+ props: {
+ chartType: '', // 能源类型
+ chartTime: ''
+ },
data() {
const colors = [
'#12FFF5',
@@ -30,22 +33,154 @@ export default {
'#2aa1ff',
];
return {
- chart: null,
- option: {
- color: colors,
- grid: { top: 32, right: 12, bottom: 20, left: 48 },
- xAxis: {
- type: 'category',
- data: Array(7)
+ chart: null
+ };
+ },
+ computed: {
+ gasChartMsg() {
+ return this.$store.state.websocket.sumGasInfo
+ },
+ energyWeekTrend() {
+ return this.$store.state.websocket.energyWeekTrend
+ },
+ energyMonthTrend() {
+ return this.$store.state.websocket.energyMonthTrend
+ },
+ energyYearTrend() {
+ return this.$store.state.websocket.energyYearTrend
+ }
+ },
+ watch: {
+ energyWeekTrend: {// 监听时间变化,更新图
+ handler(newVal, oldVal) {
+ if (this.chartTime === '周' && this.chartType === '电耗能') {
+ this.updateChart()
+ }
+ }
+ },
+ energyMonthTrend: {// 监听时间变化,更新图
+ handler(newVal, oldVal) {
+ if (this.chartTime === '月' && this.chartType === '电耗能') {
+ this.updateChart()
+ }
+ }
+ },
+ energyYearTrend: {// 监听时间变化,更新图
+ handler(newVal, oldVal) {
+ if (this.chartTime === '年' && this.chartType === '电耗能') {
+ this.updateChart()
+ }
+ }
+ },
+ chartTime: {// 监听时间变化,更新图
+ handler(newVal, oldVal) {
+ this.updateChart()
+ }
+ },
+ chartType: {// 监听能源类型变化,更新图
+ handler(newVal, oldVal) {
+ this.updateChart()
+ }
+ }
+ },
+ mounted() {
+ this.$el.addEventListener('resize', () => {
+ console.log('resziing.....');
+ });
+ this.updateChart()
+ },
+ methods: {
+ updateChart() {
+ let gasName = ''
+ const colors = ['#FFCB59'];
+ let temp = []
+ let seriesData = []
+ let xData = []
+ let yData = []
+ switch (this.chartType) {
+ case '电耗能':{
+ gasName = '电耗能'
+ if (this.chartTime === '周') {
+ temp = this.energyWeekTrend || []
+ }else if(this.chartTime === '月') {
+ temp = this.energyMonthTrend || []
+ }else{
+ temp = this.energyYearTrend || []
+ }
+ temp && temp.map(i => {
+ xData.push(i.time)
+ yData.push(i.qty)
+ })
+ break;
+ }
+ case '天然气I':{
+ yData = this.gasChartMsg.hisSumGas1 || []
+ gasName = '天然气I'
+ xData = Array(7)
.fill(1)
.map((_, index) => {
const today = new Date();
- const dtimestamp = today - index * 24 * 60 * 60 * 1000;
+ const dtimestamp = today - (index+1) * 24 * 60 * 60 * 1000;
return `${new Date(dtimestamp).getMonth() + 1}.${new Date(
dtimestamp
).getDate()}`;
})
- .reverse(),
+ .reverse()
+ break;
+ }
+ default:
+ gasName = '天然气II'
+ yData = this.gasChartMsg.hisSumGas2 || []
+ xData = Array(7)
+ .fill(1)
+ .map((_, index) => {
+ const today = new Date();
+ const dtimestamp = today - (index+1) * 24 * 60 * 60 * 1000;
+ return `${new Date(dtimestamp).getMonth() + 1}.${new Date(
+ dtimestamp
+ ).getDate()}`;
+ })
+ .reverse()
+ }
+ if (yData.length == 0) {
+ seriesData = []
+ }else {
+ seriesData = [{
+ name: gasName,
+ data: yData,
+ type: "line",
+ areaStyle: {
+ color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+ { offset: 0, color: '#FFCB59' + "40" },
+ { offset: 0.5, color: '#FFCB59' + "20" },
+ { offset: 1, color: '#FFCB59' + "00" },
+ ]),
+ },
+ lineStyle: {
+ width: 1
+ },
+ symbolSize: 1,
+ emphasis: {
+ focus: 'series'
+ }
+ }]
+
+ }
+ // 绘图
+ if (
+ this.chart !== null &&
+ this.chart !== '' &&
+ this.chart !== undefined
+ ) {
+ this.chart.dispose() // 页面多次刷新会出现警告,Dom已经初始化了一个实例,这是销毁实例
+ }
+ this.chart = echarts.init(this.$el);
+ var option = {
+ color: colors,
+ grid: { top: 32, right: 12, bottom: 20, left: 48 },
+ xAxis: {
+ type: 'category',
+ data: xData,
axisLabel: {
color: '#fff',
fontSize: 12,
@@ -82,71 +217,14 @@ export default {
},
},
},
- series: [
- Array(7)
- .fill(1)
- .map((_) => Math.ceil(Math.random() * 100)),
- Array(7)
- .fill(1)
- .map((_) => Math.ceil(Math.random() * 100)),
- Array(7)
- .fill(1)
- .map((_) => Math.ceil(Math.random() * 100)),
- ].map((v, i) => ({
- name: ['总量', '白班', '夜班'][i],
- data: v,
- type: 'line',
- symbol: 'circle',
- areaStyle: {
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
- // i % 8 避免超过8个数据时无颜色的问题
- { offset: 0, color: colors[i % 8] + '40' },
- { offset: 0.5, color: colors[i % 8] + '20' },
- { offset: 1, color: colors[i % 8] + '00' },
- ]),
- },
- })),
+ series: seriesData,
tooltip: {
trigger: 'axis',
},
- },
- };
- },
- computed: {
- sidebarStatus() {
- return this.$store.state.app.sidebar.opened;
- },
- gasChartMsg() {
- return this.$store.state.websocket.gasInfo
- }
- },
- watch: {
- sidebarStatus(val) {
- console.log('sidebarStatus', val);
- this.chart && this.chart.dispose();
-
- setTimeout(() => {
- this.chart = echarts.init(this.$el);
- this.chart.setOption(this.option);
- }, 500);
- },
- gasChartMsg: {
- handler(newVal, oldVal) {
- console.log(newVal)
- // this.chartData = newVal
- console.log('newVal============')
- // this.updateChart()
}
+ option && this.chart.setOption(option)
}
},
- mounted() {
- this.$el.addEventListener('resize', () => {
- console.log('resziing.....');
- });
- this.chart = echarts.init(this.$el);
- this.chart.setOption(this.option);
- },
- methods: {},
};
diff --git a/src/views/databoard/components/ISRAChart.vue b/src/views/databoard/components/ISRAChart.vue
index 49b0968a..bc56c004 100644
--- a/src/views/databoard/components/ISRAChart.vue
+++ b/src/views/databoard/components/ISRAChart.vue
@@ -1,10 +1,3 @@
-
-
@@ -68,9 +61,7 @@ export default {
watch: {
israChartMsg: {
handler(newVal, oldVal) {
- console.log(newVal)
this.chartData = newVal
- console.log('newVal============')
this.updateChart()
}
}
@@ -99,48 +90,18 @@ export default {
color: '#fff',
},
subtextStyle: {
- fontSize: 16,
+ fontSize: 20,
color: '#fff00',
},
},
series:[{
- name: 'Access From',
+ name: 'ISRA缺陷检测',
type: 'pie',
- radius: ['45%', '65%'],
+ center: ['50%', '40%'],
+ radius: ['45%', '70%'],
avoidLabelOverlap: true,
label: {
- show: true,
- position: 'outside',
- formatter: ({ dataIndex, percent }) => {
- const styleName = ['a', 'b', 'c', 'd'][dataIndex % 4];
- return `{${styleName}|${percent}%}`;
- },
- rich: {
- a: {
- color: '#2760ff',
- fontSize: 24,
- borderWidth: 0,
- textBorderWidth: 0,
- },
- b: {
- color: '#518eec',
- fontSize: 24,
- borderWidth: 0,
- textBorderWidth: 0,
- },
- c: {
- color: '#0ee8e4',
- fontSize: 24,
- borderWidth: 0,
- textBorderWidth: 0,
- },
- d: {
- color: '#ddb523',
- fontSize: 24,
- borderWidth: 0,
- textBorderWidth: 0,
- },
- },
+ show: false
},
labelLine: {
show: true,
diff --git a/src/views/databoard/components/SelectorBtnGroup.vue b/src/views/databoard/components/SelectorBtnGroup.vue
index 5df5b3a9..0fc4e90e 100644
--- a/src/views/databoard/components/SelectorBtnGroup.vue
+++ b/src/views/databoard/components/SelectorBtnGroup.vue
@@ -11,7 +11,7 @@
class="btn"
v-for="opt in options"
:key="opt"
- @click="active = opt"
+ @click="clickBtn(opt)"
:class="active == opt ? 'btn-active' : ''">
{{ opt }}
@@ -22,15 +22,18 @@
export default {
name: 'SelectorBtnGroup',
components: {},
- props: ['options'],
+ props: ['options', 'active'],
data() {
return {
- active: this.options[0] || 'default'
+ // active: this.options[0] || 'default'
};
},
computed: {},
methods: {
-
+ clickBtn(opt) {
+ // this.active = opt
+ this.$emit('emitFun', opt)
+ }
},
};
diff --git a/src/views/databoard/deepProcessing/index.vue b/src/views/databoard/deepProcessing/index.vue
index be0a7d28..2515dd91 100644
--- a/src/views/databoard/deepProcessing/index.vue
+++ b/src/views/databoard/deepProcessing/index.vue
@@ -6,10 +6,10 @@
class="deepProcessingBoard"
style="
position: absolute;
- transform-origin: 16px 8px;
+ transform-origin: left top;
font-size: 16px;
- top: -8px;
- left: -16px;
+ top: 0px;
+ left: 0px;
width: 1920px;
height: 1080px;
display: flex;
@@ -18,6 +18,17 @@
"
:style="{transform:'scale('+scaleNum+')'}">
+
+
@@ -103,14 +114,14 @@ export default {
})
return false
}
- screenfull.toggle(this.$refs.wholePlantContainerB)
+ screenfull.toggle(this.$refs.deepProcessingContainerB)
},
resetSize() {
- let wholePlantContainerBox = document.querySelector('#wholePlantContainer')
+ let deepProcessingContainer = document.querySelector('#deepProcessingContainer')
let rw = parseFloat(window.innerWidth)
let rh = parseFloat(window.innerHeight)
- let bw = parseFloat(wholePlantContainerBox.style.width)
- let bh = parseFloat(wholePlantContainerBox.style.height)
+ let bw = parseFloat(deepProcessingContainer.style.width)
+ let bh = parseFloat(deepProcessingContainer.style.height)
let wx = 0
let hx = 0
if (screenfull.isFullscreen) {
diff --git a/src/views/databoard/kiln/EnergeCost.vue b/src/views/databoard/kiln/EnergeCost.vue
index 53fedfc0..c3003b2a 100644
--- a/src/views/databoard/kiln/EnergeCost.vue
+++ b/src/views/databoard/kiln/EnergeCost.vue
@@ -31,24 +31,24 @@
justify-content: space-between;
">
-
+ :options="['电耗能', '天然气I', '天然气II']" @emitFun='toggleType' :active='chartType'/>
+
-
+
diff --git a/src/views/databoard/kiln/FanSequence.vue b/src/views/databoard/kiln/FanSequence.vue
index ca8b8648..c23c6316 100644
--- a/src/views/databoard/kiln/FanSequence.vue
+++ b/src/views/databoard/kiln/FanSequence.vue
@@ -7,13 +7,13 @@
-
+
{{ key }}:
-
+
{{ value }}Hz
diff --git a/src/views/databoard/kiln/GasHandle.vue b/src/views/databoard/kiln/GasHandle.vue
index c719f9a2..39c47a98 100644
--- a/src/views/databoard/kiln/GasHandle.vue
+++ b/src/views/databoard/kiln/GasHandle.vue
@@ -1,10 +1,3 @@
-
-
@@ -26,11 +19,11 @@
flex: 1.2;
text-align: right;
padding-right: 8px;
- letter-spacing: 1px;
+ letter-spacing: 3px;
">
氧气含量
- 82%
+ {{exhaustGasInfo.O2_float}}%
- 82%
+ {{exhaustGasInfo.NOX_float}}mg/m³
@@ -61,23 +54,22 @@
二氧化硫
排放浓度
- 59mg/m³
+ {{exhaustGasInfo.SO2_float}}mg/m³
-
- 82%
+ 颗粒物浓度
+
+
{{exhaustGasInfo.dust_float}}mg/m³
@@ -103,11 +95,11 @@
justify-content: space-between;
">
-
+ :options="['氧气含量', '二氧化硫', '一氧化氮', '颗粒物']" @emitFun='toggleType' :active='chartType'/>
+
-
+
@@ -115,12 +107,12 @@
diff --git a/src/views/databoard/kiln/IsraCheck.vue b/src/views/databoard/kiln/IsraCheck.vue
index a583f2f9..682ba1c2 100644
--- a/src/views/databoard/kiln/IsraCheck.vue
+++ b/src/views/databoard/kiln/IsraCheck.vue
@@ -33,7 +33,7 @@
+
\ No newline at end of file
diff --git a/src/views/databoard/wholePlant/LeftTwo.vue b/src/views/databoard/wholePlant/LeftTwo.vue
index 0a21c83e..f3f1a075 100644
--- a/src/views/databoard/wholePlant/LeftTwo.vue
+++ b/src/views/databoard/wholePlant/LeftTwo.vue
@@ -4,7 +4,7 @@
style="
display: grid;
gap: 16px;
- grid-template-rows: 462px 462px;
+ grid-template-rows: 308px 616px;
">
diff --git a/src/views/databoard/wholePlant/MiddleTwo.vue b/src/views/databoard/wholePlant/MiddleTwo.vue
index 9a65aeba..3c974b92 100644
--- a/src/views/databoard/wholePlant/MiddleTwo.vue
+++ b/src/views/databoard/wholePlant/MiddleTwo.vue
@@ -4,19 +4,19 @@
style="
display: grid;
gap: 16px;
- grid-template-rows: 462px 462px;
+ grid-template-rows: 605px 320px;
">
-
-
+
+
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/src/views/databoard/wholePlant/RightTwo.vue b/src/views/databoard/wholePlant/RightTwo.vue
index 0cc9ec58..0d444ac2 100644
--- a/src/views/databoard/wholePlant/RightTwo.vue
+++ b/src/views/databoard/wholePlant/RightTwo.vue
@@ -6,17 +6,17 @@
gap: 16px;
grid-template-rows: 462px 462px;
">
-
+
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/src/views/databoard/wholePlant/index.vue b/src/views/databoard/wholePlant/index.vue
index d1941e73..dd9cdf37 100644
--- a/src/views/databoard/wholePlant/index.vue
+++ b/src/views/databoard/wholePlant/index.vue
@@ -8,8 +8,8 @@
position: absolute;
transform-origin: 16px 8px;
font-size: 16px;
- top: -8px;
- left: -16px;
+ top: 0px;
+ left: 0px;
width: 1920px;
height: 1080px;
display: flex;
@@ -42,7 +42,6 @@ import MiddleTwo from './MiddleTwo';
import RightTwo from './RightTwo';
import screenfull from 'screenfull'
import { debounce } from '@/utils/debounce'
-import { getDcsMsg, getMesMsg } from './../utils/wsInterface'
export default {
name: 'wholePlantBoard',
@@ -77,9 +76,6 @@ export default {
window.addEventListener('resize', () => {
this.boxReset()
})
- // closeWebsocket()
- // getDcsMsg()
- // getMesMsg()
console.log('mounted...........')
},
destroyed() {
diff --git a/src/websocket/websocket.js b/src/websocket/websocket.js
new file mode 100644
index 00000000..49467b81
--- /dev/null
+++ b/src/websocket/websocket.js
@@ -0,0 +1,176 @@
+/**
+ * 发起websocket请求函数
+ * @param {string} url ws连接地址
+ * @param {Object} agentData 传给后台的参数
+ * @param {function} successCallback 接收到ws数据,对数据进行处理的回调函数
+ * @param {function} errCallback ws连接错误的回调函数
+ */
+export function WsConnect(url, agentData, successCallback, errCallback) {
+ this.wsUrl = url;
+ this.wsObj = null;
+ // 是否执行重连 true/不执行 ; false/执行
+ this.lockReconnect = false;
+ // 重连定时器
+ this.wsCreateHandler = null;
+ // 连接成功,执行回调函数
+ this.messageCallback = successCallback;
+ // 连接失败,执行回调函数
+ this.errorCallback = errCallback;
+ // 发送给后台的数据
+ this.sendDatas = agentData;
+ // 创建ws函数
+ this.createWebSoket = () => {
+ if (typeof WebSocket === "undefined") {
+ writeToScreen("您的浏览器不支持WebSocket,无法获取数据");
+ return false;
+ }
+ try {
+ this.wsObj = new WebSocket(url);
+ initWsEventHandle();
+ } catch (e) {
+ writeToScreen("连接异常,开始重连");
+ reconnect();
+ }
+ };
+ // 手动关闭websocket (这里手动关闭会执行onclose事件)
+ this.closeWebsocket = () => {
+ if (this.wsObj) {
+ writeToScreen("手动关闭websocket");
+ this.wsObj.close(); // 关闭websocket
+ // this.wsObj.onclose() // 关闭websocket(如果上面的关闭不生效就加上这一条)
+ // 关闭重连
+ this.lockReconnect = true;
+ this.wsCreateHandler && clearTimeout(this.wsCreateHandler);
+ // 关闭心跳检查
+ heartCheck.stop();
+ }
+ };
+ const initWsEventHandle = () => {
+ try {
+ // 连接成功
+ this.wsObj.onopen = (event) => {
+ onWsOpen(event);
+ heartCheck.start();
+ };
+
+ // 监听服务器端返回的信息
+ this.wsObj.onmessage = (event) => {
+ onWsMessage(event);
+ heartCheck.start();
+ };
+
+ this.wsObj.onclose = (event) => {
+ writeToScreen("onclose执行关闭事件");
+ onWsClose(event);
+ };
+
+ this.wsObj.onerror = (event) => {
+ writeToScreen("onerror执行error事件,开始重连");
+ onWsError(event);
+ reconnect();
+ };
+ } catch (err) {
+ writeToScreen("绑定事件没有成功,开始重连");
+ reconnect();
+ }
+ };
+
+ const onWsOpen = (event) => {
+ writeToScreen("CONNECT");
+ // // 客户端与服务器端通信
+ // wsObj.send('我发送消息给服务端');
+ // 添加状态判断,当为OPEN时,发送消息
+ if (this.wsObj.readyState === this.wsObj.OPEN) {
+ // wsObj.OPEN = 1
+ // 发给后端的数据需要字符串化
+ this.wsObj.send(JSON.stringify(this.sendDatas));
+ }
+ if (this.wsObj.readyState === this.wsObj.CLOSED) {
+ // wsObj.CLOSED = 3
+ writeToScreen("wsObj.readyState=3, ws连接异常,开始重连");
+ reconnect();
+ this.errorCallback(event);
+ }
+ };
+ const onWsMessage = (event) => {
+ const jsonStr = event.data;
+ writeToScreen("onWsMessage接收到服务器的数据: ", jsonStr);
+ this.messageCallback(jsonStr);
+ };
+ const onWsClose = (event) => {
+ writeToScreen("DISCONNECT");
+ // e.code === 1000 表示正常关闭。 无论为何目的而创建, 该链接都已成功完成任务。
+ // e.code !== 1000 表示非正常关闭。
+ console.log("onclose event: ", event);
+ if (event && event.code !== 1000) {
+ writeToScreen("非正常关闭");
+ this.errorCallback(event);
+ // 如果不是手动关闭,这里的重连会执行;如果调用了手动关闭函数,这里重连不会执行
+ reconnect();
+ }
+ };
+ const onWsError = (event) => {
+ writeToScreen("onWsError: ", event.data);
+ this.errorCallback(event);
+ };
+
+ const writeToScreen = (massage) => {
+ console.log(massage);
+ };
+
+ // 重连函数
+ const reconnect = () => {
+ if (this.lockReconnect) {
+ return;
+ }
+ writeToScreen("3秒后重连");
+ this.lockReconnect = true;
+ // 没连接上会一直重连,设置延迟避免请求过多
+ this.wsCreateHandler && clearTimeout(this.wsCreateHandler);
+ this.wsCreateHandler = setTimeout(() => {
+ writeToScreen("重连..." + this.wsUrl);
+ this.createWebSoket();
+ this.lockReconnect = false;
+ writeToScreen("重连完成");
+ }, 3000);
+ };
+
+ // 心跳检查(看看websocket是否还在正常连接中)
+ let heartCheck = {
+ timeout: 15000,
+ timeoutObj: null,
+ serverTimeoutObj: null,
+ // 重启
+ reset() {
+ clearTimeout(this.timeoutObj);
+ clearTimeout(this.serverTimeoutObj);
+ this.start();
+ },
+ // 停止
+ stop() {
+ clearTimeout(this.timeoutObj);
+ clearTimeout(this.serverTimeoutObj);
+ },
+ // 开启定时器
+ start() {
+ this.timeoutObj && clearTimeout(this.timeoutObj);
+ this.serverTimeoutObj && clearTimeout(this.serverTimeoutObj);
+ // 15s之内如果没有收到后台的消息,则认为是连接断开了,需要重连
+ this.timeoutObj = setTimeout(() => {
+ writeToScreen("心跳检查,发送ping到后台");
+ try {
+ const datas = { ping: true };
+ this.wsObj.send(JSON.stringify(datas));
+ } catch (err) {
+ writeToScreen("发送ping异常");
+ }
+ console.log("内嵌定时器this.serverTimeoutObj: ", this.serverTimeoutObj);
+ // 内嵌定时器
+ this.serverTimeoutObj = setTimeout(() => {
+ writeToScreen("没有收到后台的数据,重新连接");
+ reconnect();
+ }, this.timeout);
+ }, this.timeout);
+ },
+ };
+}
diff --git a/src/websocket/wsInterface.js b/src/websocket/wsInterface.js
new file mode 100644
index 00000000..3572dc58
--- /dev/null
+++ b/src/websocket/wsInterface.js
@@ -0,0 +1,160 @@
+import { WsConnect } from './websocket'
+import store from "@/store";
+
+// 创建websocket链接
+
+const timestr = new Date().getTime()
+const dcsConn = new WsConnect(
+ // websocket地址
+ 'ws://10.70.180.10:8081/xc-screen/websocket/dcsmsg'+timestr,
+ // 传递给后台的数据
+ '',
+ (data) => {
+ // console.log('dcs成功的回调函数, 接收到的data数据: ', data)
+ let msgData = JSON.parse(data)
+ if (msgData == null) return;
+ switch (msgData?.type) {
+ case "FanFrequencyInfo": {
+ store.dispatch({type: "websocket/setFanFrequencyInfo", payload:msgData.data.FanFrequencyInfo})
+ break;
+ }
+ case "KilnInfo": {
+ store.dispatch({type: "websocket/setKilnInfo", payload: msgData.data})
+ break;
+ }
+ case "GasInfo": {
+ store.dispatch({type: "websocket/setGasInfo", payload: msgData.data})
+ break;
+ }
+ case "SumGasInfo": {
+ store.dispatch({type: "websocket/setSumGasInfo", payload: msgData.data})
+ break;
+ }
+ default:
+ }
+ },
+ (err) => {
+ console.log('失败的回调函数', err)
+ }
+)
+const mesIsra = new WsConnect(
+ 'ws://10.70.2.2:8080/websocket/message?userId=KILN'+timestr,
+ '',
+ (data) => {
+ // console.log('mes ISRA成功的回调函数, 接收到的data数据: ', data)
+ let msgData = JSON.parse(data)
+ // console.log(msgData)
+ if (msgData == null) return;
+ switch (msgData?.type) {
+ case "israKiln": {
+ store.dispatch({type: "websocket/setIsraKiln", payload:msgData.detData.dayStatistic})
+ break;
+ }
+ // case "KilnInfo": {
+ // // store.dispatch({type: "websocket/setKilnInfo", payload: msgData.data.kilnInfo})
+ // break;
+ // }
+ default:
+ }
+ },
+ (err) => {
+ console.log('失败的回调函数', err)
+ }
+)
+
+// 原料 MA
+const mesMA = new WsConnect(
+ 'ws://10.70.2.2:8080/websocket/message?userId=MA'+timestr,
+ '',
+ (data) => {
+ // console.log('mes 原料成功的回调函数, 接收到的data数据: ', data)
+ let msgData = JSON.parse(data)
+ if (msgData == null) return;
+ switch (msgData?.type) {
+ case "material": {
+ store.dispatch({type: "websocket/setMaterial", payload:msgData.data})
+ break;
+ }
+ // case "KilnInfo": {
+ // // store.dispatch({type: "websocket/setKilnInfo", payload: msgData.data.kilnInfo})
+ // break;
+ // }
+ default:
+ }
+ },
+ (err) => {
+ console.log('失败的回调函数', err)
+ }
+)
+// 能耗 EN
+const mesEN = new WsConnect(
+ // websocket地址
+ 'ws://10.70.2.2:8080/websocket/message?userId=ENERGY'+timestr,
+ // 传递给后台的数据
+ '',
+ // 成功拿到后台返回的数据的回调函数
+ (data) => {
+ // console.log('mes 能耗成功的回调函数, 接收到的data数据: ', data)
+ let msgData = JSON.parse(data)
+ if (msgData == null) return;
+ switch (msgData?.type) {
+ case "EnergyInfo": {
+ store.dispatch({type: "websocket/setEnergyInfo", payload:msgData.data})
+ break;
+ }
+ case "EnergyTrend": {
+ store.dispatch({type: "websocket/setEnergyTrend", payload:msgData.data})
+ break;
+ }
+ default:
+ }
+ },
+ // websocket连接失败的回调函数
+ (err) => {
+ console.log('失败的回调函数', err)
+ }
+)
+// 烟气 GAS
+const mesGAS = new WsConnect(
+ // websocket地址
+ 'ws://10.70.2.2:8080/websocket/message?userId=GAS'+timestr,
+ // 传递给后台的数据
+ '',
+ // 成功拿到后台返回的数据的回调函数
+ (data) => {
+ // console.log('mes 烟气成功的回调函数, 接收到的data数据: ', data)
+ let msgData = JSON.parse(data)
+ if (msgData == null) return;
+ switch (msgData?.type) {
+ case "exhaustGas": {
+ store.dispatch({type: "websocket/setExhaustGasInfo", payload:msgData.realtime})
+ store.dispatch({type: "websocket/setExhaustGasChart", payload:{
+ dayTrend: msgData.dayTrend,
+ weekTrend: msgData.weekTrend,
+ monthTrend: msgData.monthTrend,
+ yearTrend: msgData.yearTrend,
+ }})
+ break;
+ }
+ default:
+ }
+ },
+ // websocket连接失败的回调函数
+ (err) => {
+ console.log('失败的回调函数', err)
+ }
+)
+export const getDcsMsg = () => {
+ dcsConn.createWebSoket()
+ mesIsra.createWebSoket()
+ mesMA.createWebSoket()
+ mesEN.createWebSoket()
+ mesGAS.createWebSoket()
+}
+export const closeDcsMsg = () => {
+ dcsConn.closeWebsocket()
+ mesIsra.closeWebsocket()
+ mesMA.closeWebsocket()
+ mesEN.closeWebsocket()
+ mesGAS.closeWebsocket()
+}
\ No newline at end of file