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/index.vue                    |    7 +--
 src/views/reportAnalysis/productionAnalysis/components/center-bottom.vue |   82 ++++++++++++++++++++++++++++++++++++++---
 src/views/reportAnalysis/productionAnalysis/components/center-center.vue |    2 
 3 files changed, 80 insertions(+), 11 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>
diff --git a/src/views/reportAnalysis/productionAnalysis/components/center-center.vue b/src/views/reportAnalysis/productionAnalysis/components/center-center.vue
index 973c68d..4747992 100644
--- a/src/views/reportAnalysis/productionAnalysis/components/center-center.vue
+++ b/src/views/reportAnalysis/productionAnalysis/components/center-center.vue
@@ -20,7 +20,7 @@
         :xAxis="xAxis1"
         :yAxis="yAxis1"
         :options="{ backgroundColor: 'transparent', textStyle: { color: '#B8C8E0' } }"
-        style="height: 260px"
+        style="height: 236px"
       />
     </div>
   </div>
diff --git a/src/views/reportAnalysis/productionAnalysis/index.vue b/src/views/reportAnalysis/productionAnalysis/index.vue
index e179150..e176bbf 100644
--- a/src/views/reportAnalysis/productionAnalysis/index.vue
+++ b/src/views/reportAnalysis/productionAnalysis/index.vue
@@ -36,7 +36,6 @@
       <div class="right-panel">
         
         <RightTop />
-        <RightBottom />
       </div>
     </div>
     </div>
@@ -49,7 +48,6 @@
 import LeftBottom from './components/left-bottom.vue'
 import CenterCenter from './components/center-center.vue'
 import RightTop from './components/right-top.vue'
-import RightBottom from './components/right-bottom.vue'
 import useUserStore from '@/store/modules/user'
 import LeftTop from './components/left-top.vue'
 import CenterTop from './components/center-top.vue'
@@ -269,7 +267,7 @@
 }
 
 /* 纭繚鍚勯潰鏉胯兘澶熸纭樉绀� */
-.left-panel, .center-panel, .right-panel {
+.left-panel, .right-panel {
 overflow: hidden;
 }
 
@@ -287,6 +285,7 @@
 display: flex;
 flex-direction: column;
 gap: 20px;
+overflow: visible;
 }
 
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3