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