From 3f88a4f81bbfc424caa1391f4b3969c26fbf8485 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 05 九月 2025 17:57:41 +0800
Subject: [PATCH] 销售管理真机测试,bug修改

---
 src/pages/sales/salesAccount/detail.vue |  211 ++++++++++++++++++++++++----------------------------
 1 files changed, 99 insertions(+), 112 deletions(-)

diff --git a/src/pages/sales/salesAccount/detail.vue b/src/pages/sales/salesAccount/detail.vue
index 0938814..62bff3d 100644
--- a/src/pages/sales/salesAccount/detail.vue
+++ b/src/pages/sales/salesAccount/detail.vue
@@ -189,7 +189,6 @@
 							label="浜у搧澶х被"
 							prop="productCategory"
 							required
-							:rules="productRules.productCategory"
 						>
 							<up-input
 								v-model="product.productCategory"
@@ -210,7 +209,6 @@
 							label="瑙勬牸鍨嬪彿"
 							prop="specificationModel"
 							required
-							:rules="productRules.specificationModel"
 						>
 							<up-input
 								v-model="product.specificationModel"
@@ -231,7 +229,6 @@
 							label="鍗曚綅"
 							prop="unit"
 							required
-							:rules="productRules.unit"
 						>
 							<up-input
 								v-model="product.unit"
@@ -244,7 +241,6 @@
 							label="绋庣巼(%)"
 							prop="taxRate"
 							required
-							:rules="productRules.taxRate"
 						>
 							<up-input
 								v-model="product.taxRate"
@@ -265,7 +261,6 @@
 							label="鍚◣鍗曚环(鍏�)"
 							prop="taxInclusiveUnitPrice"
 							required
-							:rules="productRules.taxInclusiveUnitPrice"
 						>
 							<up-input
 								v-model="product.taxInclusiveUnitPrice"
@@ -280,7 +275,6 @@
 							label="鏁伴噺"
 							prop="quantity"
 							required
-							:rules="productRules.quantity"
 						>
 							<up-input
 								v-model="product.quantity"
@@ -295,7 +289,6 @@
 							label="鍚◣鎬讳环(鍏�)"
 							prop="taxInclusiveTotalPrice"
 							required
-							:rules="productRules.taxInclusiveTotalPrice"
 						>
 							<up-input
 								v-model="product.taxInclusiveTotalPrice"
@@ -310,7 +303,6 @@
 							label="涓嶅惈绋庢�讳环(鍏�)"
 							prop="taxExclusiveTotalPrice"
 							required
-							:rules="productRules.taxExclusiveTotalPrice"
 						>
 							<up-input
 								v-model="product.taxExclusiveTotalPrice"
@@ -325,7 +317,6 @@
 							label="鍙戠エ绫诲瀷"
 							prop="invoiceType"
 							required
-							:rules="productRules.invoiceType"
 						>
 							<up-input
 								v-model="product.invoiceType"
@@ -519,40 +510,7 @@
 	]
 };
 
