From 5dbc69b4e792dcce998038822b92402366bec47f Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 18 八月 2026 10:45:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/fix/hsy/20260812' into dev_pro2.0

---
 src/views/mes/pro/task/index.vue |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/src/views/mes/pro/task/index.vue b/src/views/mes/pro/task/index.vue
index bd75f40..79377f1 100644
--- a/src/views/mes/pro/task/index.vue
+++ b/src/views/mes/pro/task/index.vue
@@ -1,6 +1,6 @@
-锘�<script lang="ts" setup>
+<script lang="ts" setup>
 import type { VxeTableGridOptions } from '#/adapter/vxe-table';
-import type { MesProWorkOrderApi } from '#/api/mes/pro/workorder';
+import {getWorkOrderSchedulePage, type MesProWorkOrderApi} from '#/api/mes/pro/workorder';
 
 import { onMounted, ref } from 'vue';
 import { useRouter } from 'vue-router';
@@ -11,7 +11,7 @@
   MesProWorkOrderTypeEnum,
 } from '@vben/constants';
 
-import { Button, Card, message } from 'ant-design-vue';
+import { Button, Card, message, Tabs } from 'ant-design-vue';
 
 import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
 import { getGanttTaskList, previewAutoGenerate, autoGenerateTasks } from '#/api/mes/pro/task';
@@ -27,6 +27,8 @@
 const ganttTasks = ref<any[]>([]); // 鐢樼壒鍥鹃瑙堟暟鎹�
 const archiveVisible = ref(false);
 const archiveProductCode = ref('');
+
+const activeTab = ref('PENDING'); // 榛樿閫変腑寰呮帓浜�
 
 const [ScheduleModal, scheduleModalApi] = useVbenModal({
   connectedComponent: ScheduleForm,
@@ -106,10 +108,19 @@
     proxyConfig: {
       ajax: {
         query: async ({ page }, formValues) => {
-          return await getWorkOrderPage({
+          let scheduleStatus: number | undefined = undefined;
+          
+          if (activeTab.value === 'PENDING') {
+            scheduleStatus = 0; // 寰呮帓浜�
+          } else if (activeTab.value === 'FINISHED') {
+            scheduleStatus = 1; // 宸插畬鎴�
+          }
+          // activeTab === 'ALL' 鏃朵笉浼�
+
+          return await getWorkOrderSchedulePage({
             pageNo: page.currentPage,
             pageSize: page.pageSize,
-            status: MesProWorkOrderStatusEnum.CONFIRMED,
+            scheduleStatus,
             type: MesProWorkOrderTypeEnum.SELF,
             ...formValues,
           });
@@ -147,7 +158,17 @@
       <GanttChart :height="350" :readonly="true" :tasks="ganttTasks" />
     </Card>
 
-    <Grid table-title="寰呮帓浜ц鍗�">
+    <Grid>
+      <template #table-title>
+        <div class="flex flex-col gap-2">
+          <span class="text-base font-medium">鐢熶骇璁㈠崟鍒楄〃</span>
+          <Tabs v-model:activeKey="activeTab" @change="handleRefresh" :tabBarStyle="{ margin: 0, borderBottom: 0 }">
+            <Tabs.TabPane key="ALL" tab="鍏ㄩ儴" />
+            <Tabs.TabPane key="PENDING" tab="鏈畬鎴�" />
+            <Tabs.TabPane key="FINISHED" tab="宸插畬鎴�" />
+          </Tabs>
+        </div>
+      </template>
       <template #toolbar-tools>
         <TableAction
           :actions="[

--
Gitblit v1.9.3