From 2722434125ecbf860b97f793b6711e7567647729 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 02 四月 2026 14:12:37 +0800
Subject: [PATCH] 军泰伟业 1.军泰伟业-BI的生产核算分析不要了,增加生产订单当前工序

---
 src/views/reportAnalysis/productionAnalysis/components/center-bottom.vue |   82 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 76 insertions(+), 6 deletions(-)

diff --git a/src/views/reportAnalysis/productionAnalysis/components/center-bottom.vue b/src/views/reportAnalysis/productionAnalysis/components/center-bottom.vue
index 46a870a..f24bf3b 100644
--- a/src/views/reportAnalysis/productionAnalysis/components/center-bottom.vue
+++ b/src/views/reportAnalysis/productionAnalysis/components/center-bottom.vue
@@ -16,6 +16,7 @@
                 <th>鐢熶骇璁㈠崟鍙�</th>
                 <th>浜у搧鍚嶇О</th>
                 <th>瑙勬牸</th>
+                <th>宸ュ簭</th>
                 <th>闇�姹傛暟閲�</th>
                 <th>瀹屾垚鏁伴噺</th>
                 <th>瀹屾垚杩涘害</th>
@@ -31,6 +32,20 @@
                 <td>{{ item.npsNo || '-' }}</td>
                 <td>{{ item.productCategory || '-' }}</td>
                 <td>{{ item.specificationModel || '-' }}</td>
+                <td>
+                  <div class="work-order-circles">
+                    <div
+                      v-for="(workOrder, workOrderIndex) in item.productWorkOrders || []"
+                      :key="workOrder.id || workOrderIndex"
+                      class="work-order-circle"
+                      :class="getWorkOrderColorClass(workOrder.color)"
+                      :title="workOrder.processName || workOrder.workOrderNo"
+                    >
+                      {{ workOrder.processName ? workOrder.processName.substring(0, 2) : workOrderIndex + 1 }}
+                    </div>
+                    <span v-if="!item.productWorkOrders || item.productWorkOrders.length === 0">-</span>
+                  </div>
+                </td>
                 <td>{{ item.quantity || 0 }}</td>
                 <td>{{ item.completeQuantity || 0 }}</td>
                 <td>
@@ -96,6 +111,16 @@
   if (p < 50) return '#e6a23c'
   if (p < 80) return '#409eff'
   return '#67c23a'
+}
+
+const getWorkOrderColorClass = (color) => {
+  const colorMap = {
+    1: 'gray',
+    2: 'yellow',
+    3: 'green',
+    4: 'red',
+  }
+  return colorMap[color] || 'gray'
 }
 
 const setRowRef = (el, index) => {
@@ -245,6 +270,8 @@
   display: flex;
   flex-direction: column;
   gap: 20px;
+  width: calc(100% + 550px);
+  margin-right: -550px;
 }
 
 .panel-item-customers {
@@ -252,6 +279,7 @@
   padding: 18px;
   width: 100%;
   height: 428px;
+  box-sizing: border-box;
 }
 
 .progress-table-container {
@@ -295,27 +323,31 @@
 }
 
 .progress-table th:nth-child(1) {
-  width: 15%;
+  width: 13%;
 }
 
 .progress-table th:nth-child(2) {
-  width: 15%;
+  width: 14%;
 }
 
 .progress-table th:nth-child(3) {
-  width: 15%;
+  width: 14%;
 }
 
 .progress-table th:nth-child(4) {
-  width: 12%;
+  width: 18%;
 }
 
 .progress-table th:nth-child(5) {
-  width: 12%;
+  width: 11%;
 }
 
 .progress-table th:nth-child(6) {
-  width: 31%;
+  width: 11%;
+}
+
+.progress-table th:nth-child(7) {
+  width: 19%;
 }
 
 .progress-table td {
@@ -348,4 +380,42 @@
   color: #b8c8e0;
   font-size: 11px;
 }
+
+.work-order-circles {
+  display: flex;
+  gap: 8px;
+  flex-wrap: wrap;
+  align-items: center;
+}
+
+.work-order-circle {
+  width: 32px;
+  height: 32px;
+  border-radius: 6px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  font-size: 12px;
+  font-weight: 500;
+  color: #fff;
+  cursor: pointer;
+  transition: all 0.2s ease;
+}
+
+.work-order-circle.gray {
+  background-color: #909399;
+}
+
+.work-order-circle.yellow {
+  background-color: #e6a23c;
+}
+
+.work-order-circle.green {
+  background-color: #67c23a;
+}
+
+.work-order-circle.red {
+  background-color: #f56c6c;
+}
+
 </style>

--
Gitblit v1.9.3