From 3c4e60bc491ce83132afb30ba44ce195c41e329e Mon Sep 17 00:00:00 2001
From: 86156 <823267011@qq.com>
Date: Thu, 15 Jan 2026 17:37:57 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E5=90=8E=E7=AB=AF=E6=B7=BB?=
=?UTF-8?q?=E5=8A=A0=E6=95=B0=E6=8D=AE=E5=BF=AB=E7=85=A7=E4=BF=AE=E6=AD=A3?=
=?UTF-8?q?=E3=80=82=E5=89=8D=E7=AB=AF=E6=B7=BB=E5=8A=A0=E6=95=B0=E5=AD=97?=
=?UTF-8?q?=E5=AD=AA=E7=94=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
apps/hand-factory/api/pocket/deviceEnum.js | 3 +-
.../api/pocket/deviceFieldMeta.js | 3 +-
.../hand-factory/api/pocket/deviceSnapshot.js | 6 +-
apps/hand-factory/components/lines/zinc1.vue | 754 ++++++++-
apps/hand-factory/utils/socketMeasure.js | 79 +-
apps/l2/package.json | 1 +
apps/l2/public/models/光整机.glb | Bin 0 -> 522284 bytes
apps/l2/public/models/剪切机.glb | Bin 0 -> 1225780 bytes
apps/l2/public/models/卷取机.glb | Bin 0 -> 1351392 bytes
apps/l2/public/models/夹送矫直机.glb | Bin 0 -> 886412 bytes
apps/l2/public/models/开卷机.glb | Bin 0 -> 545984 bytes
apps/l2/public/models/拉轿机.glb | Bin 0 -> 1360356 bytes
apps/l2/public/models/清洗段.glb | Bin 0 -> 506560 bytes
apps/l2/public/models/炉火段.glb | Bin 0 -> 1263728 bytes
apps/l2/public/models/锌锅.glb | Bin 0 -> 615568 bytes
apps/l2/src/config/productionLine.js | 278 ++++
apps/l2/src/views/components/CurrentTime.vue | 4 +-
apps/l2/src/views/index.vue | 68 +-
.../src/views/l2/productLine/ProductLine.vue | 1390 +++++++++++++++++
pnpm-lock.yaml | 7 +
20 files changed, 2445 insertions(+), 148 deletions(-)
create mode 100644 apps/l2/public/models/光整机.glb
create mode 100644 apps/l2/public/models/剪切机.glb
create mode 100644 apps/l2/public/models/卷取机.glb
create mode 100644 apps/l2/public/models/夹送矫直机.glb
create mode 100644 apps/l2/public/models/开卷机.glb
create mode 100644 apps/l2/public/models/拉轿机.glb
create mode 100644 apps/l2/public/models/清洗段.glb
create mode 100644 apps/l2/public/models/炉火段.glb
create mode 100644 apps/l2/public/models/锌锅.glb
create mode 100644 apps/l2/src/config/productionLine.js
create mode 100644 apps/l2/src/views/l2/productLine/ProductLine.vue
diff --git a/apps/hand-factory/api/pocket/deviceEnum.js b/apps/hand-factory/api/pocket/deviceEnum.js
index f0399da..6b52c18 100644
--- a/apps/hand-factory/api/pocket/deviceEnum.js
+++ b/apps/hand-factory/api/pocket/deviceEnum.js
@@ -3,7 +3,8 @@ import request from '@/utils/request'
export function listDeviceEnumAll() {
return request({
url: '/api/deviceEnum/all',
- method: 'get'
+ method: 'get',
+ baseUrl: 'http://140.143.206.120:10082/prod-api'
})
}
diff --git a/apps/hand-factory/api/pocket/deviceFieldMeta.js b/apps/hand-factory/api/pocket/deviceFieldMeta.js
index 9d6f05d..b59c298 100644
--- a/apps/hand-factory/api/pocket/deviceFieldMeta.js
+++ b/apps/hand-factory/api/pocket/deviceFieldMeta.js
@@ -3,7 +3,8 @@ import request from '@/utils/request'
export function getDeviceFieldMetaAll() {
return request({
url: '/api/deviceFieldMeta/all',
- method: 'get'
+ method: 'get',
+ baseUrl: 'http://140.143.206.120:10082/prod-api'
})
}
diff --git a/apps/hand-factory/api/pocket/deviceSnapshot.js b/apps/hand-factory/api/pocket/deviceSnapshot.js
index 18866cc..d87940e 100644
--- a/apps/hand-factory/api/pocket/deviceSnapshot.js
+++ b/apps/hand-factory/api/pocket/deviceSnapshot.js
@@ -5,7 +5,8 @@ export function listDeviceSnapshotLatest(params) {
return request({
url: '/api/deviceSnapshot/latest',
method: 'get',
- params
+ params,
+ baseUrl: 'http://140.143.206.120:10082/prod-api'
})
}
@@ -14,7 +15,8 @@ export function listDeviceSnapshotRange(params) {
return request({
url: '/api/deviceSnapshot/range',
method: 'get',
- params
+ params,
+ baseUrl: 'http://140.143.206.120:10082/prod-api'
})
}
diff --git a/apps/hand-factory/components/lines/zinc1.vue b/apps/hand-factory/components/lines/zinc1.vue
index 9c3fc99..4d82438 100644
--- a/apps/hand-factory/components/lines/zinc1.vue
+++ b/apps/hand-factory/components/lines/zinc1.vue
@@ -19,7 +19,12 @@
⟳
-
+
+
@@ -36,50 +41,213 @@
设备数
{{ deviceDefs.length }}
+
+
+ 折线图
+
+ {{ isChartPaused ? '已暂停刷新' : '实时刷新中' }}
+
+
-
-
-
- {{ dev.desc }}({{ dev.deviceCode }})
-
-
-
-
-
-
-
-
-
-
-
- AVG{{ formatNum(fieldTrendMap[dev.deviceCode][fieldName].avg) }}
- MAX{{ formatNum(fieldTrendMap[dev.deviceCode][fieldName].max) }}
- MIN{{ formatNum(fieldTrendMap[dev.deviceCode][fieldName].min) }}
- LAST{{ formatNum(fieldTrendMap[dev.deviceCode][fieldName].last) }}
-
-
-
-
- 等待 {{ getFieldLabel(fieldName) }} 数据...
-
+
+
+ 入口段(实时)
+
+
+ {{ it.label || getFieldLabel(it.field) }}
+ {{ getRealtimeValueBySource('ENTRY', it.field) }}
+ {{ it.unit || getFieldUnit(it.field) }}
+
+
+
+
-
- 等待 {{ dev.desc }} 数据...(滚动到此处加载)
+
+ 退火炉段(实时)
+
+
+ {{ it.label || getFieldLabel(it.field) }}
+ {{ getRealtimeValueBySource('FURNACE', it.field) }}
+ {{ it.unit || getFieldUnit(it.field) }}
+
+
+
+
+
+
+
+
+ 后处理/涂层段(实时)
+
+
+ {{ it.label || getFieldLabel(it.field) }}
+ {{ getRealtimeValueBySource('COAT', it.field) }}
+ {{ it.unit || getFieldUnit(it.field) }}
+
+
+
+
+
+
+
+
+ 出口段(实时)
+
+
+ {{ it.label || getFieldLabel(it.field) }}
+ {{ getRealtimeValueBySource('EXIT', it.field) }}
+ {{ it.unit || getFieldUnit(it.field) }}
+
+
+
+
+
+
+
+
+ 当前生产情况
+
+
+
+
+ {{ currentPlan.exitMatId || '—' }}
+ {{ currentPlan.steelGrade || '—' }}
+
+ {{ formatNum(currentPlan.exitThickness) }} × {{ formatNum(currentPlan.exitWidth) }}
+
+ {{ formatNum(currentPlan.exitLength) }}
+ {{ formatNum(currentPlan.exitWeight) }}
+
+
+
+ 暂无当前生产计划数据。
+
+
+
+
+
+ 生产实绩汇总
+
+
+ 钢卷总数
+ {{ reportSummary.coilCount || 0 }}
+ 卷
+
+
+ 总实际重量
+ {{ formatNum(reportSummary.totalActualWeight) }}
+ t
+
+
+ 成材率
+
+ {{ reportSummary.yieldRate != null ? (reportSummary.yieldRate * 100).toFixed(1) : '—' }}
+
+ %
+
+
+
+ 暂无实绩汇总数据。
+
+
+
+
+ 生产实绩明细
+
+
+
+ {{ item.exitMatId }}
+ {{ item.entryMatId }}
+ {{ item.groupNo || '—' }}/{{ item.shiftNo || '—' }}
+
+ {{ formatNum(item.exitThickness) }} × {{ formatNum(item.exitWidth) }}
+
+
+ {{ formatNum(item.exitLength) }} m / {{ formatNum(item.actualWeight) }} t
+
+
+
+
+ 暂无生产明细记录。
+
+
+
+
+
+
+
+ 停机记录
+
+
+
+
+ {{ stoppageMonthLabel }}
+
+
+
+
+
+
+ {{ item.startDate }}
+ {{ item.endDate }}
+ {{ item.duration }}
+
+ {{ item.area || '—' }}/{{ item.seton || '—' }}
+
+ {{ item.remark || '—' }}
+
+
+
+ 暂无停机记录。
+
+
+
+
+
+
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index cd8391c..687eb0f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -83,6 +83,9 @@ importers:
splitpanes:
specifier: 2.4.1
version: 2.4.1
+ three:
+ specifier: ^0.158.0
+ version: 0.158.0
vue:
specifier: 2.6.12
version: 2.6.12
@@ -14235,6 +14238,10 @@ packages:
webpack: 4.47.0
dev: true
+ /three@0.158.0:
+ resolution: {integrity: sha512-TALj4EOpdDPF1henk2Q+s17K61uEAAWQ7TJB68nr7FKxqwyDr3msOt5IWdbGm4TaWKjrtWS8DJJWe9JnvsWOhQ==}
+ dev: false
+
/three@0.180.0:
resolution: {integrity: sha512-o+qycAMZrh+TsE01GqWUxUIKR1AL0S8pq7zDkYOQw8GqfX8b8VoCKYUoHbhiX5j+7hr8XsuHDVU6+gkQJQKg9w==}
dev: false