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