|
|
|
@ -48,7 +48,7 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 数据表格 --> |
|
|
|
<div class="panel-table"> |
|
|
|
<table class="data-table"> |
|
|
|
@ -107,12 +107,12 @@ export default { |
|
|
|
|
|
|
|
// 1028站数据 |
|
|
|
station1028List: [], |
|
|
|
|
|
|
|
|
|
|
|
// 工单信息 |
|
|
|
workOrderNo: '', |
|
|
|
materialName: '', |
|
|
|
workOrderTime: '', |
|
|
|
|
|
|
|
|
|
|
|
// 自动滚动相关 |
|
|
|
scrollInterval: null, |
|
|
|
scrollSpeed: 50 // 滚动速度(毫秒) |
|
|
|
@ -132,7 +132,7 @@ export default { |
|
|
|
if (this.useWebSocket) { |
|
|
|
this.initWebSocket() |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 启动自动滚动 |
|
|
|
this.$nextTick(() => { |
|
|
|
this.startAutoScroll() |
|
|
|
@ -244,7 +244,7 @@ export default { |
|
|
|
// 更新1028站数据 |
|
|
|
if (message.data.station1028List) { |
|
|
|
this.station1028List = message.data.station1028List |
|
|
|
|
|
|
|
|
|
|
|
// 更新工单信息(从第一条数据中提取) |
|
|
|
if (this.station1028List.length > 0) { |
|
|
|
this.materialName = this.station1028List[0].pickingMaterialName || '' |
|
|
|
@ -252,7 +252,7 @@ export default { |
|
|
|
this.workOrderNo = this.station1028List[0].workOrderNo || '' |
|
|
|
this.workOrderTime = this.station1028List[0].workOrderTime || '' |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
console.log('[1028站看板] 数据更新成功:', this.station1028List.length, '条') |
|
|
|
} |
|
|
|
} |
|
|
|
@ -275,19 +275,19 @@ export default { |
|
|
|
console.log('[1028站看板] WebSocket已断开') |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 启动自动滚动 |
|
|
|
*/ |
|
|
|
startAutoScroll() { |
|
|
|
const tableBody = this.$el.querySelector('.panel-table') |
|
|
|
if (!tableBody) return |
|
|
|
|
|
|
|
|
|
|
|
// 如果数据少于等于10条,不需要滚动 |
|
|
|
if (this.station1028List.length <= 10) { |
|
|
|
if (this.station1028List.length < 10) { |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
this.scrollInterval = setInterval(() => { |
|
|
|
if (tableBody.scrollTop + tableBody.clientHeight >= tableBody.scrollHeight) { |
|
|
|
// 滚动到底部,重置到顶部 |
|
|
|
@ -465,7 +465,7 @@ export default { |
|
|
|
.panel-title-bar { |
|
|
|
background: linear-gradient(135deg, rgba(23, 179, 163, 0.3) 0%, rgba(23, 179, 163, 0.15) 100%); |
|
|
|
border-bottom: 1px solid rgba(23, 179, 163, 0.3); |
|
|
|
padding: 12px 16px; |
|
|
|
padding: 2px 16px; |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
align-items: center; |
|
|
|
|