From 306660c86f86cc92a725db3cc1c2f324cf6eaf96 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期五, 29 五月 2026 13:54:11 +0800
Subject: [PATCH] fix:所有采购合同号改为采购单号。销售合同号改为销售单号。

---
 src/views/procurementManagement/paymentHistory/index.vue                     |    6 
 src/views/safeProduction/safeWorkApproval/components/infoFormDia.vue         |    4 
 src/views/procurementManagement/procurementInvoiceLedger/index.vue           |   34 +-
 src/views/procurementManagement/invoiceEntry/index.vue                       |    6 
 src/views/collaborativeApproval/approvalProcess/index.vue                    |   22 
 src/views/procurementManagement/paymentEntry/index.vue                       |    8 
 src/views/salesManagement/salesLedger/index.vue                              |  198 ++++++++--------
 src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue   |   14 
 src/views/salesManagement/invoiceLedger/index.vue                            |    8 
 src/views/collaborativeApproval/purchaseApproval/index.vue                   |   44 +-
 src/views/collaborativeApproval/shipmentReview/index.vue                     |    6 
 src/views/procurementManagement/invoiceEntry/components/Modal.vue            |  108 ++++----
 src/api/procurementManagement/invoiceEntry.js                                |    6 
 src/views/qualityManagement/afterSalesTraceability/index.vue                 |    8 
 src/views/salesManagement/receiptPayment/index.vue                           |    4 
 src/views/reportAnalysis/projectProfit/index.vue                             |    2 
 src/views/financialManagement/receivable/receipt.vue                         |    2 
 src/views/safeProduction/safeWorkApproval/components/approvalDia.vue         |   10 
 src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue   |   16 
 src/views/financialManagement/receivable/invoiceApply.vue                    |    2 
 src/views/salesManagement/invoiceRegistration/index.vue                      |   76 +++---
 src/api/procurementManagement/paymentEntry.js                                |    4 
 src/views/procurementManagement/paymentLedger/index.vue                      |    2 
 src/views/procurementManagement/procurementLedger/index.vue                  |   62 ++--
 src/api/salesManagement/salesLedger.js                                       |    4 
 src/views/productionManagement/productionReporting/index.vue                 |    4 
 src/views/productionManagement/productionOrder/index.vue                     |    2 
 src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue |   22 
 src/views/procurementManagement/purchaseReturnOrder/New.vue                  |    8 
 src/views/procurementManagement/transferManagement/index.vue                 |    6 
 src/views/salesManagement/receiptPaymentHistory/index.vue                    |    2 
 31 files changed, 350 insertions(+), 350 deletions(-)

diff --git a/src/api/procurementManagement/invoiceEntry.js b/src/api/procurementManagement/invoiceEntry.js
index 8325aa7..0f77f90 100644
--- a/src/api/procurementManagement/invoiceEntry.js
+++ b/src/api/procurementManagement/invoiceEntry.js
@@ -1,7 +1,7 @@
 // 閲囪喘-鏉ョエ鐧昏鎺ュ彛
 import request from "@/utils/request";
 
-// 鏌ヨ閲囪喘鍚堝悓鍙�
+// 鏌ヨ閲囪喘鍗曞彿
 export function getProduct(query) {
   return request({
     url: "/purchase/ledger/getProduct",
@@ -10,7 +10,7 @@
   });
 }
 
-// 鏌ヨid閲囪喘鍚堝悓鍙�
+// 鏌ヨid閲囪喘鍗曞彿
 export function getPurchaseNoById(query) {
   return request({
     url: "/purchase/ledger/getPurchaseNoById",
@@ -18,7 +18,7 @@
     params: query,
   });
 }
-// 鏍规嵁閲囪喘鍚堝悓鍙锋煡璇㈣缁嗕俊鎭�
+// 鏍规嵁閲囪喘鍗曞彿鏌ヨ璇︾粏淇℃伅
 export function getInfo(query) {
   return request({
     url: "/purchase/ledger/getInfo",
diff --git a/src/api/procurementManagement/paymentEntry.js b/src/api/procurementManagement/paymentEntry.js
index 6ef0eb9..ea1cf03 100644
--- a/src/api/procurementManagement/paymentEntry.js
+++ b/src/api/procurementManagement/paymentEntry.js
@@ -16,14 +16,14 @@
     method: "get",
   });
 }
-// 鏍规嵁閲囪喘鍚堝悓鍙锋煡璇㈣鎯�
+// 鏍规嵁閲囪喘鍗曞彿鏌ヨ璇︽儏
 export function byPurchaseId(query) {
   return request({
     url: "/purchase/paymentRegistration/byPurchaseId/" + query,
     method: "get",
   });
 }
-// 鏌ヨ閲囪喘鍚堝悓鍙�
+// 鏌ヨ閲囪喘鍗曞彿
 export function getPurchaseNo() {
   return request({
     url: "/purchase/ledger/getPurchaseNo",
diff --git a/src/api/salesManagement/salesLedger.js b/src/api/salesManagement/salesLedger.js
index 6548927..c3fd672 100644
--- a/src/api/salesManagement/salesLedger.js
+++ b/src/api/salesManagement/salesLedger.js
@@ -101,7 +101,7 @@
   });
 }
 
-// 鏍规嵁閿�鍞悎鍚屽彿鏌ヤ骇鍝佷俊鎭�
+// 鏍规嵁閿�鍞崟鍙锋煡浜у搧淇℃伅
 export function getProductInfoByContractNo(query) {
   return request({
     url: "/purchase/ledger/getProductBySalesNo",
@@ -116,4 +116,4 @@
         method: "get",
         params: query,
     });
-}
\ No newline at end of file
+}
diff --git a/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
index 20a4ee6..a0b93b5 100644
--- a/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
+++ b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
@@ -34,7 +34,7 @@
 				</el-row>
 				<el-row v-if="!isQuotationApproval && !isPurchaseApproval">
 					<el-col :span="24">
-						<el-form-item :label="props.approveType == 5 ? '閲囪喘鍚堝悓鍙凤細' : '瀹℃壒浜嬬敱锛�'" prop="approveReason">
+						<el-form-item :label="props.approveType == 5 ? '閲囪喘鍗曞彿锛�' : '瀹℃壒浜嬬敱锛�'" prop="approveReason">
 							<el-input v-model="form.approveReason" placeholder="璇疯緭鍏�" clearable type="textarea" disabled/>
 						</el-form-item>
 					</el-col>
@@ -134,10 +134,10 @@
             <el-empty v-if="!currentPurchase || !currentPurchase.purchaseContractNumber" description="鏈煡璇㈠埌瀵瑰簲閲囪喘璇︽儏" />
             <template v-else>
               <el-descriptions :column="2" border>
-                <el-descriptions-item label="閲囪喘鍚堝悓鍙�">{{ currentPurchase.purchaseContractNumber }}</el-descriptions-item>
+                <el-descriptions-item label="閲囪喘鍗曞彿">{{ currentPurchase.purchaseContractNumber }}</el-descriptions-item>
                 <el-descriptions-item label="渚涘簲鍟嗗悕绉�">{{ currentPurchase.supplierName }}</el-descriptions-item>
                 <el-descriptions-item label="椤圭洰鍚嶇О">{{ currentPurchase.projectName }}</el-descriptions-item>
-                <el-descriptions-item label="閿�鍞悎鍚屽彿">{{ currentPurchase.salesContractNo }}</el-descriptions-item>
+                <el-descriptions-item label="閿�鍞崟鍙�">{{ currentPurchase.salesContractNo }}</el-descriptions-item>
                 <el-descriptions-item label="绛捐鏃ユ湡">{{ currentPurchase.executionDate }}</el-descriptions-item>
                 <el-descriptions-item label="褰曞叆鏃ユ湡">{{ currentPurchase.entryDate }}</el-descriptions-item>
                 <el-descriptions-item label="浠樻鏂瑰紡">{{ currentPurchase.paymentMethod }}</el-descriptions-item>