-// 浜у搧淇℃伅鏍¢獙瑙勫垯
-const productRules = {
-	productCategory: [
-		{ required: true, message: '璇烽�夋嫨浜у搧澶х被', trigger: 'change' }
-	],
-	specificationModel: [
-		{ required: true, message: '璇烽�夋嫨瑙勬牸鍨嬪彿', trigger: 'change' }
-	],
-	unit: [
-		{ required: true, message: '璇疯緭鍏ュ崟浣�', trigger: 'blur' }
-	],
-	taxRate: [
-		{ required: true, message: '璇烽�夋嫨绋庣巼', trigger: 'change' }
-	],
-	taxInclusiveUnitPrice: [
-		{ required: true, message: '璇疯緭鍏ュ惈绋庡崟浠�', trigger: 'blur' },
-		{ type: 'number', min: 0, message: '鍚◣鍗曚环蹇呴』澶т簬0', trigger: 'blur' }
-	],
-	quantity: [
-		{ required: true, message: '璇疯緭鍏ユ暟閲�', trigger: 'blur' },
-		{ type: 'number', min: 0, message: '鏁伴噺蹇呴』澶т簬0', trigger: 'blur' }
-	],
-	taxInclusiveTotalPrice: [
-		{ required: true, message: '璇疯緭鍏ュ惈绋庢�讳环', trigger: 'blur' },
-		{ type: 'number', min: 0, message: '鍚◣鎬讳环蹇呴』澶т簬0', trigger: 'blur' }
-	],
-	taxExclusiveTotalPrice: [
-		{ required: true, message: '璇疯緭鍏ヤ笉鍚◣鎬讳环', trigger: 'blur' },
-		{ type: 'number', min: 0, message: '涓嶅惈绋庢�讳环蹇呴』澶т簬0', trigger: 'blur' }
-	],
-	invoiceType: [
-		{ required: true, message: '璇烽�夋嫨鍙戠エ绫诲瀷', trigger: 'change' }
-	]
-};
+
 
 const addProduct = () => {
 	if (productData.value === null) {
@@ -676,31 +634,31 @@
   if (productData.value[idx].taxInclusiveUnitPrice) {
     const value = parseFloat(productData.value[idx].taxInclusiveUnitPrice);
     if (!isNaN(value)) {
-			productData.value[idx].taxInclusiveUnitPrice = value.toFixed(2);
+		productData.value[idx].taxInclusiveUnitPrice = value.toFixed(2);
     }
   }
-	if (!productData.value[currentProductIndex.value].taxRate) {
+	if (!productData.value[idx].taxRate) {
 		uni.showToast({
 			title: '璇峰厛閫夋嫨绋庣巼',
 			icon: 'none'
 		});
 		return;
 	}
-	const quantity = parseFloat(productData.value[currentProductIndex.value].quantity);
-	const unitPrice = parseFloat(productData.value[currentProductIndex.value].taxInclusiveUnitPrice);
+	const quantity = parseFloat(productData.value[idx].quantity);
+	const unitPrice = parseFloat(productData.value[idx].taxInclusiveUnitPrice);
 	
 	if (!quantity || quantity <= 0 || !unitPrice) {
 		return;
 	}
 	// 璁$畻鍚◣鎬讳环
-	productData.value[currentProductIndex.value].taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(2);
+	productData.value[idx].taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(2);
 	
 	// 濡傛灉鏈夌◣鐜囷紝璁$畻涓嶅惈绋庢�讳环
-	if (productData.value[currentProductIndex.value].taxRate) {
-		productData.value[currentProductIndex.value].taxExclusiveTotalPrice =
+	if (productData.value[idx].taxRate) {
+		productData.value[idx].taxExclusiveTotalPrice =
 			calculateTaxExclusiveTotalPrice(
-				productData.value[currentProductIndex.value].taxInclusiveTotalPrice,
-				productData.value[currentProductIndex.value].taxRate
+				productData.value[idx].taxInclusiveTotalPrice,
+				productData.value[idx].taxRate
 			);
 	}
 };
@@ -709,30 +667,30 @@
   if (productData.value[idx].quantity) {
     const value = parseFloat(productData.value[idx].quantity);
     if (!isNaN(value)) {
-			productData.value[idx].quantity = value.toFixed(2);
+		productData.value[idx].quantity = value.toFixed(2);
     }
   }
-	if (!productData.value[currentProductIndex.value].taxRate) {
+	if (!productData.value[idx].taxRate) {
 		uni.showToast({
 			title: '璇峰厛閫夋嫨绋庣巼',
 			icon: 'none'
 		});
 		return;
 	}
-	const quantity = parseFloat(productData.value[currentProductIndex.value].quantity);
-	const unitPrice = parseFloat(productData.value[currentProductIndex.value].taxInclusiveUnitPrice);
+	const quantity = parseFloat(productData.value[idx].quantity);
+	const unitPrice = parseFloat(productData.value[idx].taxInclusiveUnitPrice);
 	
 	if (!quantity || quantity <= 0 || !unitPrice) {
 		return;
 	}
 	// 璁$畻鍚◣鎬讳环
-	productData.value[currentProductIndex.value].taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(2);
+	productData.value[idx].taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(2);
 	// 濡傛灉鏈夌◣鐜囷紝璁$畻涓嶅惈绋庢�讳环
-	if (productData.value[currentProductIndex.value].taxRate) {
-		productData.value[currentProductIndex.value].taxExclusiveTotalPrice =
+	if (productData.value[idx].taxRate) {
+		productData.value[idx].taxExclusiveTotalPrice =
 			calculateTaxExclusiveTotalPrice(
-				productData.value[currentProductIndex.value].taxInclusiveTotalPrice,
-				productData.value[currentProductIndex.value].taxRate
+				productData.value[idx].taxInclusiveTotalPrice,
+				productData.value[idx].taxRate
 			);
 	}
 };
@@ -741,23 +699,23 @@
   if (productData.value[idx].taxInclusiveTotalPrice) {
     const value = parseFloat(productData.value[idx].taxInclusiveTotalPrice);
     if (!isNaN(value)) {
-			productData.value[idx].taxInclusiveTotalPrice = value.toFixed(2);
+		productData.value[idx].taxInclusiveTotalPrice = value.toFixed(2);
     }
   }
-	const totalPrice = parseFloat(productData.value[currentProductIndex.value].taxInclusiveTotalPrice);
-	const quantity = parseFloat(productData.value[currentProductIndex.value].quantity);
+	const totalPrice = parseFloat(productData.value[idx].taxInclusiveTotalPrice);
+	const quantity = parseFloat(productData.value[idx].quantity);
 	
 	if (!totalPrice || !quantity || quantity <= 0) {
 		return;
 	}
 	// 璁$畻鍚◣鍗曚环 = 鍚◣鎬讳环 / 鏁伴噺
-	productData.value[currentProductIndex.value].taxInclusiveUnitPrice = (totalPrice / quantity).toFixed(2);
+	productData.value[idx].taxInclusiveUnitPrice = (totalPrice / quantity).toFixed(2);
 	// 濡傛灉鏈夌◣鐜囷紝璁$畻涓嶅惈绋庢�讳环
-	if (productData.value[currentProductIndex.value].taxRate) {
-		productData.value[currentProductIndex.value].taxExclusiveTotalPrice =
+	if (productData.value[idx].taxRate) {
+		productData.value[idx].taxExclusiveTotalPrice =
 			calculateTaxExclusiveTotalPrice(
 				totalPrice,
-				productData.value[currentProductIndex.value].taxRate
+				productData.value[idx].taxRate
 			);
 	}
 };
@@ -766,28 +724,28 @@
   if (productData.value[idx].taxExclusiveTotalPrice) {
     const value = parseFloat(productData.value[idx].taxExclusiveTotalPrice);
     if (!isNaN(value)) {
-			productData.value[idx].taxExclusiveTotalPrice = value.toFixed(2);
+		productData.value[idx].taxExclusiveTotalPrice = value.toFixed(2);
     }
   }
-	if (!productData.value[currentProductIndex.value].taxRate) {
+	if (!productData.value[idx].taxRate) {
 		uni.showToast({
 			title: '璇峰厛閫夋嫨绋庣巼',
 			icon: 'none'
 		});
 		return;
 	}
-	const exclusiveTotalPrice = parseFloat(productData.value[currentProductIndex.value].taxExclusiveTotalPrice);
-	const quantity = parseFloat(productData.value[currentProductIndex.value].quantity);
-	const taxRate = parseFloat(productData.value[currentProductIndex.value].taxRate);
+	const exclusiveTotalPrice = parseFloat(productData.value[idx].taxExclusiveTotalPrice);
+	const quantity = parseFloat(productData.value[idx].quantity);
+	const taxRate = parseFloat(productData.value[idx].taxRate);
 	if (!exclusiveTotalPrice || !quantity || quantity <= 0 || !taxRate) {
 		return;
 	}
 	// 鍏堣绠楀惈绋庢�讳环 = 涓嶅惈绋庢�讳环 / (1 - 绋庣巼/100)
 	const taxRateDecimal = taxRate / 100;
 	const inclusiveTotalPrice = exclusiveTotalPrice / (1 - taxRateDecimal);
-	productData.value[currentProductIndex.value].taxInclusiveTotalPrice = inclusiveTotalPrice.toFixed(2);
+	productData.value[idx].taxInclusiveTotalPrice = inclusiveTotalPrice.toFixed(2);
 	// 璁$畻鍚◣鍗曚环 = 鍚◣鎬讳环 / 鏁伴噺
-	productData.value[currentProductIndex.value].taxInclusiveUnitPrice = (inclusiveTotalPrice / quantity).toFixed(2);
+	productData.value[idx].taxInclusiveUnitPrice = (inclusiveTotalPrice / quantity).toFixed(2);
 };
 const goBack = () => {
 	// 娓呯悊鏈湴瀛樺偍鐨勬暟鎹�
@@ -813,10 +771,72 @@
 	
 	// 妫�鏌ユ瘡涓骇鍝佹槸鍚﹀~鍐欏畬鏁�
 	for (let i = 0; i < productData.value.length; i++) {
-		const errors = validateProduct(productData.value[i], i);
-		if (errors.length > 0) {
+		const product = productData.value[i];
+		// 浼樺寲鏁板瓧瀛楁楠岃瘉锛屽鐞嗗彲鑳界殑瀛楃涓叉牸寮忔暟鍊�
+		const taxInclusiveUnitPrice = parseFloat(product.taxInclusiveUnitPrice);
+		const quantity = parseFloat(product.quantity);
+		const taxInclusiveTotalPrice = parseFloat(product.taxInclusiveTotalPrice);
+		const taxExclusiveTotalPrice = parseFloat(product.taxExclusiveTotalPrice);
+		
+		if (!product.productCategory) {
 			uni.showToast({
-				title: errors[0],
+				title: `浜у搧${i + 1}锛氳閫夋嫨浜у搧澶х被`,
+				icon: 'none'
+			});
+			return;
+		}
+		if (!product.specificationModel) {
+			uni.showToast({
+				title: `浜у搧${i + 1}锛氳閫夋嫨瑙勬牸鍨嬪彿`,
+				icon: 'none'
+			});
+			return;
+		}
+		if (!product.unit) {
+			uni.showToast({
+				title: `浜у搧${i + 1}锛氳杈撳叆鍗曚綅`,
+				icon: 'none'
+			});
+			return;
+		}
+		if (!product.taxRate) {
+			uni.showToast({
+				title: `浜у搧${i + 1}锛氳閫夋嫨绋庣巼`,
+				icon: 'none'
+			});
+			return;
+		}
+		if (isNaN(taxInclusiveUnitPrice) || taxInclusiveUnitPrice <= 0) {
+			uni.showToast({
+				title: `浜у搧${i + 1}锛氳杈撳叆鏈夋晥鐨勫惈绋庡崟浠穈,
+				icon: 'none'
+			});
+			return;
+		}
+		if (isNaN(quantity) || quantity <= 0) {
+			uni.showToast({
+				title: `浜у搧${i + 1}锛氳杈撳叆鏈夋晥鐨勬暟閲廯,
+				icon: 'none'
+			});
+			return;
+		}
+		if (isNaN(taxInclusiveTotalPrice) || taxInclusiveTotalPrice <= 0) {
+			uni.showToast({
+				title: `浜у搧${i + 1}锛氳杈撳叆鏈夋晥鐨勫惈绋庢�讳环`,
+				icon: 'none'
+			});
+			return;
+		}
+		if (isNaN(taxExclusiveTotalPrice) || taxExclusiveTotalPrice <= 0) {
+			uni.showToast({
+				title: `浜у搧${i + 1}锛氳杈撳叆鏈夋晥鐨勪笉鍚◣鎬讳环`,
+				icon: 'none'
+			});
+			return;
+		}
+		if (!product.invoiceType) {
+			uni.showToast({
+				title: `浜у搧${i + 1}锛氳閫夋嫨鍙戠エ绫诲瀷`,
 				icon: 'none'
 			});
 			return;
@@ -915,40 +935,7 @@
 		productOptions.value = convertIdToValue(res);
 	});
 };
-// 鍗曚釜浜у搧琛ㄥ崟楠岃瘉鍑芥暟
-const validateProduct = (product, index) => {
-	const errors = [];
-	
-	if (!product.productCategory) {
-		errors.push(`浜у搧${index + 1}锛氳閫夋嫨浜у搧澶х被`);
-	}
-	if (!product.specificationModel) {
-		errors.push(`浜у搧${index + 1}锛氳閫夋嫨瑙勬牸鍨嬪彿`);
-	}
-	if (!product.unit) {
-		errors.push(`浜у搧${index + 1}锛氳杈撳叆鍗曚綅`);
-	}
-	if (!product.taxRate) {
-		errors.push(`浜у搧${index + 1}锛氳閫夋嫨绋庣巼`);
-	}
-	if (!product.taxInclusiveUnitPrice || parseFloat(product.taxInclusiveUnitPrice) <= 0) {
-		errors.push(`浜у搧${index + 1}锛氳杈撳叆鏈夋晥鐨勫惈绋庡崟浠穈);
-	}
-	if (!product.quantity || parseFloat(product.quantity) <= 0) {
-		errors.push(`浜у搧${index + 1}锛氳杈撳叆鏈夋晥鐨勬暟閲廯);
-	}
-	if (!product.taxInclusiveTotalPrice || parseFloat(product.taxInclusiveTotalPrice) <= 0) {
-		errors.push(`浜у搧${index + 1}锛氳杈撳叆鏈夋晥鐨勫惈绋庢�讳环`);
-	}
-	if (!product.taxExclusiveTotalPrice || parseFloat(product.taxExclusiveTotalPrice) <= 0) {
-		errors.push(`浜у搧${index + 1}锛氳杈撳叆鏈夋晥鐨勪笉鍚◣鎬讳环`);
-	}
-	if (!product.invoiceType) {
-		errors.push(`浜у搧${index + 1}锛氳閫夋嫨鍙戠エ绫诲瀷`);
-	}
-	
-	return errors;
-};
+
 
 onMounted(() => {
 	// 鑾峰彇椤甸潰鍙傛暟

--
Gitblit v1.9.3