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/erp/purchase/invoice/modules/form.vue | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/views/erp/purchase/invoice/modules/form.vue b/src/views/erp/purchase/invoice/modules/form.vue
index 3450581..12036c8 100644
--- a/src/views/erp/purchase/invoice/modules/form.vue
+++ b/src/views/erp/purchase/invoice/modules/form.vue
@@ -22,6 +22,7 @@
const emit = defineEmits(['success']);
const formData = ref<ErpPurchaseInvoiceApi.PurchaseInvoice>();
const formType = ref<FormType>('create');
+const orderTotalTaxPrice = ref<number>(); // 鎵�閫夐噰璐鍗曞悎璁$◣棰濓紙鏈紑绁ㄩ噾棰濓紝鐢ㄤ簬鎻愮ず涓庢牎楠岋級
const getTitle = computed(() => {
if (formType.value === 'create') {
@@ -42,7 +43,7 @@
},
wrapperClass: 'grid-cols-2',
layout: 'horizontal',
- schema: useFormSchema(),
+ schema: useFormSchema(orderTotalTaxPrice),
showDefaultActions: false,
});
@@ -71,12 +72,13 @@
async onOpenChange(isOpen: boolean) {
if (!isOpen) {
formData.value = undefined;
+ orderTotalTaxPrice.value = undefined;
return;
}
const data = modalApi.getData<{ formType: FormType; id?: number }>();
formType.value = data.formType;
formApi.setDisabled(formType.value === 'detail');
- formApi.updateSchema(useFormSchema());
+ formApi.updateSchema(useFormSchema(orderTotalTaxPrice));
await formApi.resetForm();
if (!data || !data.id) {
return;
@@ -85,9 +87,15 @@
try {
formData.value = await getPurchaseInvoice(data.id);
if (formData.value?.attachmentList?.length) {
- // 鐢� attachmentList 浠f浛 blobIds锛岃涓婁紶缁勪欢鑳藉睍绀烘枃浠跺悕鍜岄瑙堥摼鎺�
+ // 杞负涓婁紶缁勪欢鐨勬枃浠跺璞★紱鎻愪氦鏃� formApi 浼氭寜 valueKey 鎻愬彇闄勪欢 ID
(formData.value as Record<string, unknown>).blobIds =
- formData.value.attachmentList;
+ formData.value.attachmentList.map((item) => ({
+ uid: String(item.id),
+ name: item.name || '',
+ url: item.url || '',
+ status: 'done',
+ id: item.id,
+ }));
}
await formApi.setValues(formData.value as any);
} finally {
--
Gitblit v1.9.3