@@ -309,8 +309,8 @@
 	getProductOptions().then(() => {
 		// 纭繚鍊肩被鍨嬪尮閰嶏紙濡傛灉閫夐」宸插姞杞斤級
 		if (productOptions.value.length > 0 && form.value.approveDeptId) {
-			const matchedOption = productOptions.value.find(opt => 
-				opt.deptId == form.value.approveDeptId || 
+			const matchedOption = productOptions.value.find(opt =>
+				opt.deptId == form.value.approveDeptId ||
 				String(opt.deptId) === String(form.value.approveDeptId)
 			);
 			if (matchedOption) {
@@ -339,7 +339,7 @@
     }
   }
 
-  // 閲囪喘瀹℃壒锛氱敤瀹℃壒浜嬬敱瀛楁鎵胯浇鐨�"閲囪喘鍚堝悓鍙�"鍘绘煡閲囪喘璇︽儏
+  // 閲囪喘瀹℃壒锛氱敤瀹℃壒浜嬬敱瀛楁鎵胯浇鐨�"閲囪喘鍗曞彿"鍘绘煡閲囪喘璇︽儏
   if (isPurchaseApproval.value) {
     const purchaseContractNumber = row?.approveReason;
     if (purchaseContractNumber) {
@@ -445,4 +445,4 @@
 	width: 200px;
 	height: 60px;
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
index 998fa33..5fa775e 100644
--- a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
+++ b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
@@ -35,7 +35,7 @@
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item :label="props.approveType == 5 ? '閲囪喘鍚堝悓鍙凤細' : '瀹℃壒浜嬬敱锛�'" prop="approveReason">
+            <el-form-item :label="props.approveType == 5 ? '閲囪喘鍗曞彿锛�' : '瀹℃壒浜嬬敱锛�'" prop="approveReason">
               <el-input v-model="form.approveReason" placeholder="璇疯緭鍏�" clearable type="textarea" />
             </el-form-item>
           </el-col>
@@ -304,10 +304,10 @@
 	]
   form.value.approveUser = userStore.id;
   form.value.approveTime = getCurrentDate();
-  
+
   // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅骞惰缃儴闂↖D
   form.value.approveDeptId = userStore.currentDeptId
-  
+
   // 鍔犺浇閮ㄩ棬閫夐」锛屽苟鍦ㄥ姞杞藉畬鎴愬悗璁剧疆閮ㄩ棬鍚嶇О
   getProductOptions();
   if (operationType.value === 'edit') {
@@ -320,7 +320,7 @@
       if (res.data && res.data.approveUserIds) {
         const userIds = res.data.approveUserIds.split(',')
         approverNodes.value = userIds.map((userId, idx) => ({
-          id: idx + 1, 
+          id: idx + 1,
           userId: parseInt(userId.trim())
         }))
         nextApproverId = userIds.length + 1
@@ -336,8 +336,8 @@
     productOptions.value = res.data;
     // 濡傛灉宸叉湁閮ㄩ棬ID锛岃嚜鍔ㄨ缃儴闂ㄥ悕绉帮紙鐢ㄤ簬楠岃瘉锛�
     if (form.value.approveDeptId && productOptions.value.length > 0) {
-      const matchedDept = productOptions.value.find(dept => 
-        dept.deptId == form.value.approveDeptId || 
+      const matchedDept = productOptions.value.find(dept =>
+        dept.deptId == form.value.approveDeptId ||
         String(dept.deptId) === String(form.value.approveDeptId)
       );
       if (matchedDept) {
@@ -356,7 +356,7 @@
     if (children && children.length > 0) {
       newItem.children = convertIdToValue(children);
     }
-    
+
     return newItem;
   });
 }
@@ -473,4 +473,4 @@
 
 <style scoped>
 
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/collaborativeApproval/approvalProcess/index.vue b/src/views/collaborativeApproval/approvalProcess/index.vue
index 33bde47..13523a0 100644
--- a/src/views/collaborativeApproval/approvalProcess/index.vue
+++ b/src/views/collaborativeApproval/approvalProcess/index.vue
@@ -10,7 +10,7 @@
       <el-tab-pane label="鎶ヤ环瀹℃壒" name="6"></el-tab-pane>
       <el-tab-pane label="鍙戣揣瀹℃壒" name="7"></el-tab-pane>
     </el-tabs>
-    
+
     <div class="search_form">
       <div>
         <span class="search_title">娴佺▼缂栧彿锛�</span>
@@ -114,7 +114,7 @@
   const isReimburseType = currentApproveType.value === 4; // 鎶ラ攢绠$悊
   const isQuotationType = currentApproveType.value === 6; // 鎶ヤ环瀹℃壒
   const isPurchaseType = currentApproveType.value === 5; // 閲囪喘瀹℃壒
-  
+
   // 鍩虹鍒楅厤缃�
   const baseColumns = [
     {
@@ -160,7 +160,7 @@
       width: 220
     },
     {
-      label: isQuotationType ? "鎶ヤ环鍗曞彿" : isPurchaseType ? "閲囪喘鍚堝悓鍙�" : "瀹℃壒浜嬬敱",
+      label: isQuotationType ? "鎶ヤ环鍗曞彿" : isPurchaseType ? "閲囪喘鍗曞彿" : "瀹℃壒浜嬬敱",
       prop: "approveReason",
     },
     {
@@ -169,7 +169,7 @@
       width: 120
     }
   ];
-  
+
   // 閲戦鍒楋紙浠呮姤閿�绠$悊鏄剧ず锛�
   if (isReimburseType) {
     baseColumns.push({
@@ -178,7 +178,7 @@
       width: 120
     });
   }
-  
+
   // 鏃ユ湡鍒楋紙鏍规嵁绫诲瀷鍔ㄦ�侀厤缃級
   baseColumns.push(
     {
@@ -192,14 +192,14 @@
       width: 120
     }
   );
-  
+
   // 褰撳墠瀹℃壒浜哄垪
   baseColumns.push({
     label: "褰撳墠瀹℃壒浜�",
     prop: "approveUserCurrentName",
     width: 120
   });
-  
+
   // 鎿嶄綔鍒�
   const actionOperations = [
     {
@@ -257,7 +257,7 @@
     width: 230,
     operation: actionOperations,
   });
-  
+
   return baseColumns;
 });
 const tableData = ref([]);
@@ -371,17 +371,17 @@
   // 鏍规嵁URL鍙傛暟璁剧疆鏍囩椤靛拰鏌ヨ鏉′欢
   const approveType = route.query.approveType;
   const approveId = route.query.approveId;
-  
+
   if (approveType) {
     // 璁剧疆鏍囩椤碉紙approveType 瀵瑰簲 activeTab 鐨� name锛�
     activeTab.value = String(approveType);
   }
-  
+
   if (approveId) {
     // 璁剧疆娴佺▼缂栧彿鏌ヨ鏉′欢
     searchForm.value.approveId = String(approveId);
   }
-  
+
   // 鏌ヨ鍒楄〃
   getList();
 });
diff --git a/src/views/collaborativeApproval/purchaseApproval/index.vue b/src/views/collaborativeApproval/purchaseApproval/index.vue
index af17bbe..6dd0969 100644
--- a/src/views/collaborativeApproval/purchaseApproval/index.vue
+++ b/src/views/collaborativeApproval/purchaseApproval/index.vue
@@ -7,7 +7,7 @@
             <el-input v-model="searchForm.supplierName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
                       @change="handleQuery" />
           </el-form-item>
-          <el-form-item label="閲囪喘鍚堝悓鍙凤細">
+          <el-form-item label="閲囪喘鍗曞彿锛�">
             <el-input
                 v-model="searchForm.purchaseContractNumber"
                 style="width: 240px"
@@ -17,7 +17,7 @@
                 :prefix-icon="Search"
             />
           </el-form-item>
-          <el-form-item label="閿�鍞悎鍚屽彿锛�">
+          <el-form-item label="閿�鍞崟鍙凤細">
             <el-input v-model="searchForm.salesContractNo" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
                       @change="handleQuery" />
           </el-form-item>
@@ -90,13 +90,13 @@
         </el-table-column>
         <el-table-column align="center" label="搴忓彿" type="index" width="60" />
         <el-table-column
-          label="閲囪喘鍚堝悓鍙�"
+          label="閲囪喘鍗曞彿"
           prop="purchaseContractNumber"
           width="200"
           show-overflow-tooltip
         />
         <el-table-column
-          label="閿�鍞悎鍚屽彿"
+          label="閿�鍞崟鍙�"
           prop="salesContractNo"
           width="200"
           show-overflow-tooltip
@@ -516,9 +516,9 @@
 // 绉婚櫎鏂囦欢
 function handleRemove(file) {
   console.log("handleRemove", file.id);
-  if (file.size > 1024 * 1024 * 10) { 
+  if (file.size > 1024 * 1024 * 10) {
     // 浠呭墠绔竻鐞嗭紝涓嶈皟鐢ㄥ垹闄ゆ帴鍙e拰鎻愮ず
-    return; 
+    return;
   }
   if (operationType.value === "edit") {
     let ids = [];
@@ -703,7 +703,7 @@
 };
 // 瀹℃壒閫氳繃鏂规硶
 const approvePurchase = (row) => {
-  ElMessageBox.confirm(`纭閫氳繃閲囪喘鍚堝悓鍙蜂负 ${row.purchaseContractNumber} 鐨勫鎵癸紵`, '瀹℃壒纭', {
+  ElMessageBox.confirm(`纭閫氳繃閲囪喘鍗曞彿涓� ${row.purchaseContractNumber} 鐨勫鎵癸紵`, '瀹℃壒纭', {
     confirmButtonText: '纭',
     cancelButtonText: '鍙栨秷',
     type: 'warning',
@@ -719,7 +719,7 @@
 
 // 瀹℃壒鎷掔粷鏂规硶
 const rejectPurchase = (row) => {
-  ElMessageBox.confirm(`纭鎷掔粷閲囪喘鍚堝悓鍙蜂负 ${row.purchaseContractNumber} 鐨勫鎵癸紵`, '瀹℃壒纭', {
+  ElMessageBox.confirm(`纭鎷掔粷閲囪喘鍗曞彿涓� ${row.purchaseContractNumber} 鐨勫鎵癸紵`, '瀹℃壒纭', {
     confirmButtonText: '纭',
     cancelButtonText: '鍙栨秷',
     type: 'warning',
@@ -813,29 +813,29 @@
   if (field === 'taxInclusiveTotalPrice') {
     // 宸茬煡鍚◣鎬讳环鍜屾暟閲忥紝鍙嶇畻鍚◣鍗曚环
     if (productForm.value.quantity) {
-      productForm.value.taxInclusiveUnitPrice = 
+      productForm.value.taxInclusiveUnitPrice =
         (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity)).toFixed(2);
     }
     // 宸茬煡鍚◣鎬讳环鍜屽惈绋庡崟浠凤紝鍙嶇畻鏁伴噺
     else if (productForm.value.taxInclusiveUnitPrice) {
-      productForm.value.quantity = 
+      productForm.value.quantity =
         (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice)).toFixed(2);
     }
     // 鍙嶇畻涓嶅惈绋庢�讳环
-    productForm.value.taxExclusiveTotalPrice = 
+    productForm.value.taxExclusiveTotalPrice =
       (Number(productForm.value.taxInclusiveTotalPrice) / (1 + taxRate / 100)).toFixed(2);
   } else if (field === 'taxExclusiveTotalPrice') {
     // 鍙嶇畻鍚◣鎬讳环
-    productForm.value.taxInclusiveTotalPrice = 
+    productForm.value.taxInclusiveTotalPrice =
       (Number(productForm.value.taxExclusiveTotalPrice) * (1 + taxRate / 100)).toFixed(2);
     // 宸茬煡鏁伴噺锛屽弽绠楀惈绋庡崟浠�
     if (productForm.value.quantity) {
-      productForm.value.taxInclusiveUnitPrice = 
+      productForm.value.taxInclusiveUnitPrice =
         (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity)).toFixed(2);
     }
     // 宸茬煡鍚◣鍗曚环锛屽弽绠楁暟閲�
     else if (productForm.value.taxInclusiveUnitPrice) {
-      productForm.value.quantity = 
+      productForm.value.quantity =
         (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice)).toFixed(2);
     }
   }
@@ -863,11 +863,11 @@
 // 鏄剧ず浜岀淮鐮�
 const showQRCode = async (row) => {
   try {
-    // 鏋勫缓浜岀淮鐮佸唴瀹癸紝鍙寘鍚噰璐悎鍚屽彿锛堢函鏂囨湰锛�
+    // 鏋勫缓浜岀淮鐮佸唴瀹癸紝鍙寘鍚噰璐崟鍙凤紙绾枃鏈級
     const qrContent = row.purchaseContractNumber || '';
     // 妫�鏌ュ唴瀹规槸鍚︿负绌�
     if (!qrContent || qrContent.trim() === '') {
-      proxy.$modal.msgWarning("璇ヨ娌℃湁閲囪喘鍚堝悓鍙凤紝鏃犳硶鐢熸垚浜岀淮鐮�");
+      proxy.$modal.msgWarning("璇ヨ娌℃湁閲囪喘鍗曞彿锛屾棤娉曠敓鎴愪簩缁寸爜");
       return;
     }
     qrCodeUrl.value = await QRCode.toDataURL(qrContent, {
@@ -891,10 +891,10 @@
     proxy.$modal.msgWarning("浜岀淮鐮佹湭鐢熸垚");
     return;
   }
-  
+
   const a = document.createElement('a');
   a.href = qrCodeUrl.value;
-  a.download = `閲囪喘鍚堝悓鍙蜂簩缁寸爜_${new Date().getTime()}.png`;
+  a.download = `閲囪喘鍗曞彿浜岀淮鐮乢${new Date().getTime()}.png`;
   document.body.appendChild(a);
   a.click();
   document.body.removeChild(a);
@@ -914,7 +914,7 @@
   scanRemark: "",
 });
 const scanAddRules = {
-  purchaseContractNumber: [{ required: true, message: "璇疯緭鍏ラ噰璐悎鍚屽彿", trigger: "blur" }],
+  purchaseContractNumber: [{ required: true, message: "璇疯緭鍏ラ噰璐崟鍙�", trigger: "blur" }],
   supplierName: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢鍚嶇О", trigger: "blur" }],
   projectName: [{ required: true, message: "璇疯緭鍏ラ」鐩悕绉�", trigger: "blur" }],
 };
@@ -951,7 +951,7 @@
 // 瑙f瀽鎵爜鍐呭锛堟ā鎷熻В鏋愪簩缁寸爜鏁版嵁锛�
 const parseScanContent = (content) => {
   if (!content) return;
-  
+
   // 妯℃嫙瑙f瀽浜岀淮鐮佸唴瀹癸紝杩欓噷鍙互鏍规嵁瀹為檯闇�姹傝皟鏁磋В鏋愰�昏緫
   // 鍋囪鎵爜鍐呭鏍煎紡涓猴細鍚堝悓鍙穦渚涘簲鍟唡椤圭洰|閲戦|浠樻鏂瑰紡
   const parts = content.split('|');
@@ -986,11 +986,11 @@
         remark: scanAddForm.scanRemark,
         type: 2
       };
-      
+
       // 妯℃嫙鏂板鎴愬姛
       proxy.$modal.msgSuccess("鎵爜鏂板鎴愬姛锛�");
       closeScanAddDialog();
-      
+
       // 鍙互閫夋嫨鏄惁鍒锋柊鍒楄〃
       // getList();
     }
diff --git a/src/views/collaborativeApproval/shipmentReview/index.vue b/src/views/collaborativeApproval/shipmentReview/index.vue
index ac2b790..38f6ea0 100644
--- a/src/views/collaborativeApproval/shipmentReview/index.vue
+++ b/src/views/collaborativeApproval/shipmentReview/index.vue
@@ -2,11 +2,11 @@
   <div class="app-container">
     <div class="search_form">
       <div>
-        <span class="search_title">閿�鍞悎鍚屽彿锛�</span>
+        <span class="search_title">閿�鍞崟鍙凤細</span>
         <el-input
             v-model="searchForm.salesContractNo"
             style="width: 240px"
-            placeholder="璇疯緭鍏ラ攢鍞悎鍚屽彿鎼滅储"
+            placeholder="璇疯緭鍏ラ攢鍞崟鍙锋悳绱�"
             @change="handleQuery"
             clearable
             :prefix-icon="Search"
@@ -110,7 +110,7 @@
     },
   },
   {
-    label: "閿�鍞悎鍚屽彿",
+    label: "閿�鍞崟鍙�",
     prop: "salesContractNo",
     width: 170
   },
diff --git a/src/views/financialManagement/receivable/invoiceApply.vue b/src/views/financialManagement/receivable/invoiceApply.vue
index 31b6345..6337c61 100644
--- a/src/views/financialManagement/receivable/invoiceApply.vue
+++ b/src/views/financialManagement/receivable/invoiceApply.vue
@@ -226,7 +226,7 @@
         <el-table-column prop="customerName" label="瀹㈡埛鍚嶇О" min-width="120" show-overflow-tooltip />
         <el-table-column prop="productName" label="浜у搧鍚嶇О" min-width="120" show-overflow-tooltip />
         <el-table-column prop="specificationModel" label="瑙勬牸鍨嬪彿" min-width="140" show-overflow-tooltip />
-        <el-table-column prop="salesContractNo" label="閿�鍞悎鍚屽彿" min-width="140" show-overflow-tooltip />
+        <el-table-column prop="salesContractNo" label="閿�鍞崟鍙�" min-width="140" show-overflow-tooltip />
         <el-table-column prop="shippingNo" label="鍙戣揣鍗曞彿" min-width="130" show-overflow-tooltip />
         <el-table-column prop="shippingDate" label="鍙戣揣鏃ユ湡" width="110" align="center" />
         <el-table-column prop="outboundAmount" label="鍑哄簱閲戦" width="110" align="right">
diff --git a/src/views/financialManagement/receivable/receipt.vue b/src/views/financialManagement/receivable/receipt.vue
index 6ddb3fe..13c0f53 100644
--- a/src/views/financialManagement/receivable/receipt.vue
+++ b/src/views/financialManagement/receivable/receipt.vue
@@ -246,7 +246,7 @@
                          min-width="140"
                          show-overflow-tooltip />
         <el-table-column prop="salesContractNo"
-                         label="閿�鍞悎鍚屽彿"
+                         label="閿�鍞崟鍙�"
                          min-width="140"
                          show-overflow-tooltip />
         <el-table-column prop="shippingNo"
diff --git a/src/views/procurementManagement/invoiceEntry/components/Modal.vue b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
index 33d5144..65580e0 100644
--- a/src/views/procurementManagement/invoiceEntry/components/Modal.vue
+++ b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -9,12 +9,12 @@
 		>
 			<el-row :gutter="30">
 				<el-col :span="12">
-					<el-form-item label="閲囪喘鍚堝悓鍙凤細" prop="purchaseLedgerNo">
+					<el-form-item label="閲囪喘鍗曞彿锛�" prop="purchaseLedgerNo">
 						<el-input v-model="form.purchaseLedgerNo" disabled placeholder="澶氬悎鍚屾壒閲忓鐞嗭紙鍏蜂綋鍚堝悓鍙疯浜у搧鍒楄〃锛�" />
 					</el-form-item>
 				</el-col>
 				<el-col :span="12">
-					<el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
+					<el-form-item label="閿�鍞崟鍙凤細" prop="salesContractNo">
 						<el-input
 							v-model="form.salesContractNo"
 							placeholder="鑷姩濉厖"
@@ -96,7 +96,7 @@
 						/>
 					</el-form-item>
 				</el-col>
-			
+
 			</el-row>
 			<el-form-item label="浜у搧淇℃伅锛�"> </el-form-item>
 			<el-table
@@ -133,10 +133,10 @@
 				/>
 				<el-table-column label="鏈寮�绁ㄦ暟" prop="ticketsNum" width="180">
 					<template #default="scope">
-						<el-input-number 
-							:step="0.1" 
-							:min="0" 
-							:max="scope.row.tempFutureTickets || 0" 
+						<el-input-number
+							:step="0.1"
+							:min="0"
+							:max="scope.row.tempFutureTickets || 0"
 							style="width: 100%"
 							:precision="2"
 							v-model="scope.row.ticketsNum"
@@ -151,9 +151,9 @@
 					width="180"
 				>
 					<template #default="scope">
-						<el-input-number 
-							:step="0.01" 
-							:min="0" 
+						<el-input-number
+							:step="0.01"
+							:min="0"
 							style="width: 100%"
 							:precision="2"
 							v-model="scope.row.ticketsAmount"
@@ -215,8 +215,8 @@
 const formRef = ref();
 const { proxy } = getCurrentInstance();
 const { form } = useFormData({
-	purchaseLedgerNo: undefined, // 閲囪喘鍚堝悓鍙�
-	salesContractNo: undefined, // 閿�鍞悎鍚屽彿
+	purchaseLedgerNo: undefined, // 閲囪喘鍗曞彿
+	salesContractNo: undefined, // 閿�鍞崟鍙�
 	supplierName: undefined, // 渚涘簲鍟嗗悕绉�
 	projectName: undefined, // 椤圭洰鍚嶇О
 	invoiceNumber: undefined, // 鍙戠エ鍙�
@@ -356,14 +356,14 @@
 		const isSameSupplier = selectedRows.every(row =>
 			row.supplierName === firstRow.supplierName
 		);
-		
+
 		if (!isSameSupplier) {
 			proxy.$modal.msgError("璇烽�夋嫨鐩稿悓渚涘簲鍟嗗悕绉扮殑鍚堝悓");
 			return;
 		}
-		
-		// 鍏佽涓嶅悓鐨勯噰璐悎鍚屽彿鎵归噺澶勭悊锛屾棤闇�妫�鏌ラ噸澶�
-		
+
+		// 鍏佽涓嶅悓鐨勯噰璐崟鍙锋壒閲忓鐞嗭紝鏃犻渶妫�鏌ラ噸澶�
+
 		// 娓呯┖琛ㄥ崟鏁版嵁
 		Object.keys(form).forEach(key => {
 			if (key !== 'productData') {
@@ -371,12 +371,12 @@
 			}
 		});
 		form.productData = [];
-		
+
 		// 鍔犺浇鎵�鏈夐�変腑鍚堝悓鐨勪骇鍝佹暟鎹�
 		const promises = selectedRows.map(row =>
 			getInfo({ id: row.id })
 		);
-		
+
 		Promise.all(promises).then(results => {
 			// 鍚堝苟鎵�鏈夊悎鍚岀殑浜у搧鏁版嵁锛屽苟涓烘瘡涓骇鍝佹坊鍔犲搴旂殑鍚堝悓淇℃伅
 			const allProductData = [];
@@ -388,7 +388,7 @@
 						allProductData.push({
 							...item,
 							purchaseLedgerId: contractId, // 娣诲姞鍚堝悓ID鐢ㄤ簬绛涢��
-							purchaseLedgerNo: contract.purchaseContractNumber, // 娣诲姞閲囪喘鍚堝悓鍙�
+							purchaseLedgerNo: contract.purchaseContractNumber, // 娣诲姞閲囪喘鍗曞彿
 							supplierName: contract.supplierName, // 娣诲姞渚涘簲鍟嗗悕绉�
 							projectName: contract.projectName // 娣诲姞椤圭洰鍚嶇О
 							// 淇濈暀浜у搧鏈韩鐨刬d锛屼笉瑕嗙洊
@@ -396,9 +396,9 @@
 					});
 				}
 			});
-			
-			// 璁剧疆琛ㄥ崟鏁版嵁锛堜娇鐢ㄧ涓�涓悎鍚岀殑鍩烘湰淇℃伅锛岄噰璐悎鍚屽彿鐣欑┖锛�
-			form.purchaseLedgerNo = ""; // 閲囪喘鍚堝悓鍙风暀绌猴紝鍥犱负浼氬湪浜у搧琛ㄦ牸涓垎鍒樉绀�
+
+			// 璁剧疆琛ㄥ崟鏁版嵁锛堜娇鐢ㄧ涓�涓悎鍚岀殑鍩烘湰淇℃伅锛岄噰璐崟鍙风暀绌猴級
+			form.purchaseLedgerNo = ""; // 閲囪喘鍗曞彿鐣欑┖锛屽洜涓轰細鍦ㄤ骇鍝佽〃鏍间腑鍒嗗埆鏄剧ず
 			form.invoiceNumber = "";
 			form.entryDate = dayjs().format("YYYY-MM-DD");
 			form.enterDate = dayjs().format("YYYY-MM-DD");
@@ -408,7 +408,7 @@
 			// 淇濈暀褰曞叆浜轰俊鎭�
 			form.issUerId = userStore.id;
 			form.issUer = userStore.nickName;
-			
+
 			// 璁剧疆浜у搧鏁版嵁锛屽苟鍒濆鍖栧紑绁ㄦ暟閲忓拰閲戦
 			allProductData.forEach(item => {
 				// 淇濆瓨"鍘熷鏈潵绁ㄦ暟/閲戦"锛堢敤浜庢牎楠屼笌璁$畻锛�
@@ -438,15 +438,15 @@
 					);
 				}
 			});
-			
+
 			form.productData = allProductData;
-			
+
 			// 璁$畻鍙戠エ閲戦锛氭墍鏈変骇鍝佺殑鏈寮�绁ㄩ噾棰濅箣鍜岋紙鏂板榛樿 0锛�
 			const totalAmount = allProductData.reduce((sum, item) => {
 				return sum + (Number(item.ticketsAmount) || 0);
 			}, 0);
 			form.invoiceAmount = Number(totalAmount.toFixed(2));
-			
+
 			// 瀛樺偍閫変腑鐨勫悎鍚屾暟鎹�
 			selectedContracts.value = selectedRows;
 		});
@@ -455,7 +455,7 @@
 		const response = await getPurchaseById({ id, type: 2 });
 		// 鍏煎涓嶅悓鐨勮繑鍥炴牸寮忥細鍙兘鏄� { code, data } 鎴栫洿鎺ヨ繑鍥炴暟鎹�
 		const data = response.data || response;
-		
+
 		// 鍏煎涓嶅悓鐨勫瓧娈靛悕锛歱urchaseContractNumber 鎴� purchaseLedgerNo
 		form.purchaseLedgerNo = data.purchaseContractNumber || data.purchaseLedgerNo || "";
 		form.invoiceAmount = data.invoiceAmount;
@@ -465,7 +465,7 @@
 		form.supplierName = data.supplierName;
 		form.entryDate = data.entryDate;
 		form.enterDate = data.enterDate || dayjs().format("YYYY-MM-DD");
-		
+
 		// 缂栬緫鏃朵篃闇�瑕佸垵濮嬪寲浜у搧鏁版嵁鐨� tempFutureTickets 鍜� tempFutureTicketsAmount
 		// 鍚屾椂涓烘瘡涓骇鍝佹坊鍔犲悎鍚屽彿绛変俊鎭�
 		const contractNumber = data.purchaseContractNumber || data.purchaseLedgerNo || "";
@@ -479,16 +479,16 @@
 				item.tempFutureTicketsAmount = Number(
 					item.futureTicketsAmount !== undefined ? item.futureTicketsAmount : (item.taxInclusiveTotalPrice || 0)
 				);
-				
+
 				// 纭繚姣忎釜浜у搧閮芥湁鍚堝悓鍙凤紝鐢ㄤ簬鏄剧ず鍦�"鎵�灞炲悎鍚�"鍒�
 				if (!item.purchaseLedgerNo) {
 					item.purchaseLedgerNo = contractNumber;
 				}
 			});
 		}
-		
+
 		form.productData = data.productData || [];
-		
+
 		// 缂栬緫妯″紡涓嬶紝鏍规嵁浜у搧鏁版嵁涓殑鏈寮�绁ㄩ噾棰濊嚜鍔ㄨ绠楀彂绁ㄩ噾棰�
 		calculateinvoiceAmount();
 	}
@@ -565,15 +565,15 @@
 // 鍒ゆ柇浜у搧鏄惁鍙互缁х画鏉ョエ鎿嶄綔锛氬鏋滄湭鏉ョエ鏁板拰鏈潵绁ㄩ噾棰濋兘涓�0鎴栧皬浜庣瓑浜�0锛屽垯绂佺敤
 const isProductDisabled = (row) => {
 	// 浼樺厛浣跨敤 tempFutureTickets锛堝師濮嬫湭鏉ョエ鏁帮級锛屽鏋滄病鏈夊垯浣跨敤 futureTickets
-	const futureTickets = Number(row.tempFutureTickets !== undefined 
-		? row.tempFutureTickets 
+	const futureTickets = Number(row.tempFutureTickets !== undefined
+		? row.tempFutureTickets
 		: (row.futureTickets !== undefined ? row.futureTickets : 0));
-	
+
 	// 浼樺厛浣跨敤 tempFutureTicketsAmount锛堝師濮嬫湭鏉ョエ閲戦锛夛紝濡傛灉娌℃湁鍒欎娇鐢� futureTicketsAmount
-	const futureAmount = Number(row.tempFutureTicketsAmount !== undefined 
-		? row.tempFutureTicketsAmount 
+	const futureAmount = Number(row.tempFutureTicketsAmount !== undefined
+		? row.tempFutureTicketsAmount
 		: (row.futureTicketsAmount !== undefined ? row.futureTicketsAmount : 0));
-	
+
 	// 鍙湁褰撴湭鏉ョエ鏁板拰鏈潵绁ㄩ噾棰濋兘涓�0鎴栧皬浜庣瓑浜�0鏃讹紝鎵嶇鐢�
 	return futureTickets <= 0 && futureAmount <= 0;
 };
@@ -583,7 +583,7 @@
 	if (!modalOptions.value || typeof modalOptions.value !== 'object') {
 		modalOptions.value = {};
 	}
-	
+
 	// 鏍规嵁鎿嶄綔绫诲瀷鍜岄�変腑鏁版嵁璁剧疆鏍囬
 	if (Array.isArray(selectedRows) && selectedRows.length > 1) {
 		// 鎵归噺鎿嶄綔
@@ -598,15 +598,15 @@
 			modalOptions.value.title = "鏉ョエ鐧昏"; // 榛樿鏍囬
 		}
 	}
-	
+
 	visible.value = true;
-	
+
 	// 濡傛灉鏄崟涓搷浣滐紝鑾峰彇id
 	if (!Array.isArray(selectedRows) || selectedRows.length === 1) {
 		const idValue = Array.isArray(selectedRows) ? selectedRows[0].id : selectedRows;
 		id.value = idValue;
 	}
-	
+
 	await getTableData(type, selectedRows);
 };
 
@@ -627,7 +627,7 @@
 					const contractProductData = form.productData.filter(item =>
 						item.purchaseLedgerId === contract.id
 					);
-					
+
 					// 涓烘瘡涓噰璐悎鍚屽垱寤虹嫭绔嬬殑瀵硅薄
 					return {
 					// 鍩虹琛ㄥ崟鏁版嵁
@@ -637,23 +637,23 @@
 					enterDate: form.enterDate,
 					issUerId: form.issUerId, // 褰曞叆浜篿d
 					issUer: form.issUer, // 褰曞叆浜�
-					
+
 					// 鍚堝悓瀹為檯淇℃伅
 					purchaseLedgerId: contract.id, // 浣跨敤id浣滀负瀛楁鍚嶏紝鍊间负purchaseLedgerId
-						purchaseContractNumber: contract.purchaseContractNumber, // 浣跨敤瀹為檯鐨勯噰璐悎鍚屽彿
-						salesContractNo: contract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞悎鍚屽彿
+						purchaseContractNumber: contract.purchaseContractNumber, // 浣跨敤瀹為檯鐨勯噰璐崟鍙�
+						salesContractNo: contract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞崟鍙�
 						supplierName: contract.supplierName, // 浣跨敤瀹為檯鐨勪緵搴斿晢鍚嶇О
 						projectName: contract.projectName, // 浣跨敤瀹為檯鐨勯」鐩悕绉�
-						
+
 						// 浜у搧鏁版嵁
 						productData: proxy.HaveJson(contractProductData),
-						
+
 						// 鎵归噺鏍囪瘑
 						isBatch: true,
 						type: 4
 					};
 				});
