From 533d1e4ae9ffeafdd9ff65ddcefd7bd005f7d78c Mon Sep 17 00:00:00 2001
From: ZN <zhang_12370@163.com>
Date: 星期三, 01 四月 2026 15:13:33 +0800
Subject: [PATCH] feat(生产管理): 增强BOM信息展示并调整工序配置

---
 src/views/salesManagement/salesLedger/index.vue |   92 +++++++++++++++++++++-------------------------
 1 files changed, 42 insertions(+), 50 deletions(-)

diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 968ed7a..97c7b3d 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -61,7 +61,11 @@
 								</template>
 							</el-table-column>
               <el-table-column label="鏁伴噺" prop ="quantity" />
-					<el-table-column label="宸插彂璐ф暟閲�" prop="partSendAmount" />
+					<el-table-column label="宸插彂璐ф暟閲�" prop="partSendAmount" >
+						<template #default="scope">
+										{{ scope.row.partSendAmount || 0 }}
+								</template>
+						</el-table-column>
               <el-table-column label="绋庣巼(%)" prop="taxRate" />
               <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber" />
               <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber" />
@@ -555,7 +559,7 @@
 		>
 			<el-form :model="deliveryForm" label-width="120px" label-position="top" :rules="deliveryRules" ref="deliveryFormRef">
 				<el-row :gutter="30">
-					<el-col :span="12">
+					<!-- <el-col :span="12">
 						<el-form-item label="鍙戣揣绫诲瀷锛�" prop="type">
 							<el-select
 								v-model="deliveryForm.type"
@@ -566,9 +570,9 @@
 								<el-option label="蹇��" value="蹇��" />
 							</el-select>
 						</el-form-item>
-					</el-col>
+					</el-col> -->
       <el-col :span="12">
-						<el-form-item label="寰呭彂璐ф暟閲忥細">
+						<el-form-item label="寰呭彂璐ф暟閲忥細" prop="remainAmount">
 							<el-input v-model="deliveryForm.remainAmount" disabled placeholder="璇疯緭鍏ュ緟鍙戣揣鏁伴噺"></el-input>
 						</el-form-item>
 					</el-col>
@@ -866,6 +870,18 @@
     type: [
       { required: true, message: "璇烽�夋嫨鍙戣揣绫诲瀷", trigger: "change" }
     ],
+    remainAmount: [
+      {
+        validator: (rule, value, callback) => {
+          const remain = Number(value) || 0;
+          if (remain <= 0) {
+            return callback(new Error("寰呭彂璐ф暟閲忛渶瑕佸ぇ浜�0"));
+          }
+          return callback();
+        },
+        trigger: "change",
+      }
+    ],
     deliveryMode: [
       { required: true, message: "璇烽�夋嫨鍙戣揣妯″紡", trigger: "change" }
     ],
@@ -908,7 +924,7 @@
 	if (!deliveryDetailSalesLedgerId.value) return;
 	deliveryDetailLoading.value = true;
 	return deliveryLedgerListPage({
-		salesLedgerId: deliveryDetailSalesLedgerId.value,
+		salesLedgerProductId: deliveryDetailSalesLedgerId.value,
 		current: deliveryDetailPage.current,
 		size: deliveryDetailPage.size,
 	}).then((res) => {
@@ -926,7 +942,7 @@
 };
 
 const openDeliveryDetail = (row) => {
-	deliveryDetailSalesLedgerId.value = row?.salesLedgerId ?? null;
+	deliveryDetailSalesLedgerId.value = row?.id ?? null;
 	deliveryDetailPage.current = 1;
 	deliveryDetailVisible.value = true;
 	getDeliveryDetailList();
@@ -2138,30 +2154,18 @@
  * @param row 琛屾暟鎹�
  */
 const getShippingStatusText = (row) => {
-	// 濡傛灉宸插彂璐э紙鏈夊彂璐ф棩鏈熸垨杞︾墝鍙凤級锛屾樉绀�"宸插彂璐�"
-	if (row.shippingDate || row.shippingCarNumber) {
-		return '宸插彂璐�';
-	}
-	
-	// 鑾峰彇鍙戣揣鐘舵�佸瓧娈�
-	const status = row.shippingStatus;
-	
-	// 濡傛灉鐘舵�佷负绌烘垨鏈畾涔夛紝榛樿涓�"寰呭彂璐�"
-	if (status === null || status === undefined || status === '') {
+	const total = Number(row?.quantity || 0);
+	const shipped = Number(row?.partSendAmount || 0);
+	if (shipped <= 0) {
 		return '寰呭彂璐�';
 	}
-	
-	// 鐘舵�佹槸瀛楃涓�
-	const statusStr = String(status).trim();
-	const statusTextMap = {
-		'寰呭彂璐�': '寰呭彂璐�',
-		'寰呭鏍�': '寰呭鏍�',
-		'瀹℃牳涓�': '瀹℃牳涓�',
-		'瀹℃牳鎷掔粷': '瀹℃牳鎷掔粷',
-		'瀹℃牳閫氳繃': '瀹℃牳閫氳繃',
-		'宸插彂璐�': '宸插彂璐�'
-	};
-	return statusTextMap[statusStr] || '寰呭彂璐�';
+	if (shipped < total) {
+		return '鍙戣揣涓�';
+	}
+	if (shipped >= total && total > 0) {
+		return '宸插彂璐�';
+	}
+	return '寰呭彂璐�';
 };
 
 /**
@@ -2169,30 +2173,18 @@
  * @param row 琛屾暟鎹�
  */
 const getShippingStatusType = (row) => {
-	// 濡傛灉宸插彂璐э紙鏈夊彂璐ф棩鏈熸垨杞︾墝鍙凤級锛屾樉绀虹豢鑹�
-	if (row.shippingDate || row.shippingCarNumber) {
-		return 'success';
-	}
-	
-	// 鑾峰彇鍙戣揣鐘舵�佸瓧娈�
-	const status = row.shippingStatus;
-	
-	// 濡傛灉鐘舵�佷负绌烘垨鏈畾涔夛紝榛樿涓虹伆鑹诧紙寰呭彂璐э級
-	if (status === null || status === undefined || status === '') {
+	const total = Number(row?.quantity || 0);
+	const shipped = Number(row?.partSendAmount || 0);
+	if (shipped <= 0) {
 		return 'info';
 	}
-	
-	// 鐘舵�佹槸瀛楃涓�
-	const statusStr = String(status).trim();
-	const typeTextMap = {
-		'寰呭彂璐�': 'info',
-		'寰呭鏍�': 'info',
-		'瀹℃牳涓�': 'warning',
-		'瀹℃牳鎷掔粷': 'danger',
-		'瀹℃牳閫氳繃': 'success',
-		'宸插彂璐�': 'success'
-	};
-	return typeTextMap[statusStr] || 'info';
+	if (shipped < total) {
+		return 'warning';
+	}
+	if (shipped >= total && total > 0) {
+		return 'success';
+	}
+	return 'info';
 };
 
 const getRemainAmount = (row) => {

--
Gitblit v1.9.3