From 44266ab0adf7b14aabc28017dec34bdc4fbc96da Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期一, 26 十月 2026 10:53:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_新疆_新高电力' into dev_新疆_新高电力

---
 src/views/mes/pro/route/modules/process-list.vue |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/views/mes/pro/route/modules/process-list.vue b/src/views/mes/pro/route/modules/process-list.vue
index 192cb5c..b6f4fd0 100644
--- a/src/views/mes/pro/route/modules/process-list.vue
+++ b/src/views/mes/pro/route/modules/process-list.vue
@@ -4,11 +4,11 @@
 import type { VxeTableGridOptions } from '#/adapter/vxe-table';
 import type { MesProRouteProcessApi } from '#/api/mes/pro/route/process';
 
-import { ref, watch } from 'vue';
+import { computed, ref, watch } from 'vue';
 
 import { useVbenModal } from '@vben/common-ui';
 
-import { message } from 'ant-design-vue';
+import { message, Tag } from 'ant-design-vue';
 
 import { TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
 import {
@@ -25,8 +25,15 @@
   routeId: number;
 }>();
 
-const isEditable = ref(props.formType !== 'detail'); // 鏄惁鍙紪杈�
+const emit = defineEmits<{
+  change: [list: MesProRouteProcessApi.RouteProcess[]];
+}>();
+
+const isEditable = computed(() => props.formType !== 'detail'); // 鏄惁鍙紪杈�
 const list = ref<MesProRouteProcessApi.RouteProcess[]>([]); // 宸ヨ壓璺嚎宸ュ簭鍒楄〃
+const sortedList = computed(() =>
+  [...list.value].sort((a, b) => (a.sort || 0) - (b.sort || 0)),
+);
 
 const [ProcessFormModal, processFormModalApi] = useVbenModal({
   connectedComponent: ProcessForm,
@@ -53,6 +60,7 @@
   try {
     list.value = await getRouteProcessListByRoute(props.routeId);
     gridApi.setGridOptions({ data: list.value });
+    emit('change', list.value);
   } finally {
     gridApi.setLoading(false);
   }
@@ -89,6 +97,16 @@
 
 <template>
   <ProcessFormModal @success="getList" />
+  <div v-if="sortedList.length" class="mb-4 flex flex-wrap items-center gap-2 rounded-lg bg-slate-50 p-3 dark:bg-slate-900">
+    <template v-for="(item, index) in sortedList" :key="item.id">
+      <div class="flex items-center gap-2 rounded-md border border-slate-200 bg-white px-3 py-2 dark:border-slate-700 dark:bg-slate-800">
+        <span class="text-xs font-semibold text-blue-600">{{ item.sort }}</span>
+        <span class="font-medium">{{ item.processName }}</span>
+        <Tag v-if="index === sortedList.length - 1" color="blue">鏈亾</Tag>
+      </div>
+      <span v-if="index < sortedList.length - 1" class="text-slate-400">鈫�</span>
+    </template>
+  </div>
   <div v-if="isEditable" class="mb-3 flex items-center justify-start">
     <TableAction
       :actions="[
@@ -100,7 +118,7 @@
       ]"
     />
   </div>
-  <Grid class="w-full" table-title="缁勬垚宸ュ簭">
+  <Grid class="w-full" table-title="宸ュ簭椤哄簭鍙婂悇宸ュ簭浜у嚭">
     <template #colorCode="{ row }">
       <div v-if="row.colorCode" class="flex items-center justify-center gap-1">
         <div

--
Gitblit v1.9.3