From 47f583f707d9177486af3ac5c3c7844513691ca1 Mon Sep 17 00:00:00 2001
From: zjk <852185829@qq.com>
Date: 星期五, 17 七月 2026 09:38:29 +0800
Subject: [PATCH] fix: 订单管理-基础定价范围没有覆盖全天

---
 src/views/transaction/pricingManagement/detail.vue |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 deletions(-)

diff --git a/src/views/transaction/pricingManagement/detail.vue b/src/views/transaction/pricingManagement/detail.vue
index 6fb578e..61c5fcb 100644
--- a/src/views/transaction/pricingManagement/detail.vue
+++ b/src/views/transaction/pricingManagement/detail.vue
@@ -832,6 +832,38 @@
         }
       }
     }
+
+    // 检查起步价时段是否完整覆盖全天,避免存在未定价时间
+    const sortedStartingFareRanges = model.value.startingFareJson
+      .filter((item: any) => item.num1 && item.num2)
+      .map((item: any, index: number) => ({
+        index,
+        start: parseTimeToMinutes(item.num1),
+        end: parseTimeToMinutes(item.num2),
+      }))
+      .filter((item): item is { index: number, start: number, end: number } => item.start !== null && item.end !== null)
+      .sort((a, b) => a.start - b.start)
+
+    if (sortedStartingFareRanges.length > 0) {
+      const firstRange = sortedStartingFareRanges[0]
+      const lastRange = sortedStartingFareRanges[sortedStartingFareRanges.length - 1]
+
+      if (firstRange.start !== 0 || lastRange.end !== 23 * 60 + 59) {
+        setValidationError('startingFareJson', '定价时间需要覆盖全天')
+        window.$message.error('定价时间需要覆盖全天')
+        return false
+      }
+
+      for (let i = 1; i < sortedStartingFareRanges.length; i++) {
+        const previousRange = sortedStartingFareRanges[i - 1]
+        const currentRange = sortedStartingFareRanges[i]
+        if (previousRange.end !== currentRange.start) {
+          setValidationError('startingFareJson', '定价时间需要覆盖全天')
+          window.$message.error('定价时间需要覆盖全天')
+          return false
+        }
+      }
+    }
   }
 
   // 验证夜间行驶费用时段
@@ -2081,7 +2113,6 @@
                               ,最多 {{ item.num5 }} 分钟
                             </template>
                           </div>
-                          
                         </div>
                       </n-grid-item>
                       <n-grid-item>

--
Gitblit v1.7.1