-				
+
 				// 鍙皟鐢ㄤ竴娆℃帴鍙o紝浼犻�掑寘鍚墍鏈夊悎鍚屾暟鎹殑鏁扮粍
 				modalLoading.value = true;
 				addOrUpdateRegistration(batchData).then((res) => {
@@ -677,22 +677,22 @@
 					enterDate: form.enterDate,
 					issUerId: form.issUerId, // 褰曞叆浜篿d
 					issUer: form.issUer, // 褰曞叆浜�
-					
+
 					// 鍚堝悓瀹為檯淇℃伅
 					purchaseLedgerId: singleContract.id, // 浣跨敤id浣滀负瀛楁鍚嶏紝鍊间负purchaseLedgerId
-						purchaseContractNumber: singleContract.purchaseContractNumber, // 浣跨敤瀹為檯鐨勯噰璐悎鍚屽彿
-						salesContractNo: singleContract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞悎鍚屽彿
+						purchaseContractNumber: singleContract.purchaseContractNumber, // 浣跨敤瀹為檯鐨勯噰璐崟鍙�
+						salesContractNo: singleContract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞崟鍙�
 						supplierName: singleContract.supplierName, // 浣跨敤瀹為檯鐨勪緵搴斿晢鍚嶇О
 						projectName: singleContract.projectName, // 浣跨敤瀹為檯鐨勯」鐩悕绉�
-						
+
 						// 浜у搧鏁版嵁
 						productData: proxy.HaveJson(form.productData),
-						
+
 						// 鎵归噺鏍囪瘑
 						isBatch: false,
 						type: 4
 					}];
