From fa95ef8dd4c23d05bf7bee16927f207cc0793412 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 02 十一月 2026 10:27:29 +0800
Subject: [PATCH] 诚发五金:按需求收敛页面,去掉无入口的工序/库区库位强依赖

---
 src/views/mes/pro/task/modules/schedule-form.vue |   84 +++++++++++++++++++++--------------------
 1 files changed, 43 insertions(+), 41 deletions(-)

diff --git a/src/views/mes/pro/task/modules/schedule-form.vue b/src/views/mes/pro/task/modules/schedule-form.vue
index f459bfb..9fff99d 100644
--- a/src/views/mes/pro/task/modules/schedule-form.vue
+++ b/src/views/mes/pro/task/modules/schedule-form.vue
@@ -43,24 +43,18 @@
   wrapperClass: 'grid-cols-3',
 });
 
-/** 鍔犺浇宸ュ崟宸ュ簭鍒楄〃锛堜粎浣跨敤宸ュ崟宸ュ簭锛屼笉鍥為��鍒板伐鑹鸿矾绾挎ā鏉匡級 */
+/** 鍔犺浇宸ュ崟宸ュ簭鍒楄〃锛涙湭閰嶇疆宸ュ簭鏃舵寜鍗曞伐搴忕敓浜у鐞� */
 async function loadRouteProcesses(workOrderId: number, productId: number) {
   const woProcesses = await getWorkOrderProcessListByWorkOrderId(workOrderId);
-  if (!woProcesses || woProcesses.length === 0) {
-    message.warning('褰撳墠璁㈠崟鏈厤缃伐搴忥紝璇峰厛鍦ㄥ伐鍗曚腑缁存姢宸ュ簭淇℃伅');
-    return;
-  }
-  // 纭畾宸ヨ壓璺嚎ID锛氬伐鍗曡矾绾� 鈫� 浜у搧璺嚎
+  // 纭畾宸ヨ壓璺嚎ID锛氭湁宸ュ簭鏃舵寜浜у搧璺嚎甯﹀嚭锛涙湭閰嶇疆宸ュ簭鏃舵寜鍗曞伐搴忕敓浜�
   let tempRouteId = 0;
-  if (workOrder.value?.routeId) {
-    tempRouteId = workOrder.value.routeId;
-  } else {
+  if (woProcesses && woProcesses.length > 0) {
     const processes = await getRouteProcessListByProduct(productId);
     tempRouteId = processes?.[0]?.routeId ?? 0;
   }
   currentRouteId.value = tempRouteId;
 
-  routeProcessList.value = [...woProcesses].toSorted(
+  routeProcessList.value = [...(woProcesses ?? [])].toSorted(
     (a, b) => (a.sort ?? 0) - (b.sort ?? 0),
   );
 }
@@ -121,50 +115,58 @@
   <Modal :title="getTitle" class="w-4/5">
     <Form class="mx-4" />
     <!-- 宸ュ簭姝ラ瀵艰埅 + 褰撳墠宸ュ簭浠诲姟鍒楄〃 -->
-    <template v-if="routeProcessList.length > 0 && workOrder?.id">
-      <Steps
-        v-model:current="activeProcessStep"
-        class="my-4 px-4"
-        size="small"
-        type="navigation"
-      >
-        <Steps.Step
-          v-for="rp in routeProcessList"
-          :key="rp.processId"
-          :title="rp.processName"
-          :description="rp.paramTemplateId ? `鍙傛暟妯℃澘 #${rp.paramTemplateId}` : '鏈厤缃弬鏁版ā鏉�'"
-        />
-      </Steps>
-      <template v-for="(rp, index) in routeProcessList" :key="rp.processId">
-        <Card
-          v-if="activeProcessStep === index"
-          class="mx-4"
+    <template v-if="workOrder?.id">
+      <template v-if="routeProcessList.length > 0">
+        <Steps
+          v-model:current="activeProcessStep"
+          class="my-4 px-4"
+          size="small"
+          type="navigation"
         >
-          <TaskList
-            :color-code="rp.colorCode"
-            :disabled="isReadonly"
-            :item-id="rp.outputItemId || workOrder.productId"
-            :process-id="rp.processId!"
-            :route-id="currentRouteId"
-            :work-order-id="workOrder.id!"
-            :work-order-quantity="workOrder.quantity"
+          <Steps.Step
+            v-for="rp in routeProcessList"
+            :key="rp.processId"
+            :title="rp.processName"
+            :description="rp.paramTemplateId ? `鍙傛暟妯℃澘 #${rp.paramTemplateId}` : '鏈厤缃弬鏁版ā鏉�'"
           />
-        </Card>
+        </Steps>
+        <template v-for="(rp, index) in routeProcessList" :key="rp.processId">
+          <Card
+            v-if="activeProcessStep === index"
+            class="mx-4"
+          >
+            <TaskList
+              :color-code="rp.colorCode"
+              :disabled="isReadonly"
+              :item-id="rp.outputItemId || workOrder.productId"
+              :process-id="rp.processId!"
+              :route-id="currentRouteId"
+              :work-order-id="workOrder.id!"
+              :work-order-quantity="workOrder.quantity"
+            />
+          </Card>
+        </template>
       </template>
+      <!-- 鏈厤缃伐搴�/宸ヨ壓璺嚎锛氭暣寮犲伐鍗曟寜鍗曞伐搴忔帓浜� -->
+      <Card v-else class="mx-4">
+        <TaskList
+          :disabled="isReadonly"
+          :item-id="workOrder.productId"
+          :route-id="currentRouteId || undefined"
+          :work-order-id="workOrder.id!"
+          :work-order-quantity="workOrder.quantity"
+        />
+      </Card>
     </template>
     <template #prepend-footer>
       <div class="flex flex-auto items-center gap-2">
         <template v-if="formType === 'schedule'">
           <Popconfirm
-            v-if="routeProcessList.length > 0"
             title="纭瑕佸畬鎴愯璁㈠崟鍚楋紵瀹屾垚鍚庤鍗曚笅鎵�鏈変换鍔″皢鏍囪涓哄凡瀹屾垚銆�"
             @confirm="handleFinish"
           >
             <Button type="primary">瀹屾垚</Button>
           </Popconfirm>
-          <span v-else class="text-gray-400 text-sm">
-            褰撳墠璁㈠崟鏈厤缃伐搴忥紝璇峰厛鍦ㄥ伐鍗曚腑缁存姢宸ュ簭淇℃伅鍚庡啀瀹屾垚
-          </span>
         </template>
       </div>
     </template>

--
Gitblit v1.9.3