From f3f855be1fd86d28485fceb02c30b6c6b2853aef Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 04 十一月 2026 18:15:40 +0800
Subject: [PATCH] feat(mes): 质检附件与来源关联界面,新增工单技术文件、废料登记与领料单打印

---
 src/views/mes/workbench/components/WorkstationSelectDialog.vue |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/views/mes/workbench/components/WorkstationSelectDialog.vue b/src/views/mes/workbench/components/WorkstationSelectDialog.vue
index 6d5e41d..a3b9c42 100644
--- a/src/views/mes/workbench/components/WorkstationSelectDialog.vue
+++ b/src/views/mes/workbench/components/WorkstationSelectDialog.vue
@@ -5,9 +5,10 @@
 
 import { IconifyIcon } from '@vben/icons';
 
-import { Input, Modal, Spin } from 'ant-design-vue';
+import { Input, message, Modal, Spin } from 'ant-design-vue';
 
 import { getWorkstationPage } from '#/api/mes/md/workstation';
+import { getUnfinishedWorkstationCounts } from '#/api/mes/pro/task';
 
 defineOptions({ name: 'WorkbenchWorkstationSelectDialog' });
 
@@ -19,6 +20,8 @@
 const loading = ref(false);
 const workstations = ref<MesMdWorkstationApi.Workstation[]>([]);
 const searchKeyword = ref('');
+const pendingCounts = ref<Record<number, number>>({});
+const countsAvailable = ref(false);
 
 /** 鎵撳紑寮圭獥 */
 async function open() {
@@ -31,8 +34,20 @@
 async function loadWorkstations() {
   loading.value = true;
   try {
-    const result = await getWorkstationPage({ pageNo: 1, pageSize: 200 });
+    pendingCounts.value = {};
+    countsAvailable.value = false;
+    const [result, counts] = await Promise.all([
+      getWorkstationPage({ pageNo: 1, pageSize: 200 }),
+      getUnfinishedWorkstationCounts().catch(() => {
+        message.warning('鏈兘鑾峰彇宸ヤ綔绔欎换鍔℃暟閲�');
+        return null;
+      }),
+    ]);
     workstations.value = result.list ?? [];
+    if (counts) {
+      pendingCounts.value = Object.fromEntries(counts.map((item) => [item.workstationId, item.pendingCount]));
+      countsAvailable.value = true;
+    }
   } finally {
     loading.value = false;
   }
@@ -103,6 +118,7 @@
             </span>
           </div>
           <div class="ws-card__name">{{ ws.name }}</div>
+          <div class="ws-card__info-row">鏈畬鎴愪换鍔★細{{ countsAvailable ? (pendingCounts[ws.id!] ?? 0) : '鈥�' }} 鏉�</div>
           <div class="ws-card__info">
             <div v-if="ws.workshopName" class="ws-card__info-row">
               <IconifyIcon icon="lucide:building-2" class="ws-card__info-icon" />

--
Gitblit v1.9.3