From 4a5d3433c6d69c08c2139067a8f8fc5fd9314fb3 Mon Sep 17 00:00:00 2001
From: sen <sen@qq.com>
Date: 星期三, 08 四月 2026 16:56:10 +0800
Subject: [PATCH] 添加订单类型选择的检验

---
 ui/admin-ui3/src/views/tms/tmsDispatchOrder/index.vue |   37 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/ui/admin-ui3/src/views/tms/tmsDispatchOrder/index.vue b/ui/admin-ui3/src/views/tms/tmsDispatchOrder/index.vue
index 5cdc1c4..9c46032 100644
--- a/ui/admin-ui3/src/views/tms/tmsDispatchOrder/index.vue
+++ b/ui/admin-ui3/src/views/tms/tmsDispatchOrder/index.vue
@@ -23,7 +23,7 @@
           <span>{{ dictFormat(order_type, row?.orderType || form?.orderType) }}</span>
         </template>
         <template v-else>
-          <el-select v-model="form.orderType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷" style="width: 100%" clearable>
+          <el-select v-model="form.orderType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷"  @change="(val) => handleOrderTypeChange(val)" style="width: 100%" clearable>
             <el-option v-for="item in order_type" :key="item.value" :label="item.label" :value="parseInt(item.value)" />
           </el-select>
         </template>
@@ -4955,6 +4955,41 @@
     // 鍙栨秷鎿嶄綔
   });
 }
+
+const handleOrderTypeChange = (value: any) => {
+  // 闃叉 value 涓� null 鎴� undefined 鏃跺嚭閿� (褰撴竻绌洪�夋嫨鏃�)
+  if (value === null || value === undefined) {
+     return;
+  }
+
+  option.value.group.forEach((item: any) => {
+    if (item.prop == 'pcxx') {
+      // 澶勭悊瑁呰揣鐐瑰繀濉鍒�
+      if (item.column.shipperId && item.column.shipperId.rules) {
+        item.column.shipperId.rules.forEach((cItem: any) => {
+          cItem.required = !(value == 1);
+        });
+      }
+      
+      // 澶勭悊鍗歌揣鐐瑰繀濉鍒�
+      if (item.column.receiverId && item.column.receiverId.rules) {
+        item.column.receiverId.rules.forEach((cItem: any) => {
+          cItem.required = !(value == 1);
+        });
+      }
+    }
+  });
+
+  // 銆愭柊澧為�昏緫銆戝鏋滃垏鎹㈠埌浜嗛潪蹇呭~鐘舵�� (value == 1)锛屽垯娓呴櫎杩欎袱涓瓧娈电殑鏍¢獙鎻愮ず
+  if (value == 1) {
+    // 纭繚 crudRef 瀛樺湪涓旀毚闇蹭簡 clearValidate 鏂规硶
+    if (crudRef.value && typeof crudRef.value.clearValidate === 'function') {
+      // 娓呴櫎鎸囧畾瀛楁鐨勬牎楠岀姸鎬�
+      crudRef.value.clearValidate(['shipperId', 'receiverId']);
+    }
+  }
+};
+
 </script>
 <style lang="scss" scoped>
 ::v-deep .cydprint .el-dialog__body {

--
Gitblit v1.8.0