From 6dbbc9c86afa617901ab603c6a82f6621b07bf06 Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期三, 26 八月 2026 09:54:13 +0800
Subject: [PATCH] feat(erp): 增加采购与销售订单订金校验逻辑,限制不得超过优惠后总金额 - **采购订单 (`src/views/erp/purchase/order/data.ts`)**: 为 `depositPrice`(支付订金)字段增加双重校验,动态绑定 `max` 属性到 `totalPrice`,并添加动态表单 rules,超出时提示“订金不能大于优惠后金额”。 - **销售订单 (`src/views/erp/sale/order/data.ts`)**: 复用同等防错机制,限制 `depositPrice`(收取订金)输入不能超过优惠后金额,超过时给予相应报错提示。

---
 src/views/crm/contract/detail/modules/info.vue |   27 ++++++++++++++++++++++++---
 1 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/src/views/crm/contract/detail/modules/info.vue b/src/views/crm/contract/detail/modules/info.vue
index da23e23..bd0f9a0 100644
--- a/src/views/crm/contract/detail/modules/info.vue
+++ b/src/views/crm/contract/detail/modules/info.vue
@@ -1,16 +1,20 @@
 <script lang="ts" setup>
 import type { CrmContractApi } from '#/api/crm/contract';
 
-import { Divider } from 'ant-design-vue';
+import { useRouter } from 'vue-router';
+
+import { Button, Divider } from 'ant-design-vue';
 
 import { useDescription } from '#/components/description';
 import { useFollowUpDetailSchema } from '#/views/crm/followup/data';
 
 import { useDetailBaseSchema } from '../data';
 
-defineProps<{
+const props = defineProps<{
   contract: CrmContractApi.Contract; // 鍚堝悓淇℃伅
 }>();
+
+const router = useRouter();
 
 const [BaseDescriptions] = useDescription({
   title: '鍩烘湰淇℃伅',
@@ -27,11 +31,28 @@
   class: 'mx-4',
   schema: useFollowUpDetailSchema(),
 });
+
+/** 鏌ョ湅閿�鍞鍗� */
+function handleViewOrder() {
+  if (props.contract.orderId) {
+    router.push({
+      name: 'ErpSaleOrder',
+      query: { id: props.contract.orderId },
+    });
+  }
+}
 </script>
 
 <template>
   <div>
-    <BaseDescriptions :data="contract" />
+    <BaseDescriptions :data="contract">
+      <template #orderNo="{ data }">
+        <Button v-if="data.orderId" type="link" @click="handleViewOrder">
+          {{ data.orderNo }}
+        </Button>
+        <span v-else>-</span>
+      </template>
+    </BaseDescriptions>
     <Divider />
     <SystemDescriptions :data="contract" />
   </div>

--
Gitblit v1.9.3