修改看板ws数据获取

main
suixy 3 months ago
parent f2f0dd709c
commit bc0370fac0

@ -28,8 +28,14 @@
</div> </div>
<div class="menu"> <div class="menu">
<el-menu active-text-color="#ffd04b" background-color="#062852" class="el-menu-vertical-demo" default-active="2" text-color="#fff"> <el-menu active-text-color="#ffd04b" background-color="#062852" class="el-menu-vertical-demo" default-active="2" text-color="#fff">
<template v-for="(i, index) in centerData" :key="i.id"> <template v-for="(i, index) in treeData" :key="i.id">
<MenuItem :data="i" /> <!-- <MenuItem :data="i" />-->
<el-sub-menu index="1">
<template #title>
<span>{{ i.locationAlias }}</span>
</template>
<el-menu-item @click="scrollToId(ii.id)" v-for="ii in i.children">{{ ii.locationAlias }}</el-menu-item>
</el-sub-menu>
</template> </template>
</el-menu> </el-menu>
</div> </div>
@ -345,7 +351,6 @@ const getData = () => {
getLocationTree().then((res) => { getLocationTree().then((res) => {
treeData.value = res.data; treeData.value = res.data;
centerData.value = findParentsWithLocationType3(res.data); centerData.value = findParentsWithLocationType3(res.data);
console.log(centerData.value);
}); });
}; };
@ -398,23 +403,24 @@ const getSocket = () => {
socket.addEventListener('message', (event) => { socket.addEventListener('message', (event) => {
let data = JSON.parse(event.data); let data = JSON.parse(event.data);
if (data?.dataType === '2') { if (data?.deviceStatus === 1) {
deviceData.value[data.deviceId] = { deviceData.value[data.deviceId] = {
status: data.readStatus === '1', status: true,
code: data.epcStr, code: data.epcStr || '',
time: parseTime(data.recordTime) time: parseTime(data.recordTime, '{m}-{d} {h}:{i}')
};
} else {
deviceData.value[data.deviceId] = {
status: false,
code: data.epcStr || '',
time: parseTime(data.recordTime, '{m}-{d} {h}:{i}')
}; };
} }
if (data?.dataType === '1') { if (data?.dataType === '1') {
deviceData.value[data.deviceId] = {
status: false,
code: '',
time: parseTime(data.recordTime)
};
} }
if (data?.alarmFlag === '1') { if (data?.alarmFlag === '1') {
tableData.value.push({ tableData.value.push({
alarmTime: parseTime(data.recordTime), alarmTime: parseTime(data.recordTime, '{m}-{d} {h}:{i}'),
deviceName: deviceData.value[data.deviceId]?.epcStr?.trimStart() || '', deviceName: deviceData.value[data.deviceId]?.epcStr?.trimStart() || '',
location: centerData.value.flatMap((item) => item.children || []).find((child) => child.deviceId === targetDeviceId)?.locationAlias || '', location: centerData.value.flatMap((item) => item.children || []).find((child) => child.deviceId === targetDeviceId)?.locationAlias || '',
alarmAction: data.alarmAction alarmAction: data.alarmAction
@ -470,9 +476,10 @@ onMounted(() => {
deviceData.value[item.deviceId] = { deviceData.value[item.deviceId] = {
code: item.latestBarcode, code: item.latestBarcode,
status: item.readStatus === '1', status: item.readStatus === '1',
time: parseTime(new Date()) time: parseTime(new Date(), '{m}-{d} {h}:{i}')
}; };
}); });
console.log(deviceData.value);
}); });
getSocket(); getSocket();
timer1 = setInterval(() => { timer1 = setInterval(() => {

@ -1,8 +1,8 @@
<template> <template>
<div class="node" ref="container"> <div class="node" ref="container" :id="copy ? '' : `tree${data.id}`">
<!-- 主节点 --> <!-- 主节点 -->
<div class="node-main" ref="nodeMain"> <div class="node-main" ref="nodeMain">
<div class="node-icon" ref="nodeIcon" :id="copy ? '' : `tree${data.id}`"></div> <div class="node-icon" ref="nodeIcon"></div>
<div class="node-title">{{ data.locationAlias }}</div> <div class="node-title">{{ data.locationAlias }}</div>
</div> </div>
@ -12,16 +12,16 @@
:id="copy ? '' : `tree${child.id}`" :id="copy ? '' : `tree${child.id}`"
v-for="(child, index) in data.children" v-for="(child, index) in data.children"
:key="index" :key="index"
:class="deviceData[data.deviceId]?.status ? 'child-item' : 'child-item1'" :class="deviceData[child.deviceId]?.status ? 'child-item' : 'child-item1'"
:ref="(el) => (childRefs[index] = el)" :ref="(el) => (childRefs[index] = el)"
> >
<div :class="deviceData[data.deviceId]?.status ? 'child-icon' : 'child-icon1'"></div> <div :class="deviceData[child.deviceId]?.status ? 'child-icon' : 'child-icon1'"></div>
<div class="child-info"> <div class="child-info">
<div class="child-name"> <div class="child-name">
工位名称: <span style="font-size: 0.8vw">{{ child.locationAlias }}</span> 工位名称: <span style="font-size: 0.8vw">{{ child.locationAlias }}</span>
</div> </div>
<div class="child-code">总装码{{ deviceData[data.deviceId]?.code?.trimStart() }}</div> <div class="child-code">总装码{{ deviceData[child.deviceId]?.code?.trimStart() }}</div>
<div class="child-time">时间{{ parseTime(deviceData[data.deviceId]?.time) }}</div> <div class="child-time">时间{{ parseTime(deviceData[child.deviceId]?.time, '{m}-{d} {h}:{i}') }}</div>
</div> </div>
</div> </div>
</div> </div>

Loading…
Cancel
Save