From 2540d86f0dbd77f654f558c3bf9d5ddbe7422f16 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 03 七月 2026 17:22:09 +0800
Subject: [PATCH] fix: 完成设计项目和归档台账接口对接,功能联调

---
 src/views/mes/pd/project/modules/workflow-timeline.vue |   52 +++++++++++++++++-----------------------------------
 1 files changed, 17 insertions(+), 35 deletions(-)

diff --git a/src/views/mes/pd/project/modules/workflow-timeline.vue b/src/views/mes/pd/project/modules/workflow-timeline.vue
index 58a6d8a..6989422 100644
--- a/src/views/mes/pd/project/modules/workflow-timeline.vue
+++ b/src/views/mes/pd/project/modules/workflow-timeline.vue
@@ -1,53 +1,35 @@
 <script lang="ts" setup>
-import type { MesPdWorkflowApi } from '#/api/mes/pd/workflow';
-
-import { onMounted, ref, watch } from 'vue';
+import { computed } from 'vue';
 
 import { Steps } from 'ant-design-vue';
 
-import { getPdWorkflowList } from '#/api/mes/pd/workflow';
+const STEPS = ['寰呭彂甯�', '寰呬笂浼�', '寰呭鏍�', '寰呭綊妗�', '宸插綊妗�'] as const;
 
 const props = defineProps<{
-  projectId: number;
+  /** 椤圭洰褰撳墠鐘舵�� (0-4) */
+  status: number;
 }>();
 
-const loading = ref(false);
-const nodes = ref<MesPdWorkflowApi.WorkflowNode[]>([]);
-const current = ref(0);
+const current = computed(() => {
+  // 鐘舵�佸�煎嵆褰撳墠宸插畬鎴愬埌绗嚑姝ワ細0=绗竴姝ヨ繘琛屼腑锛�4=鍏ㄩ儴瀹屾垚
+  return props.status;
+});
 
-async function loadData() {
-  loading.value = true;
-  try {
-    nodes.value = await getPdWorkflowList(props.projectId);
-    const activeIndex = nodes.value.findIndex((item) => item.status !== 1);
-    current.value = activeIndex === -1 ? nodes.value.length : activeIndex;
-  } finally {
-    loading.value = false;
-  }
-}
-
-watch(
-  () => props.projectId,
-  () => loadData(),
-  { immediate: true },
+const nodes = computed(() =>
+  STEPS.map((name, index) => ({
+    title: name,
+    status: index < props.status ? 'finish' : index === props.status ? 'process' : 'wait',
+  })),
 );
-
-onMounted(loadData);
 </script>
 
 <template>
   <Steps :current="current" direction="vertical" size="small">
     <Steps.Step
-      v-for="node in nodes"
-      :key="node.id"
-      :description="node.remark"
-      :sub-title="node.operatorName"
-      :title="node.nodeName"
-    />
-    <Steps.Step
-      v-if="!loading && nodes.length === 0"
-      description="鏆傛棤娴佺▼璁板綍锛屼繚瀛橀」鐩悗灏嗚嚜鍔ㄧ敓鎴�"
-      title="寰呭惎鍔�"
+      v-for="(node, index) in nodes"
+      :key="index"
+      :status="node.status as any"
+      :title="node.title"
     />
   </Steps>
 </template>

--
Gitblit v1.9.3