-					
+
 					modalLoading.value = true;
 					addOrUpdateRegistration(singleFormArray).then((res) => {
 						modalLoading.value = false;
diff --git a/src/views/procurementManagement/invoiceEntry/index.vue b/src/views/procurementManagement/invoiceEntry/index.vue
index 8c435e0..044c5cc 100644
--- a/src/views/procurementManagement/invoiceEntry/index.vue
+++ b/src/views/procurementManagement/invoiceEntry/index.vue
@@ -21,10 +21,10 @@
           />
         </el-form-item>
 
-        <el-form-item label="閿�鍞悎鍚屽彿">
+        <el-form-item label="閿�鍞崟鍙�">
           <el-input
               v-model="filters.salesContractNo"
-              placeholder="璇疯緭鍏ラ攢鍞悎鍚屽彿"
+              placeholder="璇疯緭鍏ラ攢鍞崟鍙�"
               clearable
           />
         </el-form-item>
@@ -127,7 +127,7 @@
       width:150
     },
     {
-      label: "閿�鍞悎鍚屽彿",
+      label: "閿�鍞崟鍙�",
       prop: "salesContractNo",
       width:150
     },
diff --git a/src/views/procurementManagement/paymentEntry/index.vue b/src/views/procurementManagement/paymentEntry/index.vue
index 73c5a1a..4a480c7 100644
--- a/src/views/procurementManagement/paymentEntry/index.vue
+++ b/src/views/procurementManagement/paymentEntry/index.vue
@@ -140,8 +140,8 @@
         size="small"
       >
         <el-table-column type="index" label="搴忓彿" width="50" align="center"/>
-        <el-table-column label="閲囪喘鍚堝悓鍙�" prop="purchaseContractNumber" show-overflow-tooltip />
-        <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" show-overflow-tooltip />
+        <el-table-column label="閲囪喘鍗曞彿" prop="purchaseContractNumber" show-overflow-tooltip />
+        <el-table-column label="閿�鍞崟鍙�" prop="salesContractNo" show-overflow-tooltip />
         <el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" show-overflow-tooltip />
         <el-table-column
           label="浜у搧澶х被"
@@ -246,12 +246,12 @@
 		slot: "expand",
 	},
   {
-    label: "閲囪喘鍚堝悓鍙�",
+    label: "閲囪喘鍗曞彿",
     prop: "purchaseContractNumber",
     width:160
   },
   {
-    label: "閿�鍞悎鍚屽彿",
+    label: "閿�鍞崟鍙�",
     prop: "salesContractNo",
     width:160
   },
diff --git a/src/views/procurementManagement/paymentHistory/index.vue b/src/views/procurementManagement/paymentHistory/index.vue
index c9e9836..b288115 100644
--- a/src/views/procurementManagement/paymentHistory/index.vue
+++ b/src/views/procurementManagement/paymentHistory/index.vue
@@ -1,11 +1,11 @@
 <template>
   <div class="app-container">
     <el-form :model="searchForm" :inline="true">
-      <el-form-item label="閲囪喘鍚堝悓鍙�">
+      <el-form-item label="閲囪喘鍗曞彿">
         <el-input
           v-model="searchForm.purchaseContractNumber"
           style="width: 240px"
-          placeholder="杈撳叆閲囪喘鍚堝悓鍙锋悳绱�"
+          placeholder="杈撳叆閲囪喘鍗曞彿鎼滅储"
           @change="handleQuery"
           clearable
           :prefix-icon="Search"
@@ -93,7 +93,7 @@
 const isShowSummarySon = ref(true);
 const tableColumn = ref([
   {
-    label: "閲囪喘鍚堝悓鍙�",
+    label: "閲囪喘鍗曞彿",
     prop: "purchaseContractNumber",
   },
   {
diff --git a/src/views/procurementManagement/paymentLedger/index.vue b/src/views/procurementManagement/paymentLedger/index.vue
index 294561d..497b996 100644
--- a/src/views/procurementManagement/paymentLedger/index.vue
+++ b/src/views/procurementManagement/paymentLedger/index.vue
@@ -142,7 +142,7 @@
 		width: 110,
   },
   {
-    label: "閲囪喘鍚堝悓鍙�",
+    label: "閲囪喘鍗曞彿",
     prop: "purchaseContractNumber",
 		width: 150,
   },
diff --git a/src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue b/src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue
index 4e461dc..c3a3a7b 100644
--- a/src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue
+++ b/src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue
@@ -5,12 +5,12 @@
     <el-form :model="form">
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="閲囪喘鍚堝悓鍙凤細">
+          <el-form-item label="閲囪喘鍗曞彿锛�">
             <el-tag size="large">{{ form.purchaseContractNumber }}</el-tag>
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="閿�鍞悎鍚屽彿锛�">
+          <el-form-item label="閿�鍞崟鍙凤細">
             <el-text>{{ form.salesContractNo }}</el-text>
           </el-form-item>
         </el-col>
@@ -106,8 +106,8 @@
 
 const { form, resetForm } = useFormData({
   id: undefined,
-  purchaseContractNumber: undefined, // 閲囪喘鍚堝悓鍙�
-  salesContractNo: undefined, // 閿�鍞悎鍚屽彿
+  purchaseContractNumber: undefined, // 閲囪喘鍗曞彿
+  salesContractNo: undefined, // 閿�鍞崟鍙�
   createdAt: undefined, // 鍒涘缓鏃堕棿
   invoiceNumber: undefined, // 鍙戠エ鍙�
   ticketsNum: undefined, // 鏉ョエ鏁�
@@ -144,7 +144,7 @@
     proxy.$modal.msgWarning("鍚◣鍗曚环涓嶈兘涓洪浂鎴栨湭瀹氫箟");
     return;
   }
-  
+
   // 妫�鏌ユ潵绁ㄦ暟涓嶈兘澶т簬锛堝師濮嬪凡鏉ョエ鏁� + 鏈潵绁ㄦ暟锛�
   const maxNum = maxTicketsNum.value;
   if (Number(form.ticketsNum) > maxNum) {
@@ -152,10 +152,10 @@
     form.ticketsNum = maxNum;
     return;
   }
-  
+
   // 璁$畻鏈鏂板鐨勬潵绁ㄦ暟锛堝綋鍓嶆潵绁ㄦ暟 - 鍘熷宸叉潵绁ㄦ暟锛�
   const newTicketsNum = Number(form.ticketsNum) - Number(originalTicketsNum.value);
-  
+
   // 濡傛灉鏂板鐨勬潵绁ㄦ暟澶т簬鏈潵绁ㄦ暟锛屽垯闄愬埗
   if (newTicketsNum > Number(temFutureTickets.value)) {
     proxy.$modal.msgWarning("鏈鏂板鏉ョエ鏁颁笉寰楀ぇ浜庢湭鏉ョエ鏁�");
@@ -181,7 +181,7 @@
 
   // 璁$畻鏈�澶у彲濉啓閲戦 = 锛堝師濮嬪凡鏉ョエ鏁� + 鏈潵绁ㄦ暟锛�* 鍚◣鍗曚环
   const maxAmount = maxTicketsNum.value * Number(form.taxInclusiveUnitPrice);
-  
+
   if (Number(val) > maxAmount) {
     proxy.$modal.msgWarning(`鏈鏉ョエ閲戦涓嶅緱澶т簬${maxAmount.toFixed(2)}鍏僠);
     form.ticketsAmount = maxAmount.toFixed(2);
@@ -191,7 +191,7 @@
 
   // 纭繚鎵�鏈夋暟鍊奸兘杞崲涓烘暟瀛楃被鍨嬭繘琛岃绠�
   const ticketsNum = Number(val) / Number(form.taxInclusiveUnitPrice);
-  
+
   // 妫�鏌ユ潵绁ㄦ暟涓嶈兘澶т簬鏈�澶у��
   if (ticketsNum > maxTicketsNum.value) {
     proxy.$modal.msgWarning(`鏉ョエ鏁颁笉鑳藉ぇ浜�${maxTicketsNum.value}`);
@@ -199,9 +199,9 @@
     form.ticketsAmount = maxAmount.toFixed(2);
     return;
   }
-  
+
   form.ticketsNum = Number(ticketsNum.toFixed(2));
-  
+
   // 璁$畻鏈潵绁ㄦ暟
   const newTicketsNum = form.ticketsNum - originalTicketsNum.value;
   const futureTickets = Number(temFutureTickets.value) - newTicketsNum;
diff --git a/src/views/procurementManagement/procurementInvoiceLedger/index.vue b/src/views/procurementManagement/procurementInvoiceLedger/index.vue
index d82e3e7..9d450e0 100644
--- a/src/views/procurementManagement/procurementInvoiceLedger/index.vue
+++ b/src/views/procurementManagement/procurementInvoiceLedger/index.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="app-container">
     <el-form :model="filters" :inline="true">
-      <el-form-item label="閲囪喘鍚堝悓鍙�">
+      <el-form-item label="閲囪喘鍗曞彿">
         <el-input
           v-model="filters.purchaseContractNumber"
           style="width: 240px"
@@ -83,8 +83,8 @@
         </template>
       </PIMTable>
     </div>
-    <FileListDialog 
-      ref="fileListRef" 
+    <FileListDialog
+      ref="fileListRef"
       v-model="fileListDialogVisible"
       title="闄勪欢鍒楄〃"
       :showUploadButton="true"
@@ -140,18 +140,18 @@
 } = usePaginationApi(
   productRecordPage,
   {
-    purchaseContractNumber: undefined, // 閲囪喘鍚堝悓鍙�
+    purchaseContractNumber: undefined, // 閲囪喘鍗曞彿
     supplierName: undefined, // 渚涘簲鍟�
     createdAt: [], // 鏉ョエ鏃ユ湡
   },
   [
     {
-      label: "閲囪喘鍚堝悓鍙�",
+      label: "閲囪喘鍗曞彿",
       prop: "purchaseContractNumber",
       width: 150,
     },
     {
-      label: "閿�鍞悎鍚屽彿",
+      label: "閿�鍞崟鍙�",
       prop: "salesContractNo",
       width: 150,
     },
@@ -303,7 +303,7 @@
     proxy.$modal.msgWarning("缂哄皯鐧昏ID锛屾棤娉曚繚瀛橀檮浠�");
     return;
   }
-  
+
   return new Promise((resolve) => {
     // 鍒涘缓涓�涓殣钘忕殑鏂囦欢杈撳叆鍏冪礌
     const input = document.createElement('input');
@@ -315,14 +315,14 @@
         resolve(null);
         return;
       }
-      
+
       try {
         // 浣跨敤 FormData 涓婁紶鏂囦欢
         const formData = new FormData();
         formData.append('file', file);
         formData.append('type', '4'); // type 鍙傛暟锛岀敤鎴锋湭鎸囧畾鍏蜂綋鍊硷紝鍏堜紶绌哄瓧绗︿覆
         formData.append('id', currentRowId.value); // 褰撳墠琛岀殑 id
-        
+
         const uploadRes = await request({
           url: '/file/uploadByCommon',
           method: 'post',
@@ -332,10 +332,10 @@
             Authorization: `Bearer ${getToken()}`
           }
         });
-        
+
         if (uploadRes.code === 200) {
           proxy.$modal.msgSuccess("闄勪欢涓婁紶鎴愬姛");
-          
+
           // 鍒锋柊鍒楄〃鑾峰彇鏈�鏂版暟鎹�
           await new Promise((resolveRefresh) => {
             // 璋冪敤 API 鑾峰彇鏈�鏂板垪琛ㄦ暟鎹�
@@ -348,7 +348,7 @@
                 // 鏇存柊鏁版嵁鍒楄〃
                 dataList.value = data.records;
                 pagination.total = data.total;
-                
+
                 // 浠庡閮ㄦ暟鎹幏鍙� commonFiles
                 const currentRow = dataList.value.find(row => row.id === currentRowId.value);
                 if (currentRow && fileListRef.value) {
@@ -363,7 +363,7 @@
               resolveRefresh();
             });
           });
-          
+
           resolve({
             name: uploadRes.data?.originalName || file.name,
             url: uploadRes.data?.tempPath || uploadRes.data?.url,
@@ -381,7 +381,7 @@
         document.body.removeChild(input);
       }
     };
-    
+
     document.body.appendChild(input);
     input.click();
   });
@@ -392,7 +392,7 @@
   try {
     await delCommonFile([file.id]);
     proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-    
+
     // 鍒锋柊鍒楄〃鑾峰彇鏈�鏂版暟鎹�
     await new Promise((resolveRefresh) => {
       // 璋冪敤 API 鑾峰彇鏈�鏂板垪琛ㄦ暟鎹�
@@ -405,7 +405,7 @@
           // 鏇存柊鏁版嵁鍒楄〃
           dataList.value = data.records;
           pagination.total = data.total;
-          
+
           // 浠庡閮ㄦ暟鎹幏鍙� commonFiles
           const currentRow = dataList.value.find(row => row.id === currentRowId.value);
           if (currentRow && fileListRef.value) {
@@ -420,7 +420,7 @@
         resolveRefresh();
       });
     });
-    
+
     return true;
   } catch (error) {
     proxy.$modal.msgError("鍒犻櫎澶辫触");
diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index 8c409a7..504ac5b 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -87,7 +87,7 @@
                                prop="availableQuality" />
               <el-table-column label="閫�璐ф暟閲�"
                                prop="returnQuality" />
-                               
+
               <el-table-column label="绋庣巼(%)"
                                prop="taxRate" />
               <el-table-column label="鍚◣鍗曚环(鍏�)"
@@ -123,7 +123,7 @@
                          width="100"
                          show-overflow-tooltip>
           <template #default="scope">
-            <el-tag 
+            <el-tag
               :type="getApprovalStatusType(scope.row.approvalStatus)"
               size="small">
               {{ approvalStatusText[scope.row.approvalStatus] || '鏈煡鐘舵��' }}
@@ -334,7 +334,7 @@
                          :value="item.templateName">
                 <div style="display: flex; justify-content: space-between; align-items: center;">
                   <span>{{ item.templateName }}</span>
-                  <el-icon 
+                  <el-icon
                     v-if="item.id"
                     class="delete-icon"
                     @click.stop="handleDeleteTemplate(item)"
@@ -651,8 +651,8 @@
         </el-row>
       </el-form>
     </FormDialog>
-    <FileListDialog 
-      ref="fileListRef" 
+    <FileListDialog
+      ref="fileListRef"
       v-model="fileListDialogVisible"
       title="闄勪欢鍒楄〃"
     />
@@ -1087,7 +1087,7 @@
         .filter(node => node.userId)
         .map(node => node.userId)
         .join(",");
-      
+
       let params = {
         productData: proxy.HaveJson(productData.value),
         supplierId: form.value.supplierId,
@@ -1236,7 +1236,7 @@
         return;
       }
     }
-    
+
     await getTemplateList();
     operationType.value = type;
     form.value = {};
@@ -1268,15 +1268,15 @@
       form.value.entryDate = getCurrentDate();
 
       if (type === "add") {
-        // 鏂板鏃剁敓鎴愰噰璐悎鍚屽彿
+        // 鏂板鏃剁敓鎴愰噰璐崟鍙�
         try {
           const purchaseNoRes = await createPurchaseNo();
           if (purchaseNoRes?.data) {
             form.value.purchaseContractNumber = purchaseNoRes.data;
           }
         } catch (error) {
-          console.error("鐢熸垚閲囪喘鍚堝悓鍙峰け璐�:", error);
-          proxy.$modal.msgWarning("鐢熸垚閲囪喘鍚堝悓鍙峰け璐�");
+          console.error("鐢熸垚閲囪喘鍗曞彿澶辫触:", error);
+          proxy.$modal.msgWarning("鐢熸垚閲囪喘鍗曞彿澶辫触");
         }
       } else if (type === "edit" && row?.id) {
         // 缂栬緫鏃跺姞杞芥暟鎹�
@@ -1370,7 +1370,7 @@
           return;
         }
         const approveUserIds = approverNodes.value.map(node => node.userId).join(",");
-        
+
         if (productData.value.length > 0) {
           // 鏂板鏃讹紝闇�瑕佷粠姣忎釜浜у搧瀵硅薄涓垹闄� id 瀛楁
           let processedProductData = productData.value;
@@ -1427,17 +1427,17 @@
     productForm.value = {};
     proxy.resetForm("productFormRef");
     productFormVisible.value = true;
-    
+
     // 鍏堣幏鍙栦骇鍝侀�夐」锛岀‘淇濇暟鎹姞杞藉畬鎴�
     await getProductOptions();
-    
+
     // 绛夊緟 DOM 鏇存柊
     await nextTick();
-    
+
     if (type === "edit") {
       // 澶嶅埗琛屾暟鎹�
       productForm.value = { ...row };
-      
+
       // 濡傛灉鏄粠妯℃澘鍔犺浇鐨勬暟鎹紝鍙兘娌℃湁 productId 鍜� productModelId
       // 闇�瑕佹牴鎹� productCategory 鍜� specificationModel 鏉ユ煡鎵惧搴旂殑 ID
       if (!productForm.value.productId && productForm.value.productCategory) {
@@ -1454,17 +1454,17 @@
           }
           return null;
         };
-        
+
         const productId = findProductIdByCategory(productOptions.value, productForm.value.productCategory);
         if (productId) {
           productForm.value.productId = productId;
           // 鑾峰彇鍨嬪彿鍒楄〃骞剁瓑寰呭畬鎴�
           const modelRes = await modelList({ id: productId });
           modelOptions.value = modelRes;
-          
+
           // 绛夊緟 DOM 鏇存柊
           await nextTick();
-          
+
           // 鏍规嵁 specificationModel 鏌ユ壘 productModelId
           if (productForm.value.specificationModel && modelOptions.value.length > 0) {
             const modelItem = modelOptions.value.find(
@@ -1480,15 +1480,15 @@
       } else if (productForm.value.productId) {
         // 濡傛灉鏈� productId锛屾甯稿姞杞藉瀷鍙峰垪琛�
         await getModels(productForm.value.productId);
-        
+
         // 绛夊緟 DOM 鏇存柊
         await nextTick();
-        
+
         if (productForm.value.productModelId) {
           getProductModel(productForm.value.productModelId);
         }
       }
-      
+
       // 鏈�鍚庡啀绛夊緟涓�娆� DOM 鏇存柊锛岀‘淇濇墍鏈夋暟鎹兘宸茶缃�
       await nextTick();
     }
@@ -1828,7 +1828,7 @@
       proxy.$modal.msgWarning("鏃犳硶鍒犻櫎璇ユā鏉�");
       return;
     }
-    
+
     try {
       await ElMessageBox.confirm(
         `纭畾瑕佸垹闄ゆā鏉�"${item.templateName}"鍚楋紵`,
@@ -1839,7 +1839,7 @@
           type: "warning",
         }
       );
-      
+
       const res = await delPurchaseTemplate([item.id]);
       if (res && res.code === 200) {
         ElMessage({
@@ -1892,7 +1892,7 @@
     display: flex;
     align-items: center;
   }
-  
+
   // 瀹℃壒浜鸿妭鐐瑰鍣ㄦ牱寮�
   .approver-nodes-container {
     display: flex;
@@ -1903,7 +1903,7 @@
     border-radius: 4px;
     border: 1px solid #e4e7ed;
   }
-  
+
   .approver-node-item {
     flex: 0 0 calc(33.333% - 12px);
     min-width: 200px;
@@ -1912,38 +1912,38 @@
     border-radius: 4px;
     border: 1px solid #dcdfe6;
     transition: all 0.3s;
-    
+
     &:hover {
       border-color: #409eff;
       box-shadow: 0 2px 8px rgba(64, 158, 255, 0.1);
     }
   }
-  
+
   .approver-node-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     margin-bottom: 8px;
   }
-  
+
   .approver-node-label {
     font-size: 13px;
     font-weight: 500;
     color: #606266;
   }
-  
+
   @media (max-width: 1200px) {
     .approver-node-item {
       flex: 0 0 calc(50% - 8px);
     }
   }
-  
+
   @media (max-width: 768px) {
     .approver-node-item {
       flex: 0 0 100%;
     }
   }
-  
+
   // 鍒犻櫎鍥炬爣鏍峰紡
   .delete-icon {
     transition: all 0.3s;
diff --git a/src/views/procurementManagement/purchaseReturnOrder/New.vue b/src/views/procurementManagement/purchaseReturnOrder/New.vue
index 17e36dc..b9bf522 100644
--- a/src/views/procurementManagement/purchaseReturnOrder/New.vue
+++ b/src/views/procurementManagement/purchaseReturnOrder/New.vue
@@ -184,12 +184,12 @@
         </el-form-item>
 
         <el-form-item
-            label="閲囪喘鍚堝悓鍙凤細"
+            label="閲囪喘鍗曞彿锛�"
             prop="purchaseLedgerId"
             :rules="[
               {
                 required: true,
-                message: '璇烽�夋嫨閲囪喘鍚堝悓鍙�',
+                message: '璇烽�夋嫨閲囪喘鍗曞彿',
                 trigger: 'change',
               }
             ]"
@@ -377,7 +377,7 @@
           v-model="formState.incomeType"
           placeholder="璇烽�夋嫨"
           clearable
-          
+
         >
           <el-option :label="item.label" :value="item.value" v-for="(item,index) in payment_methods" :key="index" />
         </el-select>
@@ -784,4 +784,4 @@
   border-radius: 50%;
   margin-right: 8px;
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/procurementManagement/transferManagement/index.vue b/src/views/procurementManagement/transferManagement/index.vue
index 3646449..1db93e4 100644
--- a/src/views/procurementManagement/transferManagement/index.vue
+++ b/src/views/procurementManagement/transferManagement/index.vue
@@ -2,7 +2,7 @@
   <div class="app-container">
     <!-- 鎼滅储杩囨护鍖� -->
     <el-form :model="searchForm" :inline="true">
-      <el-form-item label="閲囪喘鍚堝悓鍙�">
+      <el-form-item label="閲囪喘鍗曞彿">
         <el-input v-model="searchForm.purchaseContractNumber" placeholder="璇疯緭鍏�" />
       </el-form-item>
       <el-form-item label="渚涘簲鍟�">
@@ -18,7 +18,7 @@
     <el-table :data="orderList" border v-loading="loading" height="calc(100vh - 12em)">
       <!-- 娣诲姞搴忓彿鍒� -->
       <el-table-column align="center" label="搴忓彿" type="index" width="60" />
-      <el-table-column prop="purchaseContractNumber" label="閲囪喘鍚堝悓鍙�" show-overflow-tooltip />
+      <el-table-column prop="purchaseContractNumber" label="閲囪喘鍗曞彿" show-overflow-tooltip />
       <el-table-column prop="supplierName" label="渚涘簲鍟�" show-overflow-tooltip />
       <el-table-column label="浠樻鐘舵��">
         <template #default="scope">
@@ -66,7 +66,7 @@
     <!-- 纭鏀惰揣瀵硅瘽妗� -->
     <FormDialog v-model="receiptDialogVisible" title="纭鏀惰揣" :width="'70%'" @close="receiptDialogVisible = false" @confirm="submitReceipt" @cancel="receiptDialogVisible = false">
       <el-form :model="receiptForm" label-width="120px" ref="formRef">
-        <el-form-item label="閲囪喘鍚堝悓鍙�">
+        <el-form-item label="閲囪喘鍗曞彿">
           <el-input v-model="receiptForm.purchaseContractNumber" disabled />
         </el-form-item>
         <el-form-item label="寮傚父鍘熷洜">
diff --git a/src/views/productionManagement/productionOrder/index.vue b/src/views/productionManagement/productionOrder/index.vue
index 729cd5a..5560703 100644
--- a/src/views/productionManagement/productionOrder/index.vue
+++ b/src/views/productionManagement/productionOrder/index.vue
@@ -125,7 +125,7 @@
       width: '120px',
     },
     {
-      label: "閿�鍞悎鍚屽彿",
+      label: "閿�鍞崟鍙�",
       prop: "salesContractNo",
       width: '150px',
     },
diff --git a/src/views/productionManagement/productionReporting/index.vue b/src/views/productionManagement/productionReporting/index.vue
index 8490b85..bdff088 100644
--- a/src/views/productionManagement/productionReporting/index.vue
+++ b/src/views/productionManagement/productionReporting/index.vue
@@ -173,7 +173,7 @@
       width: 120,
     },
     {
-      label: "閿�鍞悎鍚屽彿",
+      label: "閿�鍞崟鍙�",
       prop: "salesContractNo",
       width: 120,
     },
@@ -202,7 +202,7 @@
       prop: "unit",
       width: 120,
     },
-    
+
     {
       label: "鍒涘缓鏃堕棿",
       prop: "createTime",
diff --git a/src/views/qualityManagement/afterSalesTraceability/index.vue b/src/views/qualityManagement/afterSalesTraceability/index.vue
index 8cd4856..20659b0 100644
--- a/src/views/qualityManagement/afterSalesTraceability/index.vue
+++ b/src/views/qualityManagement/afterSalesTraceability/index.vue
@@ -116,7 +116,7 @@
     >
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="搴忓彿" type="index" width="55" align="center" />
-      <el-table-column label="閿�鍞悎鍚屽彿" prop="contractNo" width="160" />
+      <el-table-column label="閿�鍞崟鍙�" prop="contractNo" width="160" />
       <el-table-column label="浜у搧缂栧彿" prop="productCode" width="140" />
       <el-table-column label="浜у搧鍨嬪彿" prop="productModel" width="140" />
       <el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" width="160" />
@@ -172,10 +172,10 @@
       >
         <el-row>
           <el-col :span="12">
-            <el-form-item label="閿�鍞悎鍚屽彿" prop="contractNo">
+            <el-form-item label="閿�鍞崟鍙�" prop="contractNo">
               <el-input
                 v-model="form.contractNo"
-                placeholder="璇烽�夋嫨鍏宠仈閿�鍞悎鍚屽彿"
+                placeholder="璇烽�夋嫨鍏宠仈閿�鍞崟鍙�"
               />
             </el-form-item>
           </el-col>
@@ -387,7 +387,7 @@
   },
   rules: {
     contractNo: [
-      { required: true, message: "閿�鍞悎鍚屽彿涓嶈兘涓虹┖", trigger: "blur" },
+      { required: true, message: "閿�鍞崟鍙蜂笉鑳戒负绌�", trigger: "blur" },
     ],
     productCode: [
       { required: true, message: "浜у搧缂栧彿涓嶈兘涓虹┖", trigger: "blur" },
diff --git a/src/views/reportAnalysis/projectProfit/index.vue b/src/views/reportAnalysis/projectProfit/index.vue
index f61cbe5..f13f70a 100644
--- a/src/views/reportAnalysis/projectProfit/index.vue
+++ b/src/views/reportAnalysis/projectProfit/index.vue
@@ -57,7 +57,7 @@
 	},
 	[
 		{
-			label: "閿�鍞悎鍚屽彿",
+			label: "閿�鍞崟鍙�",
 			align: "center",
 			prop: "customerContractNo",
 		},
diff --git a/src/views/safeProduction/safeWorkApproval/components/approvalDia.vue b/src/views/safeProduction/safeWorkApproval/components/approvalDia.vue
index 8d40a2e..1fa465b 100644
--- a/src/views/safeProduction/safeWorkApproval/components/approvalDia.vue
+++ b/src/views/safeProduction/safeWorkApproval/components/approvalDia.vue
@@ -35,7 +35,7 @@
         </el-row>
         <el-row v-if="!isQuotationApproval && !isPurchaseApproval">
           <el-col :span="24">
-            <el-form-item :label="props.approveType == 5 ? '閲囪喘鍚堝悓鍙凤細' : '瀹℃壒浜嬬敱锛�'"
+            <el-form-item :label="props.approveType == 5 ? '閲囪喘鍗曞彿锛�' : '瀹℃壒浜嬬敱锛�'"
                           prop="approveReason">
               <el-input v-model="form.approveReason"
                         placeholder="璇疯緭鍏�"
@@ -154,10 +154,10 @@
             <template v-else>
               <el-descriptions :column="2"
                                border>
-                <el-descriptions-item label="閲囪喘鍚堝悓鍙�">{{ currentPurchase.purchaseContractNumber }}</el-descriptions-item>
+                <el-descriptions-item label="閲囪喘鍗曞彿">{{ currentPurchase.purchaseContractNumber }}</el-descriptions-item>
                 <el-descriptions-item label="渚涘簲鍟嗗悕绉�">{{ currentPurchase.supplierName }}</el-descriptions-item>
                 <el-descriptions-item label="椤圭洰鍚嶇О">{{ currentPurchase.projectName }}</el-descriptions-item>
-                <el-descriptions-item label="閿�鍞悎鍚屽彿">{{ currentPurchase.salesContractNo }}</el-descriptions-item>
+                <el-descriptions-item label="閿�鍞崟鍙�">{{ currentPurchase.salesContractNo }}</el-descriptions-item>
                 <el-descriptions-item label="绛捐鏃ユ湡">{{ currentPurchase.executionDate }}</el-descriptions-item>
                 <el-descriptions-item label="褰曞叆鏃ユ湡">{{ currentPurchase.entryDate }}</el-descriptions-item>
                 <el-descriptions-item label="浠樻鏂瑰紡">{{ currentPurchase.paymentMethod }}</el-descriptions-item>
@@ -416,7 +416,7 @@
       }
     }
 
-    // 閲囪喘瀹℃壒锛氱敤瀹℃壒浜嬬敱瀛楁鎵胯浇鐨�"閲囪喘鍚堝悓鍙�"鍘绘煡閲囪喘璇︽儏
+    // 閲囪喘瀹℃壒锛氱敤瀹℃壒浜嬬敱瀛楁鎵胯浇鐨�"閲囪喘鍗曞彿"鍘绘煡閲囪喘璇︽儏
     if (isPurchaseApproval.value) {
       const purchaseContractNumber = row?.approveReason;
       if (purchaseContractNumber) {
@@ -527,4 +527,4 @@
     width: 200px;
     height: 60px;
   }
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/safeProduction/safeWorkApproval/components/infoFormDia.vue b/src/views/safeProduction/safeWorkApproval/components/infoFormDia.vue
index 02b728e..7486f20 100644
--- a/src/views/safeProduction/safeWorkApproval/components/infoFormDia.vue
+++ b/src/views/safeProduction/safeWorkApproval/components/infoFormDia.vue
@@ -38,7 +38,7 @@
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item :label="props.approveType == 5 ? '閲囪喘鍚堝悓鍙凤細' : '瀹℃壒浜嬬敱锛�'"
+            <el-form-item :label="props.approveType == 5 ? '閲囪喘鍗曞彿锛�' : '瀹℃壒浜嬬敱锛�'"
                           prop="approveReason">
               <el-input v-model="form.approveReason"
                         placeholder="璇疯緭鍏�"
@@ -483,4 +483,4 @@
 </script>
 
 <style scoped>
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/salesManagement/invoiceLedger/index.vue b/src/views/salesManagement/invoiceLedger/index.vue
index 3827854..5ad1331 100644
--- a/src/views/salesManagement/invoiceLedger/index.vue
+++ b/src/views/salesManagement/invoiceLedger/index.vue
@@ -3,7 +3,7 @@
     <div class="search_form">
       <el-form :inline="true" :model="searchForm">
         <el-form-item label="瀹㈡埛鍚嶇О/鍚堝悓鍙�">
-          <el-input v-model="searchForm.searchText" style="width: 240px" placeholder="杈撳叆瀹㈡埛鍚嶇О/閿�鍞悎鍚屽彿鎼滅储"
+          <el-input v-model="searchForm.searchText" style="width: 240px" placeholder="杈撳叆瀹㈡埛鍚嶇О/閿�鍞崟鍙锋悳绱�"
             @change="handleQuery" clearable :prefix-icon="Search" />
         </el-form-item>
         <el-form-item label="寮�绁ㄦ棩鏈�">
@@ -30,7 +30,7 @@
         :row-key="(row) => row.id" show-summary :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)">
         <el-table-column align="center" type="selection" width="55" />
         <el-table-column align="center" label="搴忓彿" type="index" width="60" />
-        <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" show-overflow-tooltip width="180" />
+        <el-table-column label="閿�鍞崟鍙�" prop="salesContractNo" show-overflow-tooltip width="180" />
         <el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" show-overflow-tooltip width="240" />
         <el-table-column label="浜у搧澶х被" prop="productCategory" width="200" />
         <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" width="160" show-overflow-tooltip />
@@ -56,7 +56,7 @@
       <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
         <el-row :gutter="30">
           <el-col :span="12">
-            <el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
+            <el-form-item label="閿�鍞崟鍙凤細" prop="salesContractNo">
               <el-input v-model="form.salesContractNo" disabled></el-input>
             </el-form-item>
           </el-col>
@@ -273,7 +273,7 @@
     if (!form.value.invoicePerson) {
       form.value.invoicePerson = userStore.nickName;
     }
-    
+
     // 璁$畻鍙戠エ閲戦鏈�澶у�硷細noInvoiceAmount + invoiceAmount
     const noInvoiceAmount = parseFloat(res.data.noInvoiceAmount || 0);
     const invoiceAmount = parseFloat(res.data.invoiceAmount || 0);
diff --git a/src/views/salesManagement/invoiceRegistration/index.vue b/src/views/salesManagement/invoiceRegistration/index.vue
index 44e1c4e..a4ecc8b 100644
--- a/src/views/salesManagement/invoiceRegistration/index.vue
+++ b/src/views/salesManagement/invoiceRegistration/index.vue
@@ -30,9 +30,9 @@
 			<div class="flex justify-between">
 				<div></div>
 				<div>
-					<el-button 
-						type="primary" 
-						@click="openForm" 
+					<el-button
+						type="primary"
+						@click="openForm"
 						style="margin-bottom: 8px"
 						:disabled="!canInvoice"
 					>
@@ -116,7 +116,7 @@
 				</el-table-column>
 				<el-table-column align="center" label="搴忓彿" type="index" width="60" />
 				<el-table-column
-					label="閿�鍞悎鍚屽彿"
+					label="閿�鍞崟鍙�"
 					prop="salesContractNo"
 					show-overflow-tooltip
 				/>
@@ -137,7 +137,7 @@
 					prop="contractAmount"
 					show-overflow-tooltip
 					:formatter="formattedNumber"
-				
+
 				/>
 				<el-table-column
 					label="宸插紑绁ㄩ噾棰�(鍏�)"
@@ -184,7 +184,7 @@
 			>
 				<el-row :gutter="30">
 					<el-col :span="12">
-						<el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
+						<el-form-item label="閿�鍞崟鍙凤細" prop="salesContractNo">
 							<el-input v-model="form.salesContractNo" disabled placeholder="澶氬悎鍚屾壒閲忓鐞嗭紙鍏蜂綋鍚堝悓鍙疯浜у搧鍒楄〃锛�"></el-input>
 						</el-form-item>
 					</el-col>
@@ -250,7 +250,7 @@
 							/>
 						</el-form-item>
 					</el-col>
-					
+
 				</el-row>
 				<el-row>
 					<el-form-item label="浜у搧淇℃伅锛�" prop="entryDate"> </el-form-item>
@@ -301,9 +301,9 @@
 					/>
 					<el-table-column label="鏈寮�绁ㄦ暟" prop="currentInvoiceNum" width="180">
 						<template #default="scope">
-							<el-input-number 
-								:step="0.1" 
-								:min="0" 
+							<el-input-number
+								:step="0.1"
+								:min="0"
 								style="width: 100%"
 								:precision="2"
 								v-model="scope.row.currentInvoiceNum"
@@ -318,9 +318,9 @@
 						width="180"
 					>
 						<template #default="scope">
-							<el-input-number 
-								:step="0.01" 
-								:min="0" 
+							<el-input-number
+								:step="0.01"
+								:min="0"
 								style="width: 100%"
 								:precision="2"
 								v-model="scope.row.currentInvoiceAmount"
@@ -562,28 +562,28 @@
 		proxy.$modal.msgError("璇疯嚦灏戦�夋嫨涓�鏉″悎鍚�");
 		return;
 	}
-	
+
 	// 妫�鏌ユ墍鏈夐�夋嫨鐨勫悎鍚屾槸鍚﹀叿鏈夌浉鍚岀殑瀹㈡埛鍚嶇О
 	const firstRow = selectedRows.value[0];
 	const isSameCustomer = selectedRows.value.every(row =>
 		row.customerName === firstRow.customerName
 	);
-	
+
 	if (!isSameCustomer) {
 		proxy.$modal.msgError("璇烽�夋嫨鐩稿悓瀹㈡埛鍚嶇О鐨勫悎鍚�");
 		return;
 	}
-	
-	// 鍏佽涓嶅悓鐨勯攢鍞悎鍚屽彿鎵归噺澶勭悊锛屾棤闇�妫�鏌ラ噸澶�
-	
+
+	// 鍏佽涓嶅悓鐨勯攢鍞崟鍙锋壒閲忓鐞嗭紝鏃犻渶妫�鏌ラ噸澶�
+
 	form.value = {};
 	productData.value = [];
-	
+
 	// 鍔犺浇鎵�鏈夐�変腑鍚堝悓鐨勪骇鍝佹暟鎹�
 	const promises = selectedRows.value.map(row =>
 		getSalesLedgerWithProducts({ id: row.id })
 	);
-	
+
 	Promise.all(promises).then(results => {
 		// 鍚堝苟鎵�鏈夊悎鍚岀殑浜у搧鏁版嵁锛屽苟涓烘瘡涓骇鍝佹坊鍔犲搴旂殑鍚堝悓淇℃伅
 		const allProductData = [];
@@ -595,24 +595,24 @@
 					allProductData.push({
 						...item,
 						// id: contractId, // 鏄庣‘璁剧疆鍚堝悓ID
-						salesContractNo: contract.salesContractNo, // 娣诲姞閿�鍞悎鍚屽彿
+						salesContractNo: contract.salesContractNo, // 娣诲姞閿�鍞崟鍙�
 						customerName: contract.customerName, // 娣诲姞瀹㈡埛鍚嶇О
 						customerContractNo: contract.customerContractNo // 娣诲姞瀹㈡埛鍚堝悓鍙�
 					});
 				});
 			}
 		});
-		
-		// 璁剧疆琛ㄥ崟鏁版嵁锛堜娇鐢ㄧ涓�涓悎鍚岀殑鍩烘湰淇℃伅锛岄攢鍞悎鍚屽彿鐣欑┖锛�
+
+		// 璁剧疆琛ㄥ崟鏁版嵁锛堜娇鐢ㄧ涓�涓悎鍚岀殑鍩烘湰淇℃伅锛岄攢鍞崟鍙风暀绌猴級
 		form.value = { ...results[0] };
 		form.value.createTime = dayjs().format("YYYY-MM-DD");
 		form.value.issueDate = dayjs().format("YYYY-MM-DD");
 		form.value.createUer = userStore.nickName;
 		form.value.selectedContractIds = selectedRows.value.map(row => row.id); // 瀛樺偍鎵�鏈夐�変腑鐨勫悎鍚孖D
-		form.value.salesContractNo = ""; // 閿�鍞悎鍚屽彿鐣欑┖锛屽洜涓轰細鍦ㄤ骇鍝佽〃鏍间腑鍒嗗埆鏄剧ず
-		
+		form.value.salesContractNo = ""; // 閿�鍞崟鍙风暀绌猴紝鍥犱负浼氬湪浜у搧琛ㄦ牸涓垎鍒樉绀�
+
 		productData.value = allProductData;
-		
+
 		// 瀵逛簬涓嶈兘寮�绁ㄧ殑浜у搧锛屽皢寮�绁ㄦ暟鍜屽紑绁ㄩ噾棰濊缃负0
 		productData.value.forEach(item => {
 			if (isProductInvoiceDisabled(item)) {
@@ -620,7 +620,7 @@
 				item.currentInvoiceAmount = 0;
 			}
 		});
-		
+
 		dialogFormVisible.value = true;
 		console.log("productData.value ", productData.value);
 	});
@@ -637,32 +637,32 @@
 					const contractProductData = productData.value.filter(item =>
 						item.salesLedgerId === contract.id
 					);
-					
-					// 涓烘瘡涓攢鍞悎鍚屽彿鍒涘缓鐙珛鐨勫璞�
+
+					// 涓烘瘡涓攢鍞崟鍙峰垱寤虹嫭绔嬬殑瀵硅薄
 					return {
 						// 鍩虹琛ㄥ崟鏁版嵁
 						issueDate: form.value.issueDate,
 						createTime: form.value.createTime,
 						createUer: form.value.createUer,
 						invoiceNo: form.value.invoiceNo,
-						
+
 						// 鍚堝悓瀹為檯淇℃伅
 						id: contract.id, // 浣跨敤id浣滀负瀛楁鍚嶏紝鍊间负salesLedgerId
-						salesContractNo: contract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞悎鍚屽彿
+						salesContractNo: contract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞崟鍙�
 						customerName: contract.customerName, // 浣跨敤瀹為檯鐨勫鎴峰悕绉�
 						customerId: contract.customerId, // 娣诲姞瀹㈡埛ID
 						customerContractNo: contract.customerContractNo, // 浣跨敤瀹為檯鐨勫鎴峰悎鍚屽彿
 						projectName: contract.projectName, // 浣跨敤瀹為檯鐨勯」鐩悕绉�
 						salesman: contract.salesman, // 浣跨敤瀹為檯鐨勪笟鍔″憳
-						
+
 						// 浜у搧鏁版嵁
 						productData: proxy.HaveJson(contractProductData),
-						
+
 						// 鎵归噺鏍囪瘑
 						isBatch: true
 					};
 				});
-				
+
 				// 鍙皟鐢ㄤ竴娆℃帴鍙o紝浼犻�掑寘鍚墍鏈夊悎鍚屾暟鎹殑鏁扮粍
 				invoiceRegistrationSave(batchData).then(() => {
 					proxy.$modal.msgSuccess("鎵归噺鏂板鎴愬姛");
@@ -679,19 +679,19 @@
 						createTime: form.value.createTime,
 						createUer: form.value.createUer,
 						invoiceNo: form.value.invoiceNo,
-						
+
 						// 鍚堝悓瀹為檯淇℃伅
 						id: singleContract.id, // 浣跨敤id浣滀负瀛楁鍚嶏紝鍊间负salesLedgerId
-						salesContractNo: singleContract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞悎鍚屽彿
+						salesContractNo: singleContract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞崟鍙�
 						customerName: singleContract.customerName, // 浣跨敤瀹為檯鐨勫鎴峰悕绉�
 						customerId: singleContract.customerId, // 娣诲姞瀹㈡埛ID
 						customerContractNo: singleContract.customerContractNo, // 浣跨敤瀹為檯鐨勫鎴峰悎鍚屽彿
 						projectName: singleContract.projectName, // 浣跨敤瀹為檯鐨勯」鐩悕绉�
 						salesman: singleContract.salesman, // 浣跨敤瀹為檯鐨勪笟鍔″憳
-						
+
 						// 浜у搧鏁版嵁
 						productData: proxy.HaveJson(productData.value),
-						
+
 						// 鎵归噺鏍囪瘑
 						isBatch: false
 					}
diff --git a/src/views/salesManagement/receiptPayment/index.vue b/src/views/salesManagement/receiptPayment/index.vue
index 25bd280..bd803da 100644
--- a/src/views/salesManagement/receiptPayment/index.vue
+++ b/src/views/salesManagement/receiptPayment/index.vue
@@ -126,7 +126,7 @@
         </el-table-column>
         <el-table-column align="center" label="搴忓彿" type="index" width="60" />
         <el-table-column
-          label="閿�鍞悎鍚屽彿"
+          label="閿�鍞崟鍙�"
           prop="salesContractNo"
           show-overflow-tooltip
           width="240"
@@ -206,7 +206,7 @@
         size="small"
       >
         <el-table-column type="index" label="搴忓彿" width="50" align="center"/>
-        <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" show-overflow-tooltip />
+        <el-table-column label="閿�鍞崟鍙�" prop="salesContractNo" show-overflow-tooltip />
         <el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" show-overflow-tooltip />
 				<el-table-column
 					label="浜у搧澶х被"
diff --git a/src/views/salesManagement/receiptPaymentHistory/index.vue b/src/views/salesManagement/receiptPaymentHistory/index.vue
index 11a59a6..031494e 100644
--- a/src/views/salesManagement/receiptPaymentHistory/index.vue
+++ b/src/views/salesManagement/receiptPaymentHistory/index.vue
@@ -75,7 +75,7 @@
 const { proxy } = getCurrentInstance();
 const tableColumn = ref([
   {
-    label: "閿�鍞悎鍚屽彿",
+    label: "閿�鍞崟鍙�",
     prop: "salesContractNo",
     width:240
   },
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 9972416..c9a3b47 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -6,7 +6,7 @@
           <el-input v-model="searchForm.customerName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
             @change="handleQuery" />
         </el-form-item>
-        <el-form-item label="閿�鍞悎鍚屽彿锛�">
+        <el-form-item label="閿�鍞崟鍙凤細">
           <el-input v-model="searchForm.salesContractNo" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
             @change="handleQuery" />
         </el-form-item>
@@ -95,8 +95,8 @@
             <!--鎿嶄綔-->
               <el-table-column Width="60px" label="鎿嶄綔" align="center">
                 <template #default="scope">
-                  <el-button 
-                    link 
+                  <el-button
+                    link
                     type="primary"
                     :disabled="!canShip(scope.row)"
                     @click="openDeliveryForm(scope.row)">
@@ -108,7 +108,7 @@
           </template>
         </el-table-column>
         <el-table-column align="center" label="搴忓彿" type="index" width="60" />
-        <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" width="180" show-overflow-tooltip />
+        <el-table-column label="閿�鍞崟鍙�" prop="salesContractNo" width="180" show-overflow-tooltip />
         <el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" width="300" show-overflow-tooltip />
         <el-table-column label="涓氬姟鍛�" prop="salesman" width="100" show-overflow-tooltip />
         <el-table-column label="椤圭洰鍚嶇О" prop="projectName" width="180" show-overflow-tooltip />
@@ -143,7 +143,7 @@
 				</el-row>
         <el-row :gutter="30">
           <el-col :span="12">
-            <el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
+            <el-form-item label="閿�鍞崟鍙凤細" prop="salesContractNo">
               <el-input v-model="form.salesContractNo" placeholder="鑷姩鐢熸垚" clearable disabled />
             </el-form-item>
           </el-col>
@@ -234,7 +234,7 @@
 					<el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber" />
 					<el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center" v-if="operationType !== 'view'">
 						<template #default="scope">
-							<el-button link type="primary" size="small" 
+							<el-button link type="primary" size="small"
 								:disabled="isProductShipped(scope.row)"
 								@click="openProductForm('edit', scope.row,scope.$index)">缂栬緫</el-button>
 						</template>
@@ -292,7 +292,7 @@
 				<el-button type="primary" @click="fetchQuotationList">鎼滅储</el-button>
 				<el-button @click="resetQuotationSearch">閲嶇疆</el-button>
 			</div>
-			
+
 			<el-table
 				:data="quotationList"
 				border
@@ -317,7 +317,7 @@
 					</template>
 				</el-table-column>
 			</el-table>
-			
+
 			<pagination
 				v-show="quotationPage.total > 0"
 				:total="quotationPage.total"
@@ -326,7 +326,7 @@
 				:limit="quotationPage.size"
 				@pagination="quotationPaginationChange"
 			/>
-			
+
 			<template #footer>
 				<el-button @click="quotationDialogVisible = false">鍏抽棴</el-button>
 			</template>
@@ -482,7 +482,7 @@
 							<div class="header">
 								<div class="document-title">闆跺敭鍙戣揣鍗�</div>
 							</div>
-							
+
 							<div class="info-section">
 								<div class="info-row">
 									<div>
@@ -503,7 +503,7 @@
 									<span class="value">{{ item.salesContractNo }}</span>
 								</div>
 							</div>
-							
+
 							<div class="table-section">
 								<table class="product-table">
 									<thead>
@@ -541,7 +541,7 @@
 									</tfoot>
 								</table>
 							</div>
-							
+
 							<div class="footer-section">
 								<div class="footer-row">
 									<div class="footer-item">
@@ -644,15 +644,15 @@
 				<el-row :gutter="30">
 					<el-col :span="24">
 						<el-form-item label="鍙戣揣鍥剧墖锛�">
-							<el-upload 
-								v-model:file-list="deliveryFileList" 
-								:action="upload.url" 
-								multiple 
-								ref="deliveryFileUpload" 
+							<el-upload
+								v-model:file-list="deliveryFileList"
+								:action="upload.url"
+								multiple
+								ref="deliveryFileUpload"
 								auto-upload
-								:headers="upload.headers" 
+								:headers="upload.headers"
 								:data="{ type: 9 }"
-								:on-success="handleDeliveryUploadSuccess" 
+								:on-success="handleDeliveryUploadSuccess"
 								:on-remove="handleDeliveryRemove"
 								list-type="picture-card"
 								:limit="9"
@@ -1067,7 +1067,7 @@
 		if (children && children.length > 0) {
 			newItem.children = convertIdToValue(children);
 		}
-		
+
 		return newItem;
 	});
 }
@@ -1236,10 +1236,10 @@
 const applyQuotation = (row) => {
 	if (!row) return;
 	selectedQuotation.value = row;
-	
+
 	// 涓氬姟鍛�
 	form.value.salesman = (row.salesperson || "").trim();
-	
+
 	// 瀹㈡埛鍚嶇О -> customerId
 	const qCustomerName = String(row.customer || "").trim();
 	const customer = (customerOption.value || []).find((c) => {
@@ -1252,7 +1252,7 @@
 		// 濡傛灉鎵句笉鍒帮紝淇濈暀鍘熷�硷紙鍏佽鐢ㄦ埛鎵嬪姩閫夋嫨/涓嶆墦鏂凡鏈夎緭鍏ワ級
 		form.value.customerId = form.value.customerId || "";
 	}
-	
+
 	// 浜у搧淇℃伅鏄犲皠锛氭姤浠� products -> 鍙拌处 productData
 	const products = Array.isArray(row.products) ? row.products : [];
 	productData.value = products.map((p) => {
@@ -1274,7 +1274,7 @@
 			invoiceType: "澧炴櫘绁�",
 		};
 	});
-	
+
 	quotationDialogVisible.value = false;
 };
 function changs(val) {
@@ -1356,7 +1356,7 @@
 		proxy.$modal.msgWarning("宸插彂璐ф垨瀹℃牳閫氳繃鐨勪骇鍝佷笉鑳界紪杈�");
 		return;
 	}
-	
+
 	productOperationType.value = type;
 	productForm.value = {};
 	proxy.resetForm("productFormRef");
@@ -1423,14 +1423,14 @@
 		proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");
 		return;
 	}
-	
+
 	// 妫�鏌ユ槸鍚︽湁宸插彂璐ф垨瀹℃牳閫氳繃鐨勪骇鍝�
 	const shippedProducts = productSelectedRows.value.filter(row => isProductShipped(row));
 	if (shippedProducts.length > 0) {
 		proxy.$modal.msgWarning("宸插彂璐ф垨瀹℃牳閫氳繃鐨勪骇鍝佷笉鑳藉垹闄�");
 		return;
 	}
-	
+
 	if (operationType.value === "add") {
 		productSelectedRows.value.forEach((selectedRow) => {
 			const index = productData.value.findIndex(
@@ -1576,25 +1576,25 @@
 		proxy.$modal.msgWarning("璇烽�夋嫨瑕佹墦鍗扮殑鏁版嵁");
 		return;
 	}
-	
+
 	// 鏄剧ず鍔犺浇鐘舵��
 	proxy.$modal.loading("姝e湪鑾峰彇浜у搧鏁版嵁锛岃绋嶅��...");
-	
+
 	try {
 		// 涓烘瘡涓�変腑鐨勯攢鍞彴璐﹁褰曟煡璇㈠搴旂殑浜у搧鏁版嵁
 		const printDataWithProducts = [];
-		
+
 		for (const row of selectedRows.value) {
 			try {
 				// 璋冪敤productList鎺ュ彛鏌ヨ浜у搧鏁版嵁
 				const productRes = await productList({ salesLedgerId: row.id, type: 1 });
-				
+
 				// 灏嗕骇鍝佹暟鎹暣鍚堝埌閿�鍞彴璐﹁褰曚腑
 				const rowWithProducts = {
 					...row,
 					products: productRes.data || []
 				};
-				
+
 				printDataWithProducts.push(rowWithProducts);
 			} catch (error) {
 				console.error(`鑾峰彇閿�鍞彴璐� ${row.id} 鐨勪骇鍝佹暟鎹け璐�:`, error);
@@ -1605,11 +1605,11 @@
 				});
 			}
 		}
-		
+
 		printData.value = printDataWithProducts;
 		console.log('鎵撳嵃鏁版嵁锛堝寘鍚骇鍝侊級:', printData.value);
 		printPreviewVisible.value = true;
-		
+
 	} catch (error) {
 		console.error('鑾峰彇浜у搧鏁版嵁澶辫触:', error);
 		proxy.$modal.msgError("鑾峰彇浜у搧鏁版嵁澶辫触锛岃閲嶈瘯");
@@ -1621,10 +1621,10 @@
 const executePrint = () => {
 	console.log('寮�濮嬫墽琛屾墦鍗帮紝鏁版嵁鏉℃暟:', printData.value.length);
 	console.log('鎵撳嵃鏁版嵁:', printData.value);
-	
+
 	// 鍒涘缓涓�涓柊鐨勬墦鍗扮獥鍙�
 	const printWindow = window.open('', '_blank', 'width=800,height=600');
-	
+
 	// 鏋勫缓鎵撳嵃鍐呭
 	let printContent = `
     <!DOCTYPE html>
@@ -1760,7 +1760,7 @@
     </head>
     <body>
   `;
-	
+
 	// 涓烘瘡鏉℃暟鎹敓鎴愭墦鍗伴〉闈�
 	printData.value.forEach((item, index) => {
 		printContent += `
@@ -1769,7 +1769,7 @@
           <div class="header">
             <div class="document-title">闆跺敭鍙戣揣鍗�</div>
           </div>
-          
+
           <div class="info-section">
             <div class="info-row">
               <div>
@@ -1857,16 +1857,16 @@
       </div>
     `;
 	});
-	
+
 	printContent += `
     </body>
     </html>
   `;
-	
+
 	// 鍐欏叆鍐呭鍒版柊绐楀彛
 	printWindow.document.write(printContent);
 	printWindow.document.close();
-	
+
 	// 绛夊緟鍐呭鍔犺浇瀹屾垚鍚庢墦鍗�
 	printWindow.onload = () => {
 		setTimeout(() => {
@@ -1957,19 +1957,19 @@
 // 鏍规嵁鍚◣鎬讳环璁$畻鍚◣鍗曚环鍜屾暟閲�
 const calculateFromTotalPrice = () => {
 	if (isCalculating.value) return;
-	
+
 	const totalPrice = parseFloat(productForm.value.taxInclusiveTotalPrice);
 	const quantity = parseFloat(productForm.value.quantity);
-	
+
 	if (!totalPrice || !quantity || quantity <= 0) {
 		return;
 	}
-	
+
 	isCalculating.value = true;
-	
+
 	// 璁$畻鍚◣鍗曚环 = 鍚◣鎬讳环 / 鏁伴噺
 	productForm.value.taxInclusiveUnitPrice = (totalPrice / quantity).toFixed(2);
-	
+
 	// 濡傛灉鏈夌◣鐜囷紝璁$畻涓嶅惈绋庢�讳环
 	if (productForm.value.taxRate) {
 		productForm.value.taxExclusiveTotalPrice =
@@ -1978,7 +1978,7 @@
 				productForm.value.taxRate
 			);
 	}
-	
+
 	isCalculating.value = false;
 };
 
@@ -1989,25 +1989,25 @@
 		return;
 	}
 	if (isCalculating.value) return;
-	
+
 	const exclusiveTotalPrice = parseFloat(productForm.value.taxExclusiveTotalPrice);
 	const quantity = parseFloat(productForm.value.quantity);
 	const taxRate = parseFloat(productForm.value.taxRate);
-	
+
 	if (!exclusiveTotalPrice || !quantity || quantity <= 0 || !taxRate) {
 		return;
 	}
-	
+
 	isCalculating.value = true;
-	
+
 	// 鍏堣绠楀惈绋庢�讳环 = 涓嶅惈绋庢�讳环 / (1 - 绋庣巼/100)
 	const taxRateDecimal = taxRate / 100;
 	const inclusiveTotalPrice = exclusiveTotalPrice / (1 - taxRateDecimal);
 	productForm.value.taxInclusiveTotalPrice = inclusiveTotalPrice.toFixed(2);
-	
+
 	// 璁$畻鍚◣鍗曚环 = 鍚◣鎬讳环 / 鏁伴噺
 	productForm.value.taxInclusiveUnitPrice = (inclusiveTotalPrice / quantity).toFixed(2);
-	
+
 	isCalculating.value = false;
 };
 
@@ -2018,19 +2018,19 @@
 		return;
 	}
 	if (isCalculating.value) return;
-	
+
 	const quantity = parseFloat(productForm.value.quantity);
 	const unitPrice = parseFloat(productForm.value.taxInclusiveUnitPrice);
-	
+
 	if (!quantity || quantity <= 0 || !unitPrice) {
 		return;
 	}
-	
+
 	isCalculating.value = true;
-	
+
 	// 璁$畻鍚◣鎬讳环
 	productForm.value.taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(2);
-	
+
 	// 濡傛灉鏈夌◣鐜囷紝璁$畻涓嶅惈绋庢�讳环
 	if (productForm.value.taxRate) {
 		productForm.value.taxExclusiveTotalPrice =
@@ -2039,7 +2039,7 @@
 				productForm.value.taxRate
 			);
 	}
-	
+
 	isCalculating.value = false;
 };
 
@@ -2050,19 +2050,19 @@
 		return;
 	}
 	if (isCalculating.value) return;
-	
+
 	const quantity = parseFloat(productForm.value.quantity);
 	const unitPrice = parseFloat(productForm.value.taxInclusiveUnitPrice);
-	
+
 	if (!quantity || quantity <= 0 || !unitPrice) {
 		return;
 	}
-	
+
 	isCalculating.value = true;
-	
+
 	// 璁$畻鍚◣鎬讳环
 	productForm.value.taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(2);
-	
+
 	// 濡傛灉鏈夌◣鐜囷紝璁$畻涓嶅惈绋庢�讳环
 	if (productForm.value.taxRate) {
 		productForm.value.taxExclusiveTotalPrice =
@@ -2071,7 +2071,7 @@
 				productForm.value.taxRate
 			);
 	}
-	
+
 	isCalculating.value = false;
 };
 
@@ -2082,23 +2082,23 @@
 		return;
 	}
 	if (isCalculating.value) return;
-	
+
 	const inclusiveTotalPrice = parseFloat(productForm.value.taxInclusiveTotalPrice);
 	const taxRate = parseFloat(productForm.value.taxRate);
-	
+
 	if (!inclusiveTotalPrice || !taxRate) {
 		return;
 	}
-	
+
 	isCalculating.value = true;
-	
+
 	// 璁$畻涓嶅惈绋庢�讳环
 	productForm.value.taxExclusiveTotalPrice =
 		proxy.calculateTaxExclusiveTotalPrice(
 			inclusiveTotalPrice,
 			taxRate
 		);
-	
+
 	isCalculating.value = false;
 };
 /**
@@ -2110,15 +2110,15 @@
 	if (row.shippingDate || row.shippingCarNumber) {
 		return '宸插彂璐�';
 	}
-	
+
 	// 鑾峰彇鍙戣揣鐘舵�佸瓧娈�
 	const status = row.shippingStatus;
-	
+
 	// 濡傛灉鐘舵�佷负绌烘垨鏈畾涔夛紝榛樿涓�"寰呭彂璐�"
 	if (status === null || status === undefined || status === '') {
 		return '寰呭彂璐�';
 	}
-	
+
 	// 鐘舵�佹槸瀛楃涓�
 	const statusStr = String(status).trim();
 	const statusTextMap = {
@@ -2141,15 +2141,15 @@
 	if (row.shippingDate || row.shippingCarNumber) {
 		return 'success';
 	}
-	
+
 	// 鑾峰彇鍙戣揣鐘舵�佸瓧娈�
 	const status = row.shippingStatus;
-	
+
 	// 濡傛灉鐘舵�佷负绌烘垨鏈畾涔夛紝榛樿涓虹伆鑹诧紙寰呭彂璐э級
 	if (status === null || status === undefined || status === '') {
 		return 'info';
 	}
-	
+
 	// 鐘舵�佹槸瀛楃涓�
 	const statusStr = String(status).trim();
 	const typeTextMap = {
@@ -2173,15 +2173,15 @@
 	if (row.approveStatus !== 1) {
 		return false;
 	}
-	
+
 	// 鑾峰彇鍙戣揣鐘舵��
 	const shippingStatus = row.shippingStatus;
-	
+
 	// 濡傛灉宸插彂璐э紙鏈夊彂璐ф棩鏈熸垨杞︾墝鍙凤級锛屼笉鑳藉啀娆″彂璐�
 	if (row.shippingDate || row.shippingCarNumber) {
 		return false;
 	}
-	
+
 	// 鍙戣揣鐘舵�佸繀椤绘槸"寰呭彂璐�"鎴�"瀹℃牳鎷掔粷"
 	const statusStr = shippingStatus ? String(shippingStatus).trim() : '';
 	return statusStr === '寰呭彂璐�' || statusStr === '瀹℃牳鎷掔粷';
@@ -2209,7 +2209,7 @@
 		proxy.$modal.msgWarning("鍙湁鍦ㄤ骇鍝佺姸鎬佹槸鍏呰冻锛屽彂璐х姸鎬佹槸寰呭彂璐ф垨瀹℃牳鎷掔粷鐨勬椂鍊欐墠鍙互鍙戣揣");
 		return;
 	}
-	
+
 	currentDeliveryRow.value = row;
   deliveryForm.value = {
     type: "璐ц溅",
@@ -2254,13 +2254,13 @@
       // 淇濆瓨褰撳墠灞曞紑鐨勮ID锛屼互渚垮彂璐у悗閲嶆柊鍔犺浇瀛愯〃鏍兼暟鎹�
       const currentExpandedKeys = [...expandedRowKeys.value];
       const salesLedgerId = currentDeliveryRow.value.salesLedgerId;
-      
+
       // 鑾峰彇涓婁紶鍥剧墖鐨勪复鏃禝D
       let tempFileIds = [];
       if (deliveryFileList.value !== null && deliveryFileList.value.length > 0) {
         tempFileIds = deliveryFileList.value.map((item) => item.tempId);
       }
-      
+
       addShippingInfo({
         salesLedgerId: salesLedgerId,
         salesLedgerProductId: currentDeliveryRow.value.id,
@@ -2363,12 +2363,12 @@
 		padding: 15px;
 		border-bottom: 1px solid #e4e7ed;
 		text-align: center;
-		
+
 		.el-button {
 			margin: 0 10px;
 		}
 	}
-	
+
 	.print-preview-content {
 		padding: 20px;
 		background-color: #f5f5f5;
@@ -2400,13 +2400,13 @@
 .header {
 	text-align: center;
 	margin-bottom: 8px;
-	
+
 	.company-name {
 		font-size: 18px;
 		font-weight: bold;
 		margin-bottom: 4px;
 	}
-	
+
 	.document-title {
 		font-size: 16px;
 		font-weight: bold;
@@ -2418,16 +2418,16 @@
 	display: flex;
 	justify-content: space-between;
 	align-items: center;
-	
+
 	.info-row {
 		line-height: 20px;
-		
+
 		.label {
 			font-weight: bold;
 			width: 60px;
 			font-size: 14px;
 		}
-		
+
 		.value {
 			margin-right: 20px;
 			min-width: 80px;
@@ -2439,12 +2439,12 @@
 .table-section {
 	margin-bottom: 4px;
 	flex: 1;
-	
+
 	.product-table {
 		width: 100%;
 		border-collapse: collapse;
 		border: 1px solid #000;
-		
+
 		th, td {
 			border: 1px solid #000;
 			padding: 6px;
@@ -2452,16 +2452,16 @@
 			font-size: 14px;
 			line-height: 1.4;
 		}
-		
+
 		th {
 			font-weight: bold;
 		}
-		
+
 		.total-label {
 			text-align: right;
 			font-weight: bold;
 		}
-		
+
 		.total-value {
 			font-weight: bold;
 		}
@@ -2474,22 +2474,22 @@
 		margin-bottom: 3px;
 		line-height: 20px;
 		justify-content: space-between;
-		
+
 		.footer-item {
 			display: flex;
 			margin-right: 20px;
-			
+
 			.label {
 				font-weight: bold;
 				width: 80px;
 				font-size: 14px;
 			}
-			
+
 			.value {
 				min-width: 80px;
 				font-size: 14px;
 			}
-			
+
 			&.address-item {
 				.address-value {
 					min-width: 200px;
@@ -2503,7 +2503,7 @@
 	.app-container {
 		display: none;
 	}
-	
+
 	.print-page {
 		box-shadow: none;
 		margin: 0;

--
Gitblit v1.9.3