From e5a599073291a3b9a5484853b9cce3dccf3ee21d Mon Sep 17 00:00:00 2001 From: huangjinysf Date: Fri, 19 Dec 2025 16:48:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AF=8F=E4=B8=AA=E6=9C=BA=E5=8F=B0=E7=9A=84?= =?UTF-8?q?=E8=BD=B4=E7=9A=84=E5=B7=A6=E5=8F=B3=E8=BF=9B=E8=A1=8C=E4=BA=86?= =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/plan/EquipmentStatus.vue | 60 +++++++++++++++++++++++++++--- 1 file changed, 55 insertions(+), 5 deletions(-) diff --git a/src/views/plan/EquipmentStatus.vue b/src/views/plan/EquipmentStatus.vue index 0b59b2b..53a5746 100644 --- a/src/views/plan/EquipmentStatus.vue +++ b/src/views/plan/EquipmentStatus.vue @@ -3,7 +3,10 @@
- {{ equipment.equipment_code }} + {{ equipment.equipment_code }} + + 健康度: {{ equipment.status_records[0].health_score }}% +
@@ -70,20 +73,55 @@ const sortedEquipmentData = computed(() => { const getLeftAxles = (equipment) => { if (!equipment.status_records || equipment.status_records.length === 0) return []; - return equipment.status_records.filter(record => { + // 获取所有左侧轴记录 + const leftAxles = equipment.status_records.filter(record => { const axle = record.axle_number; return axle.includes('左') || axle.includes('left'); }); + + // 按照左1, 左2, 左3...的顺序排序 + return leftAxles.sort((a, b) => { + // 提取轴号中的数字,如"左1"提取出1 + const aNum = extractAxleNumber(a.axle_number); + const bNum = extractAxleNumber(b.axle_number); + return aNum - bNum; + }); }; // 获取右侧轴信息 const getRightAxles = (equipment) => { if (!equipment.status_records || equipment.status_records.length === 0) return []; - return equipment.status_records.filter(record => { + // 获取所有右侧轴记录 + const rightAxles = equipment.status_records.filter(record => { const axle = record.axle_number; return axle.includes('右') || axle.includes('right'); }); + + // 按照右1, 右2, 右3...的顺序排序 + return rightAxles.sort((a, b) => { + // 提取轴号中的数字,如"右1"提取出1 + const aNum = extractAxleNumber(a.axle_number); + const bNum = extractAxleNumber(b.axle_number); + return aNum - bNum; + }); +}; + +// 提取轴号中的数字 +const extractAxleNumber = (axleStr) => { + if (!axleStr) return Infinity; + + // 使用正则表达式提取数字,如从"左1"中提取出1 + const match = axleStr.match(/(\d+)/); + if (match) { + return parseInt(match[0], 10); + } + + // 如果没有数字,例如只有"左边"或"右边",则使用默认值 + if (axleStr.includes('左') || axleStr.includes('left')) return 0; + if (axleStr.includes('右') || axleStr.includes('right')) return 0; + + return Infinity; }; // 根据完成度返回对应的CSS类名 @@ -117,10 +155,20 @@ const getCompletionClass = (degree) => { .equipment-header { background-color: #f5f7fa; padding: 10px 15px; - font-weight: bold; font-size: 16px; - text-align: center; border-bottom: 1px solid #dcdfe6; + display: flex; + justify-content: space-between; + align-items: center; +} + +.equipment-name { + font-weight: bold; +} + +.equipment-health { + font-size: 14px; + color: #67c23a; } .equipment-body { @@ -235,6 +283,8 @@ const getCompletionClass = (degree) => { font-weight: bold; } + + .no-records { text-align: center; color: #909399;