From fd596adc9e93e777d2dec6dacf8003c4b8dbf960 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 14 六月 2024 17:34:22 +0800
Subject: [PATCH] 提交中英文

---
 north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue          |   40 
 north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue                                  |   36 
 north-glass-erp/src/main/java/com/example/erp/controller/sd/DeliveryController.java           |    7 
 north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue                   |   68 +-
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue                      |    1 
 north-glass-erp/northglass-erp/src/lang/zh.js                                                 |  205 +++++-
 north-glass-erp/northglass-erp/src/views/pp/productionBasicData/ProductionBasicData.vue       |   10 
 north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue                     |   26 
 north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml                               |   13 
 north-glass-erp/northglass-erp/src/views/pp/report/OrderPlanDecomposition.vue                 |   42 
 north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java             |    5 
 north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue                         |   60 +-
 north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryMapper.java                   |    2 
 north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseCreateBasicData.vue            |   34 
 north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue                           |   44 
 north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddTeamGroup.vue              |   12 
 north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageType.vue           |   10 
 north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue                |   26 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredient/Ingredients.vue                    |    6 
 north-glass-erp/northglass-erp/src/views/pp/report/Report.vue                                 |   30 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue                 |   10 
 north-glass-erp/northglass-erp/src/views/mm/stockReport/WarehouseReport.vue                   |   10 
 north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue                             |   27 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorageCreate.vue     |   86 +-
 north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java                 |   23 
 north-glass-erp/northglass-erp/src/views/sd/delivery/DeliveryPrinting.vue                     |  132 ++++
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/StorageRecord.vue                |   10 
 north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseSearchBasicData.vue            |   16 
 north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue                             |   48 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue              |    4 
 north-glass-erp/northglass-erp/src/lang/en.js                                                 |   24 
 north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml                         |   28 +
 north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue                    |   24 
 north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue                   |   27 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue              |   32 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/SelectIngredientsStock.vue    |  116 ++--
 north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageReason.vue         |   10 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue                |   14 
 north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseBasicData.vue                  |    2 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue              |   29 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/IngredientsStock.vue          |    8 
 north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue               |   28 
 north-glass-erp/northglass-erp/src/views/pp/machine/SelectMachine.vue                         |   26 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorage.vue           |   38 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue           |    4 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue           |    4 
 north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue                       |    4 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TransferRecord.vue               |    8 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue        |    4 
 north-glass-erp/northglass-erp/src/views/pp/productionBasicData/SelectProductionBasicData.vue |   24 
 north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue                       |    2 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/CreateOutBound.vue            |   70 +-
 north-glass-erp/northglass-erp/src/views/pp/report/RawMaterialRequisition.vue                 |   32 
 north-glass-erp/northglass-erp/src/views/pp/report/TaskCompletionStatus.vue                   |   26 
 north-glass-erp/northglass-erp/src/views/pp/report/QualityReport.vue                          |   38 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue           |    6 
 56 files changed, 987 insertions(+), 684 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/lang/en.js b/north-glass-erp/northglass-erp/src/lang/en.js
index e11f42a..c12510f 100644
--- a/north-glass-erp/northglass-erp/src/lang/en.js
+++ b/north-glass-erp/northglass-erp/src/lang/en.js
@@ -113,7 +113,6 @@
             updateAmountSuccessfully:'Updated amount successfully',
             updateOrderState:'Order status update succeeded',
         }
-
     },
     searchOrder:{
         createOrder:'Create',
@@ -158,6 +157,7 @@
         reset:'Reset',
         sure:'Sure',
     },
+
     workOrder:{
         workOrder:'Work Order Management',
         productionId:'Production Order Number',
@@ -221,7 +221,6 @@
         technologyNumber:'Chip Sequence',
         otherRemarks:'Original Film Requirement',
     },
-
     reportingWorks:{
         glassAddress:'Glass Address',
         WorkReportingManagement:'Work Reporting Management ',
@@ -294,12 +293,7 @@
         thisCompletedQuantity:'This Completed Quantity',
         thisWornQuantity:'This Worn Quantity',
         passAudit:'Pass The Audit',
-
-
     },
-
-
-
 
     productStock:{
         inventoryQuery:'Stock Inquiry',
@@ -321,7 +315,6 @@
         quantityToBeStockedIn:'Quantity To Be Stocked In',
         return:'Return',
         reverseReviewList:'Reverse Review List',
-
         receivedSuccessfully:'Successfully entered the warehouse',
         deliverySuccessful:"Successfully transferred out of warehouse ",
         successfullyRetrieved:'Successfully claimed',
@@ -330,7 +323,6 @@
         reviewSuccessful:'Successfully review ',
         invalidSuccessfully:'Successfully cancel',
         reverseReviewSuccessful:'Successfully re-audit',
-
         confirmWithdrawal:'Take Out Confirmation',
         pickingOutRecords:'Take Out Records',
         confirmTransfer:'Mutual Exchange Confirmation',
@@ -339,8 +331,6 @@
         reworkRecords:'Rework Records',
         warehousingRecords:'Warehousing Records',
         outboundRecords:'Outbound Records',
-
-
         pleaseSelectTheTypeOfWithdrawal:'Please select the type of withdrawal',
         pleaseSelectTheTypeOfRework:'Please select the type of rework',
         receivedQuantity:'Received Quantity',
@@ -349,14 +339,11 @@
         receivedReworkedQuantity:'Received/Reworked Quantity',
         inventoryQuantity:'Inventory Quantity',
         availableQuantity:'Available Quantity',
-
         newOrderNumber:'New Order Number',
         newOrderId:'New Order Id',
         transferOrderNumber:'Mutual Exchange Order Number',
         operationOrderNumber:'Operation Order Number',
         inventoryArea:'Inventory Location',
-
-
         dataVerificationFailed:'Fail data check',
         unselectedData:'No data selected',
         pleaseEnterAPositiveInteger:'Please enter a positive integer',
@@ -368,7 +355,6 @@
         claimedQuantityCannotBeEmptyOr0:'The claimed quantity cannot be empty or 0',
         theReworkQuantityCannotBeGreaterThanTheOrderQuantity:'The quantity of rework cannot be greater than the number of orders',
         reworkQuantityCannotBeEmptyOr0:'Rework quantity cannot be empty or 0',
-
         storageTime:'Warehouse Entry Time',
         outboundTime:'Time Of Leaving The Warehouse',
         modificationTime:'modification Time',
@@ -379,7 +365,6 @@
         reviewed:'Audit Staff',
         documentStatus:'Document Status',
         status:'Status',
-
         totalNumberOfOrders :'Total Number Of Orders',
         quantityAlreadyInStock:'Quantity Already In Stock',
         totalArea:'Total Area',
@@ -404,7 +389,6 @@
         customerHomePage:'Customer Homepage',
         increaseCustomers:'Increase Customers',
         resetting:'Revoke',
-
     },
     delivery:{
         delivery:'Delivery',
@@ -436,19 +420,14 @@
         deliveryNoteId:'Delivery Note Id',
         deliveryNoteNumber:'Delivery Note Number',
         deliveryDate:"Delivery Date ",
-
     },
     replenish:{
         patchManagement:'Patch Management',
         addPatches:"Add Patches ",
         printPatches:'Print Patches',
         patchNumber:'Patch Number',
-
         mark:'Mark',
         sliceMarking:'Slice Marking',
-
-
-
     },
     rework:{
         reworkManagement:'Rework Management',
@@ -460,7 +439,6 @@
         reworkProcess:'Rework Process',
         reworkType:'Rework Type',
         reworkArea:'Rework Area',
-
         PleaseSelectAReworkTeam:'Please select a rework team',
         TheReworkQuantityCannotBeGreaterThanTheSecondBreakQuantity:'The rework quantity cannot be greater than the second break quantity',
         reworkQuantityCannotBeEmptyOr0:'Rework quantity cannot be empty or 0',
diff --git a/north-glass-erp/northglass-erp/src/lang/zh.js b/north-glass-erp/northglass-erp/src/lang/zh.js
index 30b3134..4cfe721 100644
--- a/north-glass-erp/northglass-erp/src/lang/zh.js
+++ b/north-glass-erp/northglass-erp/src/lang/zh.js
@@ -55,6 +55,7 @@
         sizeReview:'灏哄瀹℃牳',
         reportForms:'鎶ヨ〃',
         print:'鎵撳嵃',
+        export:'瀵煎嚭',
         msg:{
             max255:"鏈�澶氳緭鍏�255涓瓧绗�",
             range99999Dec2:
@@ -65,14 +66,14 @@
             saveFail:'淇濆瓨澶辫触',
             cancelReviewSuccess:'鍙嶅鎴愬姛',
             ReviewSuccess:'瀹℃牳鎴愬姛',
+
             ServerConnectionError:'鏈嶅姟鍣ㄨ繛鎺ラ敊璇�',
             deleteSuccess:'鍒犻櫎鎴愬姛',
             deleteFail:'鍒犻櫎澶辫触',
+            cancelReviewFail:'鍙嶅澶辫触',
             reviewFail:'瀹℃牳澶辫触',
             noProductDataInTheTable:'琛ㄦ牸涓棤浜у搧鏁版嵁',
             tableDataExceedsMaximumLimit:'琛ㄦ牸鏁版嵁瓒呰繃鏈�澶ч檺鍒�',
-
-
         }
     },
     product:{
@@ -137,10 +138,7 @@
            cancelReview:'鍙嶅',
            theProductHasBeenReviewedAndCannotBeDeleted:'浜у搧宸插鏍�,鏃犳硶鍒犻櫎',
        }
-
-
     },
-
     order:{
         orderHomePage:'璁㈠崟棣栭〉',
         orderReport:'璁㈠崟鏄庣粏鎶ヨ〃',
@@ -218,10 +216,12 @@
             importMaxCheckFailLast:'鏉�,璇峰垎璁㈠崟瀵煎叆',
             updateAmountSuccessfully:'鏇存柊閲戦鎴愬姛',
             updateOrderState:'鏇存柊璁㈠崟鐘舵�佹垚鍔�',
+
             calculationAreaPrompt1:'瀛樺湪',
             calculationAreaPrompt2:'鏉$粨绠楀崟鐗囬潰绉皬浜�',
             calculationAreaPrompt3:'鏄惁鎸夌収',
             calculationAreaPrompt4:'璁$畻',
+            warning:'鎻愮ず',
         }
 
     },
@@ -248,7 +248,6 @@
         msgList:{
             checkOrder:'鏈煡璇㈠埌璁㈠崟淇℃伅锛岃鍏堝崟鍑昏鍗�'
         }
-
     },
     craft:{
         glassAddress:'鏍囪',
@@ -366,7 +365,6 @@
         deleteNoProcedure:'鍒犻櫎澶辫触锛屾鏌ヤ笅宸ュ簭鏄惁宸叉姤宸�',
         pleaseCheckTheRequiredData:'璇峰嬀閫夐渶瑕佺殑鏁版嵁',
     },
-
     reportingWorks:{
         glassAddress:'鐗囨爣璁�',
         WorkReportingManagement:'鎶ュ伐绠$悊',
@@ -440,8 +438,7 @@
         thisWornQuantity:'鏈伐搴忔鐮�',
         passAudit:'瀹℃牳閫氳繃',
 
-        ThanEqualTo1:'璇疯緭鍏ュぇ浜庣瓑浜�',
-        ThanEqualTo2:'鐨勬暟瀛�',
+
         selectResponsibleTeam:'璇烽�夋嫨璐d换鐝粍',
         selectWorkReportingTeam:'璇烽�夋嫨璐d换鐝粍',
         successfulModificationOfWorkApplication:'鎶ュ伐淇敼鎴愬姛',
@@ -452,12 +449,23 @@
         qualityInsTime:'璐ㄦ鏃堕棿',
         completedArea:'瀹屽伐闈㈢Н',
         wornArea:'娆$牬闈㈢Н',
-
+        pleaseGreaterThanOrEqual1:'璇疯緭鍏ュぇ浜庣瓑浜�',
+        pleaseGreaterThanOrEqual2:'鐨勬暟瀛�',
+        lossCount1:'鎹熻�楁暟',
+        lossCount2:'涓嶈兘澶т簬',
+        pleaseCheckTheOrderNumber1:'璇锋鏌ヨ鍗曞簭鍙�',
+        pleaseCheckTheOrderNumber2:'鎶ュ伐鏁伴噺鏄惁鐩稿悓',
+        pleaseNumber1:'搴忓彿',
+        pleaseNumber2:'灏忕墖椤哄簭',
+        pleaseNumber3:'瀹為檯鍙姤宸ユ暟閲�',
+        pleaseNumber4:'鎶ュ伐鏁伴噺',
+        pleaseNumber5:'璇峰埛鏂扮晫闈㈤噸鏂版姤宸�',
+        pleaseNumber6:'搴忓彿',
+        pleaseNumber7:'鐨勬暟閲忎笉鑳藉ぇ浜庝笂宸ュ簭鏁伴噺',
+        pleaseNumber8:'璇疯緭鍏ュ簭鍙�',
+        pleaseNumber9:'姝g‘鐨勫畬宸ユ垨娆$牬鏁伴噺',
 
     },
-
-
-
 
     productStock:{
         inventoryQuery:'搴撳瓨鏌ヨ',
@@ -479,9 +487,6 @@
         quantityToBeStockedIn:'寰呭叆搴撴暟閲�',
         return:'杩斿洖',
         reverseReviewList:'鍙嶅鍒楄〃',
-
-
-
         receivedSuccessfully:'鍏ュ簱鎴愬姛',
         deliverySuccessful:"鍑哄簱鎴愬姛 ",
         successfullyRetrieved:'棰嗗嚭鎴愬姛',
@@ -490,7 +495,6 @@
         reviewSuccessful:'瀹℃牳鎴愬姛',
         invalidSuccessfully:'杩斿簱鎴愬姛',
         reverseReviewSuccessful:'鍙嶅鎴愬姛',
-
         confirmWithdrawal:'纭棰嗗嚭',
         pickingOutRecords:'棰嗗嚭璁板綍',
         confirmTransfer:'纭璋冩嫧',
@@ -499,8 +503,6 @@
         reworkRecords:'杩斿伐璁板綍',
         warehousingRecords:'鍏ュ簱璁板綍',
         outboundRecords:'鍑哄簱璁板綍',
-
-
         pleaseSelectTheTypeOfWithdrawal:'璇烽�夋嫨棰嗗嚭绫诲瀷',
         pleaseSelectTheTypeOfRework:'璇烽�夋嫨杩斿伐绫诲瀷',
         receivedQuantity:'棰嗗嚭鏁伴噺',
@@ -509,14 +511,11 @@
         receivedReworkedQuantity:'棰嗗嚭/杩斿伐鏁伴噺',
         inventoryQuantity:'搴撳瓨鏁伴噺',
         availableQuantity:'鍙敤鏁伴噺',
-
         newOrderNumber:'鏂拌鍗曞簭鍙�',
         newOrderId:'鏂拌鍗曞彿',
         transferOrderNumber:'璋冩嫧鍗曞彿',
         operationOrderNumber:'鎿嶄綔鍗曞彿',
         inventoryArea:'搴撳瓨鍖哄煙',
-
-
         dataVerificationFailed:'鏁版嵁鏍¢獙澶辫触',
         unselectedData:'鏈�変腑鏁版嵁',
         pleaseEnterAPositiveInteger:'璇疯緭鍏ユ鏁存暟',
@@ -528,7 +527,6 @@
         claimedQuantityCannotBeEmptyOr0:'棰嗗嚭鏁伴噺涓嶈兘涓虹┖鎴栬�呮槸0',
         theReworkQuantityCannotBeGreaterThanTheOrderQuantity:'杩斿伐鏁伴噺涓嶈兘澶т簬璁㈠崟鏁�',
         reworkQuantityCannotBeEmptyOr0:'杩斿伐鏁伴噺涓嶈兘涓虹┖鎴栬�呮槸0',
-
         storageTime:'鍏ュ簱鏃堕棿',
         outboundTime:'鍑哄簱鏃堕棿',
         modificationTime:'淇敼鏃堕棿',
@@ -539,13 +537,26 @@
         reviewed:'瀹℃牳浜�',
         documentStatus:'鍗曟嵁鐘舵��',
         status:'鐘舵��',
-
         totalNumberOfOrders :'璁㈠崟鎬绘暟',
         quantityAlreadyInStock:'宸插叆鏁伴噺',
         totalArea:'鎬婚潰绉�',
         singlePieceArea:'鍗曠墖闈㈢Н',
         perimeter:'鍛ㄩ暱',
         returnToWarehouse:'鎾ら攢',
+
+        entryFailure:'鍏ュ簱澶辫触',
+        entry:'鍏ュ簱',
+        failedToRetrieve:'棰嗗嚭澶辫触',
+        deliveryFailed:'鍙戣揣澶辫触',
+        reworkFailed:'杩斿伐澶辫触',
+        transferFailed:'璋冩嫧澶辫触',
+        approved:'宸插鏍�',
+        notPassed:'鏈�氳繃',
+        cancellationFailed:'鍙嶄綔搴熷け璐�',
+        voidFailed:'浣滃簾澶辫触',
+        staterOperationOrderNumber:'璋冩嫧閿�鍞崟鍙�',
+        endOperationOrderNumber:'璋冩嫧搴忓彿',
+        typeClaim:'棰嗗嚭绫诲瀷',
 
 
     },
@@ -580,7 +591,6 @@
         unpaidQuantity:"鏈彂鏁伴噺 ",
         availableStock:'鍙敤搴撳瓨',
         deliveryQuantity:'鍙戣揣鏁伴噺',
-
         pleaseEnterTheAmountOfFunds:'璇疯緭鍏ラ」鐩悕绉�',
         pleaseSelectPaymentTerms:"璇烽�夋嫨浠樻鏉′欢 ",
         pleaseEnterThePaymentMethod:"璇疯緭鍏ユ敹娆炬柟寮� ",
@@ -589,7 +599,6 @@
         pleaseEnterANumericalValueGreaterThanOrEqualTo0:'璇疯緭鍏ュぇ浜庣瓑浜�0鐨勬暟鍊�',
         theShipmentQuantityCannotBeGreaterThanTheInventoryQuantity:"鍙戣揣鏁伴噺涓嶈兘澶т簬搴撳瓨鏁� ",
         theShipmentQuantityCannotBeEmptyOr0:"鍙戣揣鏁伴噺涓嶈兘涓虹┖鎴栬�呮槸0 ",
-
         paymentTerms:'浠樻鏉′欢',
         paymentDate:"鏀舵鏃ユ湡 ",
         selectDate:'閫夋嫨鏃ユ湡',
@@ -615,7 +624,6 @@
         addPatches:"琛ョ墖鏂板 ",
         printPatches:'琛ョ墖鎵撳嵃',
         patchNumber:'琛ョ墖鍗曞彿',
-
         mark:'鏍囪',
         sliceMarking:'鐗囨爣璁�',
 
@@ -630,12 +638,11 @@
         reworkProcess:'杩斿伐宸ュ簭',
         reworkType:'杩斿伐绫诲瀷',
         reworkArea:'杩斿伐闈㈢Н',
-
         PleaseSelectAReworkTeam:'璇烽�夋嫨杩斿伐鐝粍',
         TheReworkQuantityCannotBeGreaterThanTheSecondBreakQuantity:'杩斿伐鏁伴噺涓嶈兘澶т簬娆$牬鏁伴噺',
         reworkQuantityCannotBeEmptyOr0:'杩斿伐鏁伴噺涓嶈兘涓虹┖鎴栬�呮槸0',
-
     },
+
 
     role:{
         id:'ID',
@@ -647,15 +654,11 @@
         permission:'鏉冮檺',
         rolePermissions:'瑙掕壊鏉冮檺',
         permissionSelection:"鏉冮檺閫夋嫨 ",
-
-
         ConfirmModifyingRolePermissions:'纭淇敼瑙掕壊鏉冮檺?',
         PleaseEnterANewRole:'璇疯緭鍏ユ柊瑙掕壊',
         AddANewRole:'鏂板瑙掕壊',
         CannotBeEmptyAndTheLengthCannotExceed255:'涓嶈兘涓虹┖涓旈暱搴︿笉鑳借秴杩�255',
-
     },
-
     user:{
         userId:'鐢ㄦ埛ID',
         userHomepage:'鐢ㄦ埛棣栭〉',
@@ -665,17 +668,13 @@
         OldPassword:'鏃у瘑鐮�',
         TheNewPassword:'鏂板瘑鐮�',
         ConfirmPassword:'纭瀵嗙爜',
-
         OldPasswordCannotBeEmpty:'鏃у瘑鐮佷笉鑳戒负绌�',
         TheNewPasswordCannotBeEmpty:'鏂板瘑鐮佷笉鑳戒负绌�',
         ThePasswordLengthCannotBeLessThan6OrMoreThan16:'瀵嗙爜闀垮害涓嶈兘浣庝簬6鎴栬秴杩�16',
         ConfirmPasswordCannotBeEmpty:'纭瀵嗙爜涓嶈兘涓虹┖',
         TheTwoPasswordsAreNotTheSame:'涓ゆ瀵嗙爜涓嶇浉鍚�',
         OldPasswordError:'鏃у瘑鐮侀敊璇�',
-
-
     },
-
     orderBasicData:{
         order:'璁㈠崟',
         orderType:'璁㈠崟绫诲瀷',
@@ -701,16 +700,13 @@
         paymentTerms:'浠樻鏉′欢',
         payMethod:'鏀舵鏂瑰紡',
         delivery:'閫佽揣',
-
         basicType:'鍩虹绫诲瀷',
         name:'鍚嶇О',
         glassCategory:'鐜荤拑绫诲埆',
         level:'绫诲埆绛夌骇',
         firstLevel:'涓�绾х被鍒�',
         towLevel:'浜岀骇绫诲埆',
-
     },
-
     machine:{
         basicId:'璁惧缂栧彿',
         basicName:'璁惧鍚嶇О',
@@ -725,7 +721,6 @@
         process:'鎵�鍦ㄥ伐搴�',
         personnel:'缁翠慨/淇濆吇浜哄憳',
         cost:'璐圭敤',
-
         equipmentSituation:'璁惧鎯呭喌',
         equipmentAddition:'璁惧鏂板',
         maintenanceAndRepair:'淇濆吇涓庣淮淇�',
@@ -733,18 +728,134 @@
         maintenanceAndRepairEdit:'淇濆吇涓庣淮淇紪杈�',
         service:'缁翠慨',
         maintain:'淇濆吇',
-
         faultCount:'缁翠慨娆℃暟',
         maintenanceCount:'淇濆吇娆℃暟',
         faultLastTime:'鏈�鍚庣淮淇椂闂�',
         maintenanceLastTime:'鏈�鍚庝繚鍏绘椂闂�',
         faultCost:'缁翠慨璐圭敤',
         maintenanceCost:'淇濆吇璐圭敤',
-
-
+        deviceEditing:'璁惧缂栬緫',
+        standardName:'鏍囧噯鍚嶇О',
+        purchaseTime:'璐拱鏃堕棿',
+        installationTime:'瀹夎鏃堕棿',
+        maintenanceCycle:'淇濆吇鍛ㄦ湡',
+        cutting:'鍒囧壊',
+        edgeGrinding:'纾ㄨ竟',
+        tempering:'閽㈠寲',
+    },
+    report:{
+        productionReport:'鐢熶骇鎶ヨ〃',
+        workInProgressReport:'鍦ㄥ埗鍝佹姤琛�',
+        processToBeCompleted:'宸ュ簭寰呭畬鎴愭姤琛�',
+        productionAndShippingProgress:'鐢熶骇鍙戣揣杩涘害鎶ヨ〃',
+        processCardProgress:'娴佺▼鍗¤繘搴︽姤琛�',
+        orderPlanDecomposition:'璁㈠崟璁″垝鍒嗚В鎶ヨ〃',
+        secondaryBrokenReport:'娆$牬鎶ヨ〃',
+        crossProcessBreakdown:'璺ㄥ伐搴忔鐮存姤琛�',
+        teamOutput:'鐝粍浜ч噺鎶ヨ〃',
+        splittingDetails:'鍒嗘灦鏄庣粏鎶ヨ〃',
+        TaskCompletionStatus:'浠诲姟瀹屾垚鎯呭喌鎶ヨ〃',
+        rawMaterialRequisition:'鍘熺墖棰嗘枡鎶ヨ〃',
+        qualityReport:'鍝佽川鎶ヨ〃',
+        yieldReport:'鎴愬搧鐜囨姤琛�',
+        workingProcedure:'宸ュ簭',
+        inventoryArea:'搴撳瓨闈㈢Н',
+        pleaseSelectADateFirst:'璇峰厛閫夋嫨鏃ユ湡',
+        pleaseSelectAProcessFirst:'璇峰厛閫夋嫨宸ュ簭',
+        theFilteringTimeForExportCannotExceed180Days:'瀵煎嚭鐨勭瓫閫夋椂闂翠笉鑳借秴杩�180澶�',
+        orderTime :'涓嬪崟鏃堕棿',
+        deliveryDate:'浜よ揣鏃ユ湡',
+        completedQuantity:'宸插畬鎴愭暟閲�',
+        completedArea:'宸插畬鎴愰潰绉�',
+        unfinishedQuantity :'鏈畬鎴愭暟閲�',
+        unfinishedArea:'鏈畬鎴愰潰绉�',
+        inventoryNum:'鍏ュ簱鏁伴噺',
+        shippedQuantity :'鍙戣揣鏁伴噺',
+        area:'鍙戣揣闈㈢Н',
+        noDataFoundForThisOrder:'鏈煡璇㈠埌姝よ鍗曟暟鎹�',
+        startTime:'鍒囧壊寮�濮嬫椂闂�',
+        daysDifference :'鐢熶骇澶╂暟',
+        accomplish:'鏄惁娓呭崟',
+        receivedNo:'鏈叆搴撴暟閲�',
+        projectNo :'宸ョ▼缂栧彿',
+        quantityClaimed :'宸查鏁伴噺',
+        areaClaimed :'宸查闈㈢Н',
+        dateClaimed :'棰嗗嚭鏃ユ湡',
+        quantityMax :'鎶曞叆鏁伴噺',
+        patchNum :'琛ョ墖鏁伴噺',
+        finished :'鎴愬搧鐜�',
+        finishedProductReport :'鎴愬搧鎶ヨ〃',
+    },
+    productionBasicData:{
+        basicDataQuery :'鍩虹鏁版嵁鏌ヨ',
+        newTypeOfSecondaryDamageAdded :'娆$牬绫诲瀷鏂板',
+        reasonForSecondaryFailureAdded :'娆$牬鍘熷洜鏂板',
+        teamAdditionAndAddition :'鐝粍鏂板鏂板',
+        id:'id',
+        basicName:'绫诲埆',
+        basicDataEdit:'鍩虹鏁版嵁淇敼',
+        teamName:'鐝粍鍚嶇О',
+        processInvolved:'鎵�鍦ㄥ伐搴�',
+    },
+    mainIngredient:{
+        materialInformation :'鐗╂枡璧勬枡',
+        materialAddition :'鐗╂枡鏂板',
+        originalFilm :'鍘熺墖',
+        accessories :'杈呮枡',
+        materialCode :'鐗╂枡缂栫爜',
+        pleaseSelectACategory :'璇烽�夋嫨绫诲埆',
+        films :'鑶滅郴',
+        pleaseEnterData :'璇疯緭鍏ユ暟鎹�',
+        pleaseEnter :'璇疯緭鍏�',
+    },
+    mainIngredientStock:{
+        materialName :'鐗╂枡鍚嶇О',
+        producer :'浜у湴',
+        dateOfManufacture :'鐢熶骇鏃ユ湡',
+        selectIngredientsStock :'鐗╂枡搴撳瓨',
+        materialOutbound :'鐗╂枡鍑哄簱',
+        returnToStorage :'杩斿簱',
+        inventory :'搴撳瓨',
+        engineering :'宸ョ▼',
+        inventoryOrganization :'搴撳瓨缁勭粐',
+        id :'搴撳瓨缂栧彿',
+        projectNo :'宸ョ▼鍙�',
+        planQuantity :'璁″垝鏁伴噺',
+        qualityGuaranteePeriod :'淇濊川鏈�',
+        pleaseSelectInventoryOrganization :'璇烽�夋嫨搴撳瓨缁勭粐',
+        pleaseEnterTheQuantity :'璇疯緭鍏ユ暟閲�',
+        pleaseDateOfManufacture :'璇烽�夋嫨鐢熶骇鏃ユ湡',
+        materialOutboundId :'鍑哄簱鍗曞彿',
+        materialRequisitionPersonnel :'棰嗘枡鍛�',
+        materialRequisitionTeam :'棰嗘枡鐝粍',
+        outboundType :'鍑哄簱绫诲瀷',
+        warehouseManager :'浠撶鍛�',
+        materialRequisitionDate :'棰嗘枡鏃ユ湡',
+        reviewed :'瀹℃牳鍛�',
+        reviewedTime :'瀹℃牳鏃堕棿',
+        outboundQuantity :'鍑哄簱鏁伴噺',
+        materialOutboundType :'鏉愭枡鍑哄簱绫诲瀷',
+        pleaseOutboundType :'璇烽�夋嫨鍑哄簱绫诲瀷',
+        pleaseMaterialRequisitionPersonnel :'璇疯緭鍏ラ鏂欏憳',
+        pleaseMaterialRequisitionTeam :'璇疯緭鍏ラ鏂欑彮缁�',
+        pleaseOrderId :'璇疯緭鍏ラ攢鍞崟鍙�',
+        theOutboundQuantityCannotBeGreaterThanTheAvailableQuantity :'鍑哄簱鏁伴噺涓嶈兘澶т簬鍙敤鏁伴噺',
+        theOutboundQuantityCannotBeEmptyOrEqualTo0 :'鍑哄簱鏁伴噺涓嶈兘涓虹┖鎴栬�呮槸绛変簬0',
+        theReturnQuantityCannotBeEmptyOrEqualTo0 :'杩斿簱鏁伴噺涓嶈兘涓虹┖鎴栬�呮槸绛変簬0',
+        returningId :'杩斿簱鍗曞彿',
+        returningType :'杩斿簱绫诲瀷',
+        returningAdd :'杩斿簱鏂板',
+        returnQuantity :'杩斿簱鏁伴噺',
+        materialReturnType :'鏉愭枡杩斿簱绫诲瀷',
+        createTime :'杩斿簱鏃ユ湡',
+    },
+    mainBasicData:{
+        BasicData :'鍩虹鏁版嵁',
+        operateTypeName :'鍚嶇О',
+        operateType :'鍒О',
+        type :'绫诲瀷',
+        takeOut :'棰嗗嚭',
     }
 
-
-
-
+    
 }
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseBasicData.vue b/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseBasicData.vue
index f17d5aa..081a1a0 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseBasicData.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseBasicData.vue
@@ -20,7 +20,7 @@
   <div id="main-div">
     <div id="div-title">
       <el-breadcrumb :separator-icon="ArrowRight">
-        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/warehouseBasicData/warehouseSearchBasicData' }">鍩虹鏁版嵁</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/warehouseBasicData/warehouseSearchBasicData' }">{{$t('mainBasicData.BasicData')}}</el-breadcrumb-item>
         <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">{{$t('productStock.reportForms')}}</el-breadcrumb-item>
       </el-breadcrumb>
     </div>
diff --git a/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseCreateBasicData.vue b/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseCreateBasicData.vue
index e1e6e99..947d2dc 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseCreateBasicData.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseCreateBasicData.vue
@@ -15,16 +15,16 @@
   input:''
 })
 let options=ref([
-  { label: "搴撳瓨缁勭粐",
+  { label: t('mainIngredientStock.inventoryOrganization'),
     value: "inventoryOrganization",
   },
-  { label: "棰嗗嚭",
+  { label: t('mainBasicData.takeOut'),
     value: "takeOut",
   },
-  { label: "鏉愭枡鍑哄簱绫诲瀷",
+  { label: t('mainIngredientStock.materialOutboundType'),
     value: "outboundType",
   },
-  { label: "鏉愭枡杩斿簱绫诲瀷",
+  { label: t('mainIngredientStock.materialReturnType'),
     value: "returningType",
   },
 ])
@@ -46,27 +46,27 @@
 const emit =  defineEmits(['gaveParent'])
 const saveBasicData =  () =>{
   if (basic.value.operateType[0]==='inventoryOrganization'){
-    basic.value.type='搴撳瓨缁勭粐'
+    basic.value.type=t('mainIngredientStock.inventoryOrganization')
   }
   else if(basic.value.operateType[0]==='takeOut'){
-    basic.value.type='棰嗗嚭'
+    basic.value.type=t('mainBasicData.takeOut')
   }
   else if(basic.value.operateType[0]==='outboundType'){
-    basic.value.type='鏉愭枡鍑哄簱绫诲瀷'
+    basic.value.type=t('mainIngredientStock.materialOutboundType')
   }
   else if(basic.value.operateType[0]==='returningType'){
-    basic.value.type='鏉愭枡杩斿簱绫诲瀷'
+    basic.value.type=t('mainIngredientStock.materialReturnType')
   }
   if(basic.value.operateType[0]==='' || basic.value.input===''){
     return
   }
   request.post(`/BasicWarehouse/addBasicWarehouse`, basic.value).then(res => {
     if (res.data) {
-      ElMessage.success('淇濆瓨鎴愬姛')
+      ElMessage.success(t('basicData.msg.saveSuccess'))
       emit('gaveParent', true)
     }
   }).catch((err)=>{
-    ElMessage.error('绯荤粺閿欒')
+    ElMessage.error(t('basicData.msg.ServerConnectionError'))
     router.push("/login")
   })
 }
@@ -76,15 +76,15 @@
   submitArr.type = basic.value.type
   submitArr.operateTypeName = basic.value.input
   if(basic.value.input===''){
-    ElMessage.warning('璇疯緭鍏ユ暟鎹�')
+    ElMessage.warning(t('mainIngredient.pleaseEnterData'))
   }else{
     request.post(`/BasicWarehouse/updateBasicWarehouse`, submitArr).then(res => {
       if (res.data) {
-        ElMessage.success('淇敼鎴愬姛')
+        ElMessage.success(t('basicData.msg.saveSuccess'))
         emit('gaveParent', true)
       }
     }).catch((err)=>{
-      ElMessage.error('绯荤粺閿欒')
+      ElMessage.error(t('basicData.msg.ServerConnectionError'))
       router.push("/login")
     })
   }
@@ -103,7 +103,7 @@
 <template>
   <div>
     <el-row>
-      <el-col :span="4">鍩虹绫诲瀷:</el-col>
+      <el-col :span="4">{{$t('orderBasicData.basicType')}}:</el-col>
       <el-col :span="12">
         <el-cascader
             v-model="basic.operateType"
@@ -115,7 +115,7 @@
       </el-col>
     </el-row>
     <el-row>
-      <el-col :span="4">鍚嶇О:</el-col>
+      <el-col :span="4">{{$t('orderBasicData.name')}}:</el-col>
       <el-col :span="12">
         <el-input v-model="basic.input"/>
       </el-col>
@@ -123,8 +123,8 @@
     <el-row>
       <el-col :span="4"></el-col>
       <el-col :span="12">
-        <el-button v-show="!props.rowIndex" @click="saveBasicData" type="primary">鏂板</el-button>
-        <el-button v-show="props.rowIndex" @click="updateBasicData" type="primary">淇敼</el-button>
+        <el-button v-show="!props.rowIndex" @click="saveBasicData" type="primary">{{$t('basicData.insert')}}</el-button>
+        <el-button v-show="props.rowIndex" @click="updateBasicData" type="primary">{{$t('basicData.update')}}</el-button>
 
       </el-col>
     </el-row>
diff --git a/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseSearchBasicData.vue b/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseSearchBasicData.vue
index 5105d1f..e2de328 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseSearchBasicData.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseSearchBasicData.vue
@@ -45,11 +45,11 @@
   //琛ㄥご鍙傛暟
   columns:[
     {title: t('basicData.operate'), width: 110, slots: { default: 'button_slot' },fixed:"left",},
-    {type: 'seq', title: '搴忓彿', width: 80 ,fixed:"left",},
-    {field:'operateTypeName',title: '鍚嶇О'},
-    {field:'operateType',title: '鍒О'},
-    {field:'type',title: '绫诲瀷'},
-    {field:'createTime',title: '鍒涘缓鏃ユ湡'},
+    {type: 'seq', title: t('basicData.Number'), width: 80 ,fixed:"left",},
+    {field:'operateTypeName',title: t('mainBasicData.operateTypeName')},
+    {field:'operateType',title: t('mainBasicData.operateType')},
+    {field:'type',title: t('mainBasicData.type')},
+    {field:'createTime',title: t('basicData.creationTime')},
 
 
   ],
@@ -57,7 +57,7 @@
   //琛ㄥご鎸夐挳
   toolbarConfig: {
     buttons: [
-      {'code': 'add', 'name': '鏂板',status: 'primary'},
+      {'code': 'add', 'name': t('basicData.insert'),status: 'primary'},
     ],
 
     // import: false,
@@ -144,7 +144,7 @@
           ElMessage.warning(t('searchOrder.msgDeleteFail'))
         }
       }).catch((err)=>{
-        ElMessage.error('绯荤粺閿欒')
+        ElMessage.error(t('basicData.msg.ServerConnectionError'))
         router.push("/login")
       })
       break
@@ -169,7 +169,7 @@
         <el-button @click="getTableRow(row,'edit')"
                    v-if="userStore.user.permissions.indexOf('warehouseSearchBasicData.edit') > -1"
                    link type="primary" size="small">{{ $t('basicData.edit') }}</el-button>
-        <el-popconfirm @confirm="getTableRow(row,'delete')" title="纭畾鍒犻櫎鏁版嵁锛�">
+        <el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
           <template #reference>
             <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
           </template>
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue
index 05de4d6..d64220b 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue
@@ -9,19 +9,20 @@
 import  useUserInfo from "@/stores/userInfo"
 import GlassType from "@/components/sd/product/GlassType.vue"
 import useProductGlassTypeStore from "@/stores/sd/product/productGlassType"
+import {useI18n} from "vue-i18n";
 
-
+const { t } = useI18n()
 const router = useRouter()
 const route = useRoute()
 const value = ref('')
 const options = [
   {
-    value: '鍘熺墖',
-    label: '鍘熺墖'
+    value: t('mainIngredient.originalFilm'),
+    label: t('mainIngredient.originalFilm')
   },
   {
-    value: '杈呮枡',
-    label: '杈呮枡',
+    value: t('mainIngredient.accessories'),
+    label: t('mainIngredient.accessories'),
   }
 ]
 
@@ -85,7 +86,7 @@
     filterData[item.OperateType]=item.Type
     const customerName = item.Type
     if(customerName === null || customerName === undefined || customerName === ''){
-      ElMessage.error('璇疯緭鍏�'+item.OperateTypeName)
+      ElMessage.error(t('mainIngredient.pleaseEnter')+item.OperateTypeName)
       isBool=false
       return
     }
@@ -100,7 +101,7 @@
 
   let materialStore
 
-  if(value.value==='鍘熺墖'){
+  if(value.value===t('mainIngredient.originalFilm')){
      materialStore={
       id:ruleForm.value.id,
       type:value.value,
@@ -108,7 +109,7 @@
       width:BasicData.value[0].Type,
       height:BasicData.value[1].Type
     }
-  }else if(value.value==='杈呮枡'){
+  }else if(value.value===t('mainIngredient.accessories')){
      materialStore={
       id:ruleForm.value.id,
       type:value.value,
@@ -121,12 +122,12 @@
     request.post("/MaterialStore/saveMaterialStore", materialStore).then((res) => {
       if(res.code==200 && res.data===true){
         resetForm()
-        ElMessage.success('淇濆瓨鎴愬姛')
+        ElMessage.success(t('basicData.msg.saveSuccess'))
       }else{
-        ElMessage.warning("淇濆瓨澶辫触")
+        ElMessage.warning(t('basicData.msg.saveFail'))
       }
     }).catch((err)=>{
-      ElMessage.error('绯荤粺閿欒')
+      ElMessage.error(t('basicData.msg.ServerConnectionError'))
       router.push("/login")
     })
   }
@@ -168,7 +169,7 @@
 <div>
   <el-row>
   <el-col :span="4">
-    <el-select v-model="value" placeholder="璇烽�夋嫨绫诲埆" @change="getWork">
+    <el-select v-model="value" :placeholder="$t('mainIngredient.pleaseSelectACategory')" @change="getWork">
       <el-option
           v-for="item in options"
           :key="item.value"
@@ -186,7 +187,7 @@
              v-for="item in BasicData" >
        <el-col :span="4.5" >
          {{item.OperateTypeName}}锛�
-         <el-select filterable v-if="item.OperateTypeName=='鑶滅郴'" v-model="item.Type"  placeholder="璇疯緭鍏ユ暟鎹�" style="width: 150px; height: 30px;" >
+         <el-select filterable v-if="item.OperateTypeName==$t('mainIngredient.films')" v-model="item.Type"  :placeholder="$t('mainIngredient.pleaseEnterData')" style="width: 150px; height: 30px;" >
            <el-option
                v-for="item in titleSelectJson"
                :key="item.id"
@@ -194,7 +195,7 @@
                :value="item.basicName"
            />
          </el-select>
-         <el-input v-else v-model="item.Type"  placeholder="璇疯緭鍏ユ暟鎹�" style="width: 150px; height: 30px;" />
+         <el-input v-else v-model="item.Type"  :placeholder="$t('mainIngredient.pleaseEnterData')" style="width: 150px; height: 30px;" />
 
        </el-col>
 
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/Ingredients.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/Ingredients.vue
index 1eb5c7b..c0310c6 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/Ingredients.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/Ingredients.vue
@@ -26,9 +26,9 @@
   <div id="main">
     <div id="div-title">
       <el-breadcrumb :separator-icon="ArrowRight">
-        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/ingredients/SelectIngredients' }">鐗╂枡璧勬枡</el-breadcrumb-item>
-        <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/ingredients/CreateIngredients' }">鐗╂枡鏂板</el-breadcrumb-item>
-        <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">鎶ヨ〃</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/ingredients/SelectIngredients' }">{{$t('mainIngredient.materialInformation')}}</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/ingredients/CreateIngredients' }">{{$t('mainIngredient.materialAddition')}}</el-breadcrumb-item>
+        <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">{{$t('mainIngredient.materialAddition')}}</el-breadcrumb-item>
       </el-breadcrumb>
 
     </div>
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue
index c583487..d6b4359 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue
@@ -27,14 +27,14 @@
       })
       request.post("/MaterialStore/deleteMaterialStore",flowData.value).then((res) => {
         if(res.code==200 && res.data===true){
-          ElMessage.success("鍒犻櫎鎴愬姛")
+          ElMessage.success(t('basicData.msg.deleteSuccess'))
           router.push({path:'/main/ingredients/SelectIngredients',query:{random:Math.random()}})
         }else{
-          ElMessage.warning("鍒犻櫎澶辫触")
+          ElMessage.warning(t('basicData.msg.deleteFail'))
           router.push("/login")
         }
       }).catch((err)=>{
-        ElMessage.error('绯荤粺閿欒')
+        ElMessage.error(t('basicData.msg.ServerConnectionError'))
         router.push("/login")
       })
       return
@@ -45,12 +45,12 @@
 const value = ref('')
 const options = [
   {
-    value: '鍘熺墖',
-    label: '鍘熺墖'
+    value: t('mainIngredient.originalFilm'),
+    label: t('mainIngredient.originalFilm')
   },
   {
-    value: '杈呮枡',
-    label: '杈呮枡',
+    value: t('mainIngredient.accessories'),
+    label: t('mainIngredient.accessories'),
   }
 ]
 
@@ -87,14 +87,14 @@
 
 let arr = [
   {type:'expand',fixed:'left',slots: { content:'content' },width: '60'},
-  {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:'left'},
-  { type: 'seq',fixed:'left', title: '鑷簭', width: '80' },
-  {field: 'id', width: '150',title: '鐗╂枡缂栫爜', sortable: true,showOverflow:'ellipsis' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}
+  {title: t('basicData.operate'), width: '110', slots: { default: 'button_slot' },fixed:'left'},
+  { type: 'seq',fixed:'left', title: t('basicData.Number'), width: '80' },
+  {field: 'id', width: '150',title: t('mainIngredient.materialCode'), sortable: true,showOverflow:'ellipsis' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}
 ]
 
 //绗竴娆″姞杞介粯璁�
-value.value='鍘熺墖'
-filterData.value.type='鍘熺墖'
+value.value=t('mainIngredient.originalFilm')
+filterData.value.type=t('mainIngredient.originalFilm')
 request.get(`/BasicWarehouse/BasicWarehouseType/${value.value}`).then((res) => {
   if(res.code==200){
     gridOptions.columns.splice(0,gridOptions.columns.length)
@@ -276,7 +276,7 @@
     return[
       columns.map((column, columnIndex) => {
         if (columnIndex === 0) {
-          return '鍚堣:'
+          return t('basicData.total')
         }
 
         return ''
@@ -297,7 +297,7 @@
     <div>
       <el-row>
         <el-col :span="4">
-          <el-select v-model="value" placeholder="璇烽�夋嫨绫诲埆" @change="getWork">
+          <el-select v-model="value" :placeholder="$t('mainIngredient.pleaseSelectACategory')" @change="getWork">
             <el-option
                 v-for="item in options"
                 :key="item.value"
@@ -332,8 +332,8 @@
       <template #button_slot="{ row }">
         <el-button @click="getTableRow(row,'edit')"
                    v-if="userStore.user.permissions.indexOf('SelectIngredients.edit') > -1"
-                   link type="primary" size="small">缂栬緫</el-button>
-        <el-popconfirm @confirm="getTableRow(row,'delete')" title="纭畾鍒犻櫎?">
+                   link type="primary" size="small">{{ $t('basicData.edit') }}</el-button>
+        <el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
           <template #reference>
             <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
           </template>
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/CreateOutBound.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/CreateOutBound.vue
index 7416f4c..c92152c 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/CreateOutBound.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/CreateOutBound.vue
@@ -86,24 +86,24 @@
 
 let arr = [
   {type:'expand',fixed:"left",slots: { content:'content' },width: '60'},
-  {field: 'select',type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
-  { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
-  {field: 'inventoryOrganization', width:'150', title: '搴撳瓨缁勭粐', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged },
-  {field: 'materialCode', width: '150',title: '鐗╂枡缂栫爜', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'producer', width: '100',title: '浜у湴', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'projectNo', width: '100',title: '宸ョ▼鍙�', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'inventoryQuantity',width: '100', title: '搴撳瓨鏁伴噺', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'availableQuantity', width: '100',title: '鍙敤搴撳瓨', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'outboundQuantity', width:'150', title: '鍑哄簱鏁伴噺', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
-  {field: 'singlePieceArea', width: '100',title: '鍗曠墖闈㈢Н', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'dateOfManufacture',width: '100', title: '鐢熶骇鏃ユ湡', sortable: true},
-  {field: 'inventoryArea',width: '100', title: '搴撳瓨鍖哄煙', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'remarks',width: '80', title: '澶囨敞', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
+  {field: 'select',type: 'checkbox',fixed:"left", title: t('basicData.check'), width: '80' },
+  { type: 'seq',fixed:"left", title: t('basicData.Number'), width: '80' },
+  {field: 'inventoryOrganization', width:'150', title: t('mainIngredientStock.inventoryOrganization'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged },
+  {field: 'materialCode', width: '150',title: t('mainIngredient.materialCode'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'producer', width: '100',title: t('mainIngredientStock.producer'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'projectNo', width: '100',title: t('mainIngredientStock.projectNo'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'inventoryQuantity',width: '100', title: t('productStock.inventoryQuantity'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'availableQuantity', width: '100',title: t('productStock.availableQuantity'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'outboundQuantity', width:'150', title: t('mainIngredientStock.outboundQuantity'), sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
+  {field: 'singlePieceArea', width: '100',title: t('productStock.singlePieceArea'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'dateOfManufacture',width: '100', title: t('mainIngredientStock.dateOfManufacture'), sortable: true},
+  {field: 'inventoryArea',width: '100', title: t('productStock.inventoryArea'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'remarks',width: '80', title: t('basicData.remarks'), sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
 ]
 
 
 //椤甸潰绗竴娆″姞杞�
-request.get(`/BasicWarehouse/BasicWarehouseTypes/鏉愭枡鍑哄簱绫诲瀷`).then((res) => {
+request.get(`/BasicWarehouse/BasicWarehouseTypes/`+t('mainIngredientStock.materialOutboundType')).then((res) => {
 
   if(res.code==200){
 
@@ -121,7 +121,7 @@
 
 //鍒楁煡璇�
 const getWork = () => {
-  request.get(`/BasicWarehouse/BasicWarehouseType/鍘熺墖|杈呮枡`).then((res) => {
+  request.get(`/BasicWarehouse/BasicWarehouseType/`+t('mainIngredient.originalFilm')+'|'+t('mainIngredient.accessories')).then((res) => {
     if(res.code==200){
       gridOptions.columns=[]
       BasicData.value = res.data
@@ -157,7 +157,7 @@
   const type = route.query.type
   if (typeof id !== 'undefined' && id !== null && id !== '' && id !== '\n' && id !== '\r'){
 
-    if(type==='搴撳瓨'){
+    if(type===t('mainIngredientStock.inventory')){
       filterData.value.stockId=id
       number.value=id
       request.post("/MaterialInventory/getSelectMaterialInventory/1/100",filterData.value).then((res) => {
@@ -288,22 +288,22 @@
           //琛ㄥご鏁版嵁鏍¢獙
           const outboundType = titleUploadData.value.outboundType
           if(outboundType === null || outboundType === undefined || outboundType === ''){
-            ElMessage.error("璇烽�夋嫨鍑哄簱绫诲瀷")
+            ElMessage.error(t('mainIngredientStock.pleaseOutboundType'))
             return
           }
           const materialRequisitionPersonnel = titleUploadData.value.materialRequisitionPersonnel
           if(materialRequisitionPersonnel === null || materialRequisitionPersonnel === undefined || materialRequisitionPersonnel === ''){
-            ElMessage.error("璇疯緭鍏ラ鏂欏憳")
+            ElMessage.error(t('mainIngredientStock.pleaseMaterialRequisitionPersonnel'))
             return
           }
           const materialRequisitionTeam = titleUploadData.value.materialRequisitionTeam
           if(materialRequisitionTeam === null || materialRequisitionTeam === undefined || materialRequisitionTeam === ''){
-            ElMessage.error("璇疯緭鍏ラ鏂欑彮缁�")
+            ElMessage.error(t('mainIngredientStock.pleaseMaterialRequisitionTeam'))
             return
           }
           const orderId = titleUploadData.value.orderId
           if(orderId === null || orderId === undefined || orderId === ''){
-            ElMessage.error("璇疯緭鍏ラ攢鍞崟鍙�")
+            ElMessage.error(t('mainIngredientStock.pleaseOrderId'))
             return
           }
 
@@ -318,7 +318,7 @@
           })
           request.post("/MaterialInventory/saveMaterialOutbound", flowData.value).then((res) => {
             if(res.code==200){
-              ElMessage.success('淇濆瓨鎴愬姛')
+              ElMessage.success(t('basicData.msg.saveSuccess'))
               router.push({path: '/main/ingredientsStock/MaterialOutbound', query:{random:Math.random()}})
             }else{
               ElMessage.warning(res.msg)
@@ -339,11 +339,11 @@
               ElMessage.success(t('basicData.msg.ReviewSuccess'))
               router.push({path: '/main/ingredientsStock/MaterialOutbound', query:{random:Math.random()}})
             } else {
-              ElMessage.warning("瀹℃牳澶辫触")
+              ElMessage.warning(t('basicData.msg.reviewFail'))
               router.push("/login")
             }
           }).catch((err)=>{
-            ElMessage.error('绯荤粺閿欒')
+            ElMessage.error(t('basicData.msg.ServerConnectionError'))
             router.push("/login")
           })
           break
@@ -359,11 +359,11 @@
               ElMessage.success(t('basicData.msg.cancelReviewSuccess'))
               router.push({path: '/main/ingredientsStock/MaterialOutbound', query:{random:Math.random()}})
             } else {
-              ElMessage.warning("鍙嶅澶辫触")
+              ElMessage.warning(t('basicData.msg.cancelReviewFail'))
               router.push("/login")
             }
           }).catch((err)=>{
-            ElMessage.error('绯荤粺閿欒')
+            ElMessage.error(t('basicData.msg.ServerConnectionError'))
             router.push("/login")
           })
           break
@@ -481,9 +481,9 @@
   outboundQuantity: [{
     validator (e) {
       if (e.row.outboundQuantity > e.row.availableQuantity) {
-        return new Error("鍑哄簱鏁伴噺涓嶈兘澶т簬鍙敤鏁伴噺")
+        return new Error(t('mainIngredientStock.theOutboundQuantityCannotBeGreaterThanTheAvailableQuantity'))
       }else if (e.row.outboundQuantity ==="") {
-        return new Error("鍑哄簱鏁伴噺涓嶈兘涓虹┖鎴栬�呮槸绛変簬0")
+        return new Error(t('mainIngredientStock.theOutboundQuantityCannotBeEmptyOrEqualTo0'))
       }
       const regex = /^[1-9]\d*$/g
       if ( !regex.test(e.row.outboundQuantity) ) {
@@ -504,16 +504,16 @@
   <div class="main-div">
   <div class="order-primary" style="background-color: white">
     <el-row>
-      <el-col  :span="2"><el-text>棰嗘枡鏃ユ湡:</el-text></el-col>
+      <el-col  :span="2"><el-text>{{$t('mainIngredientStock.materialRequisitionDate')}}:</el-text></el-col>
       <el-col  :span="3"><el-input  v-model="titleUploadData.materialRequisitionDate" :readonly="true" ></el-input></el-col>
-      <el-col  :span="2"><el-text>棰嗘枡鍛�:</el-text></el-col>
+      <el-col  :span="2"><el-text>{{$t('mainIngredientStock.materialRequisitionPersonnel')}}:</el-text></el-col>
       <el-col  :span="3"><el-input v-model="titleUploadData.materialRequisitionPersonnel" /></el-col>
-      <el-col  :span="2"><el-text>棰嗘枡鐝粍:</el-text></el-col>
+      <el-col  :span="2"><el-text>{{$t('mainIngredientStock.materialRequisitionTeam')}}:</el-text></el-col>
       <el-col  :span="3"><el-input v-model="titleUploadData.materialRequisitionTeam" /></el-col>
 
     </el-row>
     <el-row>
-      <el-col  :span="2"><el-text>鍑哄簱绫诲瀷锛�</el-text></el-col>
+      <el-col  :span="2"><el-text>{{$t('mainIngredientStock.outboundType')}}锛�</el-text></el-col>
       <el-col  :span="3">
         <el-select v-model="titleUploadData.outboundType"  clearable placeholder=""  >
           <el-option
@@ -524,9 +524,9 @@
           />
         </el-select>
       </el-col>
-      <el-col  :span="2"><el-text>閿�鍞崟鍙�:</el-text></el-col>
+      <el-col  :span="2"><el-text>{{$t('order.orderId')}}:</el-text></el-col>
       <el-col  :span="3"><el-input v-model="titleUploadData.orderId" /></el-col>
-      <el-col  :span="2"><el-text>浠撶鍛�:</el-text></el-col>
+      <el-col  :span="2"><el-text>{{$t('mainIngredientStock.warehouseManager')}}:</el-text></el-col>
       <el-col  :span="3"><el-input v-model="titleUploadData.warehouseManager" :readonly="true" /></el-col>
 
     </el-row>
@@ -557,8 +557,8 @@
 
       <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
       <template #button_slot="{ row }">
-        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">缂栬緫</el-button>
-        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">鍒犻櫎</el-button>
+        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
+        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
       </template>
 
       <template #num1_filter="{ column, $panel }">
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/IngredientsStock.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/IngredientsStock.vue
index c0bf993..5a84a64 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/IngredientsStock.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/IngredientsStock.vue
@@ -26,12 +26,12 @@
   <div id="main">
     <div id="div-title">
       <el-breadcrumb :separator-icon="ArrowRight">
-        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/ingredientsStock/SelectIngredientsStock' }">鐗╂枡搴撳瓨</el-breadcrumb-item>
-        <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/ingredientsStock/MaterialOutbound' }">鐗╂枡鍑哄簱</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/ingredientsStock/SelectIngredientsStock' }">{{$t('mainIngredientStock.selectIngredientsStock')}}</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/ingredientsStock/MaterialOutbound' }">{{$t('mainIngredientStock.materialOutbound')}}</el-breadcrumb-item>
 <!--        <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/ingredientsStock/OriginalMonthlySettlement' }">鍘熺墖鏈堢粨</el-breadcrumb-item>
         <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/ingredientsStock/AccessoriesMonthlySettlement' }">杈呮枡鏈堢粨</el-breadcrumb-item>-->
-        <el-breadcrumb-item @click="changeRouter(5)" :class="indexFlag===5?'indexTag':''" :to="{ path: '/main/ingredientsStock/ReturnToStorage' }">杩斿簱</el-breadcrumb-item>
-        <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">鎶ヨ〃</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(5)" :class="indexFlag===5?'indexTag':''" :to="{ path: '/main/ingredientsStock/ReturnToStorage' }">{{$t('mainIngredientStock.returnToStorage')}}</el-breadcrumb-item>
+        <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">{{$t('mainIngredientStock.returnToStorage')}}</el-breadcrumb-item>
       </el-breadcrumb>
 
     </div>
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue
index d11b79c..4741bc1 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue
@@ -33,11 +33,11 @@
           ElMessage.success(t('searchOrder.msgDeleteSuccess'))
           router.push({path:'/main/ingredientsStock/MaterialOutbound', query:{random:Math.random()}})
         }else{
-          ElMessage.warning("鍒犻櫎澶辫触")
+          ElMessage.warning(t('basicData.msg.deleteSuccess'))
           router.push("/login")
         }
       }).catch((err)=>{
-        ElMessage.error('绯荤粺閿欒')
+        ElMessage.error(t('basicData.msg.ServerConnectionError'))
         router.push("/login")
       })
 
@@ -197,19 +197,19 @@
   },//琛ㄥご鍙傛暟
   columns:[
     {type:'expand',fixed:"left",slots: { content:'content' },width: '60'},
-    {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
-    { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
-    {field: 'reviewedState',title: '瀹℃牳', width: 50, slots: { default: 'state' },},
-    {field: 'materialOutboundId', width:'150', title: '鍑哄簱鍗曞彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'materialRequisitionPersonnel', width: '150',title: '棰嗘枡鍛�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'materialRequisitionTeam', width: '120',title: '棰嗘枡鐝粍', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'orderId', width:'150', title: '閿�鍞崟鍙�', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'outboundType', width: '100',title: '鍑哄簱绫诲瀷', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'warehouseManager',width: '100', title: '浠撶鍛�', sortable: true,showOverflow:"ellipsis",filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'materialRequisitionDate', width: '80',title: '棰嗘枡鏃ユ湡', sortable: true},
-    {field: 'reviewed',width: '100', title: '瀹℃牳鍛�', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'reviewedTime', width: '100',title: '瀹℃牳鏃堕棿', sortable: true},
-    {field: 'createTime',width: '100', title: '鍒涘缓鏃堕棿', sortable: true},
+    {title:  t('basicData.operate'), width: '110', slots: { default: 'button_slot' },fixed:"left"},
+    { type: 'seq',fixed:"left", title:  t('basicData.Number'), width: '80' },
+    {field: 'reviewedState',title: t('basicData.review'), width: 50, slots: { default: 'state' },},
+    {field: 'materialOutboundId', width:'150', title: t('mainIngredientStock.materialOutboundId'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'materialRequisitionPersonnel', width: '150',title: t('mainIngredientStock.materialRequisitionPersonnel'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'materialRequisitionTeam', width: '120',title: t('mainIngredientStock.materialRequisitionTeam'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'orderId', width:'150', title: t('order.orderId'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'outboundType', width: '100',title: t('mainIngredientStock.outboundType'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'warehouseManager',width: '100', title: t('mainIngredientStock.warehouseManager'), sortable: true,showOverflow:"ellipsis",filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'materialRequisitionDate', width: '80',title: t('mainIngredientStock.materialRequisitionDate'), sortable: true},
+    {field: 'reviewed',width: '100', title: t('mainIngredientStock.reviewed'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'reviewedTime', width: '100',title: t('mainIngredientStock.reviewedTime'), sortable: true},
+    {field: 'createTime',width: '100', title: t('basicData.creationTime'), sortable: true},
   ],//琛ㄥご鎸夐挳
   toolbarConfig: {
 
@@ -223,7 +223,7 @@
     return[
       columns.map((column, columnIndex) => {
         if (columnIndex === 0) {
-          return '鍚堣:'
+          return t('basicData.total')
         }
         // if (props.tableProp.footList.includes(column.field)) {
         //   return sumNum(data, column.field)
@@ -248,13 +248,13 @@
     <el-date-picker
         v-model="selectDate"
         type="daterange"
-        start-placeholder="寮�濮嬫椂闂�"
-        end-placeholder="缁撴潫鏃堕棿"
+        :start-placeholder="$t('basicData.startDate')"
+        :end-placeholder="$t('basicData.endDate')"
         format="YYYY-MM-DD"
         value-format="YYYY-MM-DD"
 
     />
-    <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
+    <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
 
     <vxe-grid
         max-height="100%"
@@ -279,7 +279,7 @@
       <template #button_slot="{ row }">
         <el-button @click="getTableRow(row,'edit')"
                    v-if="userStore.user.permissions.indexOf('MaterialOutbound.edit') > -1"
-                   link type="primary" size="small">缂栬緫</el-button>
+                   link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
 <!--        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">鍒犻櫎</el-button>-->
       </template>
 
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorage.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorage.vue
index a0f1eb8..278bd9d 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorage.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorage.vue
@@ -202,23 +202,23 @@
   columns:[
     {type:'expand',fixed:"left",slots: { content:'content' },width: '60'},
     {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
-    { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
-    {field: 'reviewedState',title: '瀹℃牳', width: 50, slots: { default: 'state' },},
-    {field: 'returningId', width:'150', title: '杩斿簱鍗曞彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'materialRequisitionPersonnel', width: '150',title: '棰嗘枡鍛�/渚涘簲鍟�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'materialRequisitionTeam', width: '120',title: '棰嗘枡鐝粍/渚涘簲鍟�', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'orderId', width:'150', title: '閿�鍞崟鍙�', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'project', width:'150', title: '椤圭洰鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'batch', width:'150', title: '鎵规', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'returningType', width: '100',title: '杩斿簱绫诲瀷', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'warehouseManager',width: '100', title: '浠撶鍛�', sortable: true,showOverflow:"ellipsis",filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'reviewed',width: '100', title: '瀹℃牳鍛�', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'reviewedTime', width: '100',title: '瀹℃牳鏃堕棿', sortable: true},
-    {field: 'createTime',width: '100', title: '鍒跺崟鏃ユ湡', sortable: true},
+    { type: 'seq',fixed:"left", title: t('basicData.Number'), width: '80' },
+    {field: 'reviewedState',title: t('basicData.review'), width: 50, slots: { default: 'state' },},
+    {field: 'returningId', width:'150', title: t('mainIngredientStock.returningId'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'materialRequisitionPersonnel', width: '150',title:  t('mainIngredientStock.materialRequisitionPersonnel'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'materialRequisitionTeam', width: '120',title:  t('mainIngredientStock.materialRequisitionTeam'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'orderId', width:'150', title: t('order.orderId'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'project', width:'150', title: t('order.project'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'batch', width:'150', title: t('order.batch'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'returningType', width: '100',title: t('mainIngredientStock.returningType'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'warehouseManager',width: '100', title: t('mainIngredientStock.warehouseManager'), sortable: true,showOverflow:"ellipsis",filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'reviewed',width: '100', title:t('mainIngredientStock.reviewed'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'reviewedTime', width: '100',title: t('mainIngredientStock.reviewedTime'), sortable: true},
+    {field: 'createTime',width: '100', title: t('basicData.creationTime'), sortable: true},
   ],//琛ㄥご鎸夐挳
   toolbarConfig: {
     buttons: [
-      {'code': 'add', 'name': '杩斿簱鏂板',status: 'primary'},
+      {'code': 'add', 'name': t('mainIngredientStock.returningAdd'),status: 'primary'},
     ],
     /*import: false,
     export: true,
@@ -230,7 +230,7 @@
     return[
       columns.map((column, columnIndex) => {
         if (columnIndex === 0) {
-          return '鍚堣:'
+          return t('basicData.total')
         }
         // if (props.tableProp.footList.includes(column.field)) {
         //   return sumNum(data, column.field)
@@ -251,13 +251,13 @@
     <el-date-picker
         v-model="selectDate"
         type="daterange"
-        start-placeholder="寮�濮嬫椂闂�"
-        end-placeholder="缁撴潫鏃堕棿"
+        :start-placeholder="$t('basicData.startDate')"
+        :end-placeholder="$t('basicData.endDate')"
         format="YYYY-MM-DD"
         value-format="YYYY-MM-DD"
 
     />
-    <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
+    <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
 
     <vxe-grid
         max-height="100%"
@@ -282,7 +282,7 @@
       <template #button_slot="{ row }">
         <el-button @click="getTableRow(row,'edit')"
                    v-if="userStore.user.permissions.indexOf('ReturnToStorage.edit') > -1"
-                   link type="primary" size="small">缂栬緫</el-button>
+                   link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
 <!--        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">鍒犻櫎</el-button>-->
       </template>
 
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorageCreate.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorageCreate.vue
index 131be01..e43ded8 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorageCreate.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorageCreate.vue
@@ -70,35 +70,35 @@
 const value = ref('')
 const options = [
   {
-    value: '鍘熺墖',
-    label: '鍘熺墖'
+    value: t('mainIngredient.originalFilm'),
+    label: t('mainIngredient.originalFilm')
   },
   {
-    value: '杈呮枡',
-    label: '杈呮枡',
+    value: t('mainIngredient.accessories'),
+    label: t('mainIngredient.accessories'),
   }
 ]
 
 let arr = [
-  {field: 'select',type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
-  { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
-  {field: 'returnQuantity', width:'150', title: '杩斿簱鏁伴噺', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
-  {field: 'dateOfManufacture', width:'150', title: '鐢熶骇鏃ユ湡', sortable: true,editRender: {name: 'input', attrs: {placeholder: '', type: 'date'}},},
+  {field: 'select',type: 'checkbox',fixed:"left", title: t('basicData.check'), width: '80' },
+  { type: 'seq',fixed:"left", title: t('basicData.Number'), width: '80' },
+  {field: 'returnQuantity', width:'150', title: t('mainIngredientStock.returnQuantity'), sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
+  {field: 'dateOfManufacture', width:'150', title: t('mainIngredientStock.dateOfManufacture'), sortable: true,editRender: {name: 'input', attrs: {placeholder: '', type: 'date'}},},
 
-  {field: 'inventoryOrganization', width:'150', title: '搴撳瓨缁勭粐', sortable: true,folding: true,slots: { edit: 'inventoryOrganization'},editRender: { name: '$select', attrs: { placeholder: '' } }},
-  {field: 'producer', width:'150', title: '浜у湴', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
-  {field: 'qualityGuaranteePeriod', width:'150', title: '淇濊川鏈�', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
-  {field: 'inventoryArea', width:'150', title: '搴撳瓨鍖哄煙',sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
+  {field: 'inventoryOrganization', width:'150', title: t('mainIngredientStock.inventoryOrganization'), sortable: true,folding: true,slots: { edit: 'inventoryOrganization'},editRender: { name: '$select', attrs: { placeholder: '' } }},
+  {field: 'producer', width:'150', title: t('mainIngredientStock.producer'), sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
+  {field: 'qualityGuaranteePeriod', width:'150', title: t('mainIngredientStock.qualityGuaranteePeriod'), sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
+  {field: 'inventoryArea', width:'150', title: t('productStock.inventoryArea'),sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
 
-  {field: 'remarks',width: '80', title: '澶囨敞', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
-  {field: 'id', width: '150',title: '鐗╂枡缂栫爜', sortable: true,showOverflow:'ellipsis' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}
+  {field: 'remarks',width: '80', title: t('basicData.remarks'), sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
+  {field: 'id', width: '150',title: t('mainIngredient.materialCode'), sortable: true,showOverflow:'ellipsis' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}
 ]
 
 
 
 
 //椤甸潰绗竴娆″姞杞�
-request.get(`/BasicWarehouse/BasicWarehouseTypes/搴撳瓨缁勭粐|鏉愭枡杩斿簱绫诲瀷`).then((res) => {
+request.get(`/BasicWarehouse/BasicWarehouseTypes/`+t('mainIngredientStock.inventoryOrganization')+'|'+t('mainIngredientStock.materialReturnType')).then((res) => {
 
   if(res.code==200){
     titleSelectJson.value=deepClone(res.data)
@@ -132,7 +132,7 @@
       if(res.code==200){
         titleUploadData.value=deepClone(res.data.returningWarehouse)
         //鏍规嵁瀹℃牳鐘舵�佹樉绀哄鏍告寜閽垨鑰呮槸鍙嶅鎸夐挳
-        value.value='鍘熺墖|杈呮枡'
+        value.value=t('mainIngredient.originalFilm')+'|'+t('mainIngredient.accessories')
         getStoreWork()
         if(titleUploadData.value.reviewedState!==0){
           gridOptions.toolbarConfig.buttons[1].disabled = true
@@ -179,7 +179,7 @@
         //鏄剧ず澶嶉�夋
         xGrid.value.showColumn("select")
 
-        value.value='鍘熺墖'
+        value.value=t('mainIngredient.originalFilm')
         getStoreWork()
 
         getStoreWorks()
@@ -198,7 +198,7 @@
 //搴撳瓨缁勭粐
 const getInventoryOrganization=()=>{
   //椤甸潰绗竴娆″姞杞�
-  request.get(`/BasicWarehouse/BasicWarehouseTypes/搴撳瓨缁勭粐|鏉愭枡杩斿簱绫诲瀷`).then((res) => {
+  request.get(`/BasicWarehouse/BasicWarehouseTypes//`+t('mainIngredientStock.inventoryOrganization')+'|'+t('mainIngredientStock.materialReturnType')).then((res) => {
 
     if(res.code==200){
       titleSelectJson.value=deepClone(res.data)
@@ -260,11 +260,11 @@
         materialStore.value[i].json=(JSON.parse(res.data.data[i].json))
 
       }
-      if(value.value==='鍘熺墖'){
+      if(value.value===t('mainIngredient.originalFilm')){
         materialStore.value.forEach(item => {
           item['inventoryOrganization'] = titleSelectJson.value["inventoryOrganization"][0].operateTypeName
         })
-      }else if(value.value==='杈呮枡'){
+      }else if(value.value===t('mainIngredient.accessories')){
         materialStore.value.forEach(item => {
           item['inventoryOrganization'] = titleSelectJson.value["inventoryOrganization"][1].operateTypeName
         })
@@ -308,27 +308,27 @@
           }
           const materialRequisitionPersonnel = titleUploadData.value.materialRequisitionPersonnel
           if(materialRequisitionPersonnel === null || materialRequisitionPersonnel === undefined || materialRequisitionPersonnel === ''){
-            ElMessage.error("璇疯緭鍏ラ鏂欏憳")
+            ElMessage.error(t('mainIngredientStock.materialRequisitionPersonnel'))
             return
           }
           const materialRequisitionTeam = titleUploadData.value.materialRequisitionTeam
           if(materialRequisitionTeam === null || materialRequisitionTeam === undefined || materialRequisitionTeam === ''){
-            ElMessage.error("璇疯緭鍏ラ鏂欑彮缁�")
+            ElMessage.error(t('mainIngredientStock.materialRequisitionTeam'))
             return
           }
           const orderId = titleUploadData.value.orderId
           if(orderId === null || orderId === undefined || orderId === ''){
-            ElMessage.error("璇疯緭鍏ラ攢鍞崟鍙�")
+            ElMessage.error(t('order.orderId'))
             return
           }
           const project = titleUploadData.value.project
           if(project === null || project === undefined || project === ''){
-            ElMessage.error("璇疯緭鍏ラ」鐩悕绉�")
+            ElMessage.error(t('order.project'))
             return
           }
           const batch = titleUploadData.value.batch
           if(batch === null || batch === undefined || batch === ''){
-            ElMessage.error("璇疯緭鍏ユ壒娆�")
+            ElMessage.error(t('order.batch'))
             return
           }
 
@@ -343,14 +343,14 @@
           })
           request.post("/MaterialInventory/saveReturningWarehouse", flowData.value).then((res) => {
             if(res.code==200 && res.data===true){
-              ElMessage.success('淇濆瓨鎴愬姛')
+              ElMessage.success(t('basicData.msg.saveSuccess'))
               router.push({path: '/main/ingredientsStock/ReturnToStorage', query:{random:Math.random()}})
             }else{
-              ElMessage.warning("淇濆瓨澶辫触")
+              ElMessage.warning(t('basicData.msg.saveFail'))
               router.push("/login")
             }
           }).catch((err)=>{
-            ElMessage.error('绯荤粺閿欒')
+            ElMessage.error(t('basicData.msg.ServerConnectionError'))
             router.push("/login")
           })
           break
@@ -367,11 +367,11 @@
               ElMessage.success(t('basicData.msg.ReviewSuccess'))
               router.push({path: '/main/ingredientsStock/ReturnToStorage', query:{random:Math.random()}})
             } else {
-              ElMessage.warning("瀹℃牳澶辫触")
+              ElMessage.warning(t('basicData.msg.reviewFail'))
               router.push("/login")
             }
           }).catch((err)=>{
-            ElMessage.error('绯荤粺閿欒')
+            ElMessage.error(t('basicData.msg.ServerConnectionError'))
             router.push("/login")
           })
           break
@@ -387,11 +387,11 @@
               ElMessage.success(t('basicData.msg.cancelReviewSuccess'))
               router.push({path: '/main/ingredientsStock/ReturnToStorage', query:{random:Math.random()}})
             } else {
-              ElMessage.warning("鍙嶅澶辫触")
+              ElMessage.warning(t('basicData.msg.cancelReviewFail'))
               router.push("/login")
             }
           }).catch((err)=>{
-            ElMessage.error('绯荤粺閿欒')
+            ElMessage.error(t('basicData.msg.ServerConnectionError'))
             router.push("/login")
           })
           break
@@ -487,7 +487,7 @@
     return[
       columns.map((column, columnIndex) => {
         if (columnIndex === 0) {
-          return '鍚堣:'
+          return t('basicData.total')
         }
         // if (props.tableProp.footList.includes(column.field)) {
         //   return sumNum(data, column.field)
@@ -504,7 +504,7 @@
   returnQuantity: [{
     validator (e) {
      if (e.row.returnQuantity ==="") {
-        return new Error("杩斿簱鏁伴噺涓嶈兘涓虹┖鎴栬�呮槸绛変簬0")
+        return new Error(t('mainIngredientStock.theReturnQuantityCannotBeEmptyOrEqualTo0'))
       }
       const regex = /^[1-9]\d*$/g
       if ( !regex.test(e.row.returnQuantity) ) {
@@ -524,17 +524,17 @@
 
     <div class="order-primary" style="background-color: white">
       <el-row>
-        <el-col  :span="2"><el-text>杩斿簱鏃ユ湡:</el-text></el-col>
+        <el-col  :span="2"><el-text>{{$t('mainIngredientStock.createTime')}}:</el-text></el-col>
         <el-col  :span="3"><el-input  v-model="titleUploadData.createTime" :readonly="true" ></el-input></el-col>
-        <el-col  :span="2"><el-text>棰嗘枡鍛�/渚涘簲鍟�:</el-text></el-col>
+        <el-col  :span="2"><el-text>{{$t('mainIngredientStock.materialRequisitionPersonnel')}}:</el-text></el-col>
         <el-col  :span="3"><el-input v-model="titleUploadData.materialRequisitionPersonnel" /></el-col>
-        <el-col  :span="2"><el-text>棰嗘枡鐝粍/渚涘簲鍟�:</el-text></el-col>
+        <el-col  :span="2"><el-text>{{$t('mainIngredientStock.materialRequisitionTeam')}}:</el-text></el-col>
         <el-col  :span="3"><el-input v-model="titleUploadData.materialRequisitionTeam" /></el-col>
-        <el-col  :span="2"><el-text>浠撶鍛�:</el-text></el-col>
+        <el-col  :span="2"><el-text>{{$t('mainIngredientStock.warehouseManager')}}:</el-text></el-col>
         <el-col  :span="3"><el-input v-model="titleUploadData.warehouseManager" :readonly="true" /></el-col>
       </el-row>
       <el-row>
-        <el-col  :span="2"><el-text>杩斿簱绫诲瀷锛�</el-text></el-col>
+        <el-col  :span="2"><el-text>{{$t('mainIngredientStock.returningType')}}锛�</el-text></el-col>
         <el-col  :span="3">
           <el-select v-model="titleUploadData.returningType"  clearable placeholder=""  >
             <el-option
@@ -545,11 +545,11 @@
             />
           </el-select>
         </el-col>
-        <el-col  :span="2"><el-text>閿�鍞崟鍙�:</el-text></el-col>
+        <el-col  :span="2"><el-text>{{$t('order.orderId')}}:</el-text></el-col>
         <el-col  :span="3"><el-input v-model="titleUploadData.orderId" /></el-col>
-        <el-col  :span="2"><el-text>椤圭洰鍚嶇О:</el-text></el-col>
+        <el-col  :span="2"><el-text>{{$t('order.project')}}:</el-text></el-col>
         <el-col  :span="3"><el-input v-model="titleUploadData.project" /></el-col>
-        <el-col  :span="2"><el-text>鎵规:</el-text></el-col>
+        <el-col  :span="2"><el-text>{{$t('order.batch')}}:</el-text></el-col>
         <el-col  :span="3"><el-input v-model="titleUploadData.batch" /></el-col>
 
 
@@ -557,7 +557,7 @@
 
 
       <el-row>
-        <el-select v-model="value" placeholder="璇烽�夋嫨绫诲埆" @change="getWork" style="margin-top: 10px;border: #181818 1px solid;">
+        <el-select v-model="value" :placeholder="$t('mainIngredient.pleaseSelectACategory')" @change="getWork" style="margin-top: 10px;border: #181818 1px solid;">
           <el-option
               v-for="item in options"
               :key="item.value"
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/SelectIngredientsStock.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/SelectIngredientsStock.vue
index 412c37a..01ff989 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/SelectIngredientsStock.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/SelectIngredientsStock.vue
@@ -62,12 +62,12 @@
 const values = ref('')
 const selectOptions = [
   {
-    value: '搴撳瓨',
-    label: '搴撳瓨'
+    value: t('mainIngredientStock.inventory'),
+    label: t('mainIngredientStock.inventory')
   },
   {
-    value: '宸ョ▼',
-    label: '宸ョ▼',
+    value: t('mainIngredientStock.engineering'),
+    label: t('mainIngredientStock.engineering'),
   }
 ]
 
@@ -78,31 +78,31 @@
 
 let arr = [
 
-  { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
-  { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
-  {field: 'inventoryOrganization', width:'150', title: '搴撳瓨缁勭粐', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged },
-  {field: 'materialCode', width: '150',title: '鐗╂枡缂栫爜', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'producer', width: '100',title: '浜у湴', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'id',width: '100', title: '搴撳瓨缂栧彿', sortable: true,showOverflow:"ellipsis",filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'projectNo',width: '100', title: '宸ョ▼鍙�', sortable: true,showOverflow:"ellipsis",filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  { type: 'checkbox',fixed:"left", title: t('basicData.check'), width: '80' },
+  { type: 'seq',fixed:"left", title: t('basicData.Number'), width: '80' },
+  {field: 'inventoryOrganization', width:'150', title: t('mainIngredientStock.inventoryOrganization'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged },
+  {field: 'materialCode', width: '150',title: t('mainIngredient.materialCode'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'producer', width: '100',title: t('mainIngredientStock.producer'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'id',width: '100', title: t('mainIngredientStock.id'), sortable: true,showOverflow:"ellipsis",filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'projectNo',width: '100', title: t('mainIngredientStock.projectNo'), sortable: true,showOverflow:"ellipsis",filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
   //{field: 'safetyStock', width: '100',title: '瀹夊叏搴撳瓨', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'inventoryQuantity',width: '100', title: '搴撳瓨鏁伴噺', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'availableQuantity', width: '100',title: '鍙敤搴撳瓨', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'planQuantity', width: '100',title: '璁″垝鏁伴噺', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'totalArea',width: '100', title: '鎬婚潰绉�', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'dateOfManufacture',width: '100', title: '鐢熶骇鏃ユ湡', sortable: true},
-  {field: 'qualityGuaranteePeriod',width: '100', title: '淇濊川鏈�', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'inventoryArea',width: '100', title: '搴撳瓨鍖哄煙', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'inventoryQuantity',width: '100', title: t('productStock.inventoryQuantity'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'availableQuantity', width: '100',title: t('productStock.availableQuantity'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'planQuantity', width: '100',title: t('mainIngredientStock.planQuantity'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'totalArea',width: '100', title: t('order.grossArea'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'dateOfManufacture',width: '100', title: t('mainIngredientStock.dateOfManufacture'), sortable: true},
+  {field: 'qualityGuaranteePeriod',width: '100', title: t('mainIngredientStock.qualityGuaranteePeriod'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'inventoryArea',width: '100', title: t('productStock.inventoryArea'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
   //{field: 'deadStock',width: '100', title: '绉帇搴撳瓨', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
-  {field: 'createTime',width: '100', title: '鍏ュ簱鏃堕棿', sortable: true},
-  {field: 'remarks',width: '80', title: '澶囨敞', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+  {field: 'createTime',width: '100', title: t('productStock.storageTime'), sortable: true},
+  {field: 'remarks',width: '80', title: t('basicData.remarks'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
 ]
 
 
 
 
 
-request.get(`/BasicWarehouse/BasicWarehouseType/鍘熺墖|杈呮枡`).then((res) => {
+request.get(`/BasicWarehouse/BasicWarehouseType/`+t('mainIngredient.originalFilm')+'|'+t('mainIngredient.accessories')).then((res) => {
   if(res.code==200){
     gridOptions.columns.splice(0,gridOptions.columns.length)
     BasicData.value = res.data
@@ -114,7 +114,7 @@
       gridOptions.columns.push(aa)
 
     }
-    values.value='搴撳瓨'
+    values.value=t('mainIngredientStock.inventory')
     getInventoryWorks()
 
   }else{
@@ -175,7 +175,7 @@
 }
 
 const selectInventoryWork = () => {
-  if(values.value==='搴撳瓨'){
+  if(values.value===t('mainIngredientStock.inventory')){
     getInventoryWorks()
   }else{
     getInventoryEngineeringWork()
@@ -213,7 +213,7 @@
 
 
 const selectOrderList = ()=>{
-  request.get(`/BasicWarehouse/BasicWarehouseType/鍘熺墖|杈呮枡`).then((res) => {
+  request.get(`/BasicWarehouse/BasicWarehouseType/`+t('mainIngredient.originalFilm')+'|'+t('mainIngredient.accessories')).then((res) => {
     if(res.code==200){
       gridOptions.columns.splice(0,gridOptions.columns.length)
       BasicData.value = res.data
@@ -226,7 +226,7 @@
         gridOptions.columns.push(aa)
 
       }
-      if(values.value==='搴撳瓨'){
+      if(values.value===t('mainIngredientStock.inventory')){
         getInventoryWorkPaging()
       }else{
         getInventoryEngineeringWork()
@@ -286,8 +286,8 @@
   ],//琛ㄥご鎸夐挳
   toolbarConfig: {
     buttons: [
-      {'code': 'out', 'name': '鐗╂枡鍑哄簱',status: 'primary'},
-      {'code': 'add', 'name': '鐗╂枡鏂板',status: 'primary'},
+      {'code': 'out', 'name': t('mainIngredientStock.materialOutbound'),status: 'primary'},
+      {'code': 'add', 'name': t('mainIngredient.materialAddition'),status: 'primary'},
     ],
     /*import: false,
     export: true,
@@ -299,7 +299,7 @@
     return[
       columns.map((column, columnIndex) => {
         if (columnIndex === 0) {
-          return '鍚堣:'
+          return t('basicData.total')
         }
         // if (props.tableProp.footList.includes(column.field)) {
         //   return sumNum(data, column.field)
@@ -327,7 +327,7 @@
           }
           let id = ""
           const array = [];
-          if (values.value==='搴撳瓨'){
+          if (values.value===t('mainIngredientStock.inventory')){
             for (let i = 0; i < selectRecords.length; i++) {
               array.push(selectRecords[i].id)
               if (i + 1 === selectRecords.length) {
@@ -359,8 +359,8 @@
           dialogTableVisible.value=true
           select()
           //绗竴娆″姞杞介粯璁�
-          value.value='鍘熺墖'
-          filterData.value.type='鍘熺墖'
+          value.value=t('mainIngredient.originalFilm')
+          filterData.value.type=t('mainIngredient.originalFilm')
           request.get(`/BasicWarehouse/BasicWarehouseType/${value.value}`).then((res) => {
             if(res.code==200){
               gridOption.columns.splice(0,gridOption.columns.length)
@@ -392,20 +392,20 @@
 
 
 let arrs = [
-  { type: 'radio',fixed:"left", title: '閫夋嫨', width: '80' },
-  { type: 'seq',fixed:'left', title: '鑷簭', width: '80' },
-  {field: 'id', width: '150',title: '鐗╂枡缂栫爜', sortable: true,showOverflow:'ellipsis' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}
+  { type: 'radio',fixed:"left", title: t('basicData.check'), width: '80' },
+  { type: 'seq',fixed:'left', title: t('basicData.Number'), width: '80' },
+  {field: 'id', width: '150',title: t('mainIngredient.materialCode'), sortable: true,showOverflow:'ellipsis' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}
 ]
 
 const value = ref('')
 const options = [
   {
-    value: '鍘熺墖',
-    label: '鍘熺墖'
+    value: t('mainIngredient.originalFilm'),
+    label: t('mainIngredient.originalFilm')
   },
   {
-    value: '杈呮枡',
-    label: '杈呮枡',
+    value: t('mainIngredient.accessories'),
+    label: t('mainIngredient.accessories'),
   }
 ]
 
@@ -476,7 +476,7 @@
 })
 
 const select=() =>{
-  request.get(`/BasicWarehouse/BasicWarehouseTypes/搴撳瓨缁勭粐`).then((res) => {
+  request.get(`/BasicWarehouse/BasicWarehouseTypes/`+t('mainIngredientStock.inventoryOrganization')).then((res) => {
 
     if(res.code==200){
       titleSelectJson.value=deepClone(res.data)
@@ -559,12 +559,12 @@
           //琛ㄥご鏁版嵁鏍¢獙
           const outboundType = titleUploadData.value.inventoryOrganization
           if(outboundType === null || outboundType === undefined || outboundType === ''){
-            ElMessage.error("璇烽�夋嫨搴撳瓨缁勭粐")
+            ElMessage.error(t('mainIngredientStock.pleaseSelectInventoryOrganization'))
             return
           }
           const materialRequisitionPersonnel = titleUploadData.value.inventoryQuantity
           if(materialRequisitionPersonnel === null || materialRequisitionPersonnel === undefined || materialRequisitionPersonnel === ''){
-            ElMessage.error("璇疯緭鍏ユ暟閲�")
+            ElMessage.error(t('mainIngredientStock.pleaseEnterTheQuantity'))
             return
           }
           const  dateOfManufacture= titleUploadData.value.dateOfManufacture
@@ -589,7 +589,7 @@
 
           request.post("/MaterialInventory/saveMaterialInventory", flowData.value).then((res) => {
             if(res.code==200){
-              ElMessage.success('淇濆瓨鎴愬姛')
+              ElMessage.success(t('basicData.msg.saveSuccess'))
               router.push({path: '/main/ingredientsStock/SelectIngredientsStock', query:{random:Math.random()}})
             }else{
               ElMessage.warning(res.msg)
@@ -613,16 +613,16 @@
     <el-date-picker
         v-model="selectDate"
         type="daterange"
-        start-placeholder="寮�濮嬫椂闂�"
-        end-placeholder="缁撴潫鏃堕棿"
+        :start-placeholder="$t('basicData.startDate')"
+        :end-placeholder="$t('basicData.endDate')"
         format="YYYY-MM-DD"
         value-format="YYYY-MM-DD"
 
     />
-    <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
+    <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
     <div>
       <el-row>
-        <el-select v-model="values" placeholder="璇烽�夋嫨绫诲埆" @change="selectInventoryWork">
+        <el-select v-model="values" :placeholder="$t('mainIngredient.pleaseSelectACategory')" @change="selectInventoryWork">
           <el-option
               v-for="item in selectOptions"
               :key="item.value"
@@ -656,8 +656,8 @@
       <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
       <template #button_slot="{ row }">
         <el-button @click="getTableRow(row,'edit')"
-                   link type="primary" size="small">缂栬緫</el-button>
-        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">鍒犻櫎</el-button>
+                   link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
+        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
       </template>
 
       <template #num1_filter="{ column, $panel }">
@@ -684,27 +684,27 @@
 
     </vxe-grid>
 
-    <el-dialog v-model="dialogTableVisible" title="鐗╂枡鏂板" style="width: 70%;height:75% ">
+    <el-dialog v-model="dialogTableVisible" :title="$t('mainIngredient.materialAddition')" style="width: 70%;height:75% ">
       <div class="order-primary" >
         <el-row>
-          <el-col  :span="2"><el-text>鐢熶骇鏃ユ湡:</el-text></el-col>
+          <el-col  :span="2"><el-text>{{$t('mainIngredientStock.dateOfManufacture')}}:</el-text></el-col>
           <el-col  :span="4">
             <el-date-picker
                 v-model="titleUploadData.dateOfManufacture"
                 type="date"
                 format="YYYY-MM-DD"
                 value-format="YYYY-MM-DD"
-                placeholder="璇烽�夋嫨鐢熶骇鏃ユ湡"/>
+                :placeholder="$t('mainIngredientStock.pleaseDateOfManufacture')"/>
           </el-col>
 
-          <el-col  :span="2"><el-text>淇濊川鏈�:</el-text></el-col>
+          <el-col  :span="2"><el-text>{{$t('mainIngredientStock.qualityGuaranteePeriod')}}:</el-text></el-col>
           <el-col  :span="3"><el-input v-model="titleUploadData.qualityGuaranteePeriod" /></el-col>
-          <el-col  :span="1"><el-text>浜у湴:</el-text></el-col>
+          <el-col  :span="1"><el-text>{{$t('mainIngredientStock.producer')}}:</el-text></el-col>
           <el-col  :span="3"><el-input v-model="titleUploadData.producer" /></el-col>
 
         </el-row>
         <el-row>
-          <el-col  :span="2"><el-text>搴撳瓨缁勭粐锛�</el-text></el-col>
+          <el-col  :span="2"><el-text>{{$t('mainIngredientStock.inventoryOrganization')}}锛�</el-text></el-col>
           <el-col  :span="4">
             <el-select v-model="titleUploadData.inventoryOrganization"  clearable placeholder=""  >
               <el-option
@@ -715,18 +715,18 @@
               />
             </el-select>
           </el-col>
-          <el-col  :span="2"><el-text>搴撳瓨鍖哄煙:</el-text></el-col>
+          <el-col  :span="2"><el-text>{{$t('productStock.inventoryArea')}}:</el-text></el-col>
           <el-col  :span="3"><el-input v-model="titleUploadData.inventoryArea" /></el-col>
-          <el-col  :span="1"><el-text>鏁伴噺:</el-text></el-col>
+          <el-col  :span="1"><el-text>{{$t('order.quantity')}}:</el-text></el-col>
           <el-col  :span="3"><el-input v-model="titleUploadData.inventoryQuantity" /></el-col>
-          <el-col  :span="1"><el-text>澶囨敞:</el-text></el-col>
+          <el-col  :span="1"><el-text>{{$t('basicData.remarks')}}:</el-text></el-col>
           <el-col  :span="3"><el-input v-model="titleUploadData.remarks" /></el-col>
 
         </el-row>
       </div>
       <div>
         <el-row>
-            <el-select v-model="value" placeholder="璇烽�夋嫨绫诲埆" @change="getStoreWork">
+            <el-select v-model="value" :placeholder="$t('mainIngredientStock.pleaseSelectACategory')" @change="getStoreWork">
               <el-option
                   v-for="item in options"
                   :key="item.value"
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue
index d7a166c..91c8389 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue
@@ -279,7 +279,7 @@
                   ElMessage.success(t('productStock.receivedSuccessfully'))
                   router.push({path:'/main/productStock/CreateProductStock',query:{random:Math.random()}})
                 }else{
-                  ElMessage.warning("鍏ュ簱澶辫触")
+                  ElMessage.warning(t('productStock.entryFailure'))
                   router.push("/login")
                 }
               })
@@ -289,7 +289,7 @@
 
         }
         case 'jump': {
-          router.push({path: '/main/productStock/storageRecord', query: { storageType: '鍏ュ簱' }})
+          router.push({path: '/main/productStock/storageRecord', query: { storageType: t('productStock.entry') }})
           return;
 
         }
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue
index 59a0e11..0cf4cfc 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue
@@ -71,11 +71,11 @@
               ElMessage.success(t('productStock.successfullyRetrieved'))
               router.push({path:'/main/productStock/FinishedGoodsIssue',query:{random:Math.random()}})
             }else{
-              ElMessage.warning("棰嗗嚭澶辫触")
+              ElMessage.warning(t('productStock.failedToRetrieve'))
               router.push("/login")
             }
           }).catch((err)=>{
-            ElMessage.error('绯荤粺閿欒')
+            ElMessage.error(t('basicData.msg.ServerConnectionError'))
             router.push("/login")
           })
 
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue
index 0c0f25f..c500a3e 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue
@@ -290,11 +290,11 @@
                 ElMessage.success(t('productStock.deliverySuccessful'))
                 router.push({path: '/main/productStock/FinishedProductOut', query: {random: Math.random()}})
               } else {
-                ElMessage.warning("鍙戣揣澶辫触")
+                ElMessage.warning(t('productStock.deliveryFailed'))
                 router.push("/login")
               }
             }).catch((err)=>{
-              ElMessage.error('绯荤粺閿欒')
+              ElMessage.error(t('basicData.msg.ServerConnectionError'))
               router.push("/login")
             })
 
@@ -304,7 +304,7 @@
 
         }
         case 'jump': {
-          router.push({path: '/main/productStock/storageRecord', query: {storageType: '鍑哄簱'}})
+          router.push({path: '/main/productStock/storageRecord', query: {storageType: t('productStock.outbound')}})
           return;
 
         }
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue
index 810234b..394d804 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue
@@ -70,11 +70,11 @@
               ElMessage.success(t('productStock.reworkSuccessful'))
               router.push({path:'/main/productStock/FinishedProductRework',query:{random:Math.random()}})
             } else {
-              ElMessage.warning("杩斿伐澶辫触")
+              ElMessage.warning(t('productStock.reworkFailed'))
               router.push("/login")
             }
           }).catch((err)=>{
-            ElMessage.error('绯荤粺閿欒')
+            ElMessage.error(t('basicData.msg.ServerConnectionError'))
             router.push("/login")
           })
 
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue
index 52151f7..c8b3d1e 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue
@@ -286,11 +286,11 @@
                 ElMessage.success(t('productStock.transferSuccessful'))
                 router.push({path:'/main/productStock/OrderAllocation',query:{random:Math.random()}})
               } else {
-                ElMessage.warning("璋冩嫧澶辫触")
+                ElMessage.warning(t('productStock.transferFailed'))
                 router.push("/login")
               }
             }).catch((err)=>{
-              ElMessage.error('绯荤粺閿欒')
+              ElMessage.error(t('basicData.msg.ServerConnectionError'))
               router.push("/login")
             })
 
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue
index 53a1b6d..e3dcd64 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue
@@ -265,11 +265,11 @@
                 router.push({path:'/main/productStock/ReworkRecord',query:{random:Math.random()}})
 
               }else{
-                ElMessage.warning("鍙嶅澶辫触")
+                ElMessage.warning(t('basicData.msg.cancelReviewFail'))
                 router.push("/login")
               }
             }).catch((err)=>{
-              ElMessage.error('绯荤粺閿欒')
+              ElMessage.error(t('basicData.msg.ServerConnectionError'))
               router.push("/login")
             })
           }
@@ -289,7 +289,7 @@
 
 const checkBoxConfig = {
   checkMethod: ({ row }) => {
-    if (row['status']==='宸插鏍�'||row['status']==='鏈�氳繃'){
+    if (row['status']===t('productStock.approved')||row['status']===t('productStock.notPassed')){
       return !row.disable
     }else{
       return row.disable
@@ -308,8 +308,8 @@
     <el-date-picker
         v-model="selectDate"
         type="daterange"
-        start-placeholder="寮�濮嬫椂闂�"
-        end-placeholder="缁撴潫鏃堕棿"
+        :start-placeholder="$t('basicData.startDate')"
+        :end-placeholder="$t('basicData.endDate')"
         format="YYYY-MM-DD"
         value-format="YYYY-MM-DD"
 
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/StorageRecord.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/StorageRecord.vue
index 759b5ad..68000ab 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/StorageRecord.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/StorageRecord.vue
@@ -284,11 +284,11 @@
                 router.push({path:'/main/productStock/storageRecord',query:{random:Math.random(),storageType: type.value}})
 
               }else{
-                ElMessage.warning("鍙嶄綔搴熷け璐�")
+                ElMessage.warning(t('productStock.cancellationFailed'))
                 router.push("/login")
               }
             }).catch((err)=>{
-              ElMessage.error('绯荤粺閿欒')
+              ElMessage.error(t('basicData.msg.ServerConnectionError'))
               router.push("/login")
             })
           }
@@ -308,7 +308,7 @@
 
 const checkBoxConfig = {
   checkMethod: ({ row }) => {
-    if (row['status']==='宸插鏍�'||row['status']==='鏈�氳繃'){
+    if (row['status']===t('productStock.approved')||row['status']===t('productStock.notPassed')){
       return row.disable
     }else{
       return !row.disable
@@ -327,8 +327,8 @@
     <el-date-picker
         v-model="selectDate"
         type="daterange"
-        start-placeholder="寮�濮嬫椂闂�"
-        end-placeholder="缁撴潫鏃堕棿"
+        :start-placeholder="$t('basicData.startDate')"
+        :end-placeholder="$t('basicData.endDate')"
         format="YYYY-MM-DD"
         value-format="YYYY-MM-DD"
 
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue
index 9a59e29..7138452 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue
@@ -277,11 +277,11 @@
                 router.push({path:'/main/productStock/TakeOutRecord',query:{random:Math.random()}})
 
               }else{
-                ElMessage.warning("瀹℃牳澶辫触")
+                ElMessage.warning(t('basicData.msg.reviewFail'))
                 router.push("/login")
               }
             }).catch((err)=>{
-              ElMessage.error('绯荤粺閿欒')
+              ElMessage.error(t('basicData.msg.ServerConnectionError'))
               router.push("/login")
             })
           }
@@ -315,11 +315,11 @@
                 router.push({path:'/main/productStock/TakeOutRecord',query:{random:Math.random()}})
 
               }else{
-                ElMessage.warning("浣滃簾澶辫触")
+                ElMessage.warning(t('productStock.voidFailed'))
                 router.push("/login")
               }
             }).catch((err)=>{
-              ElMessage.error('绯荤粺閿欒')
+              ElMessage.error(t('basicData.msg.ServerConnectionError'))
               router.push("/login")
             })
           }
@@ -336,7 +336,7 @@
 
 const checkBoxConfig = {
   checkMethod: ({ row }) => {
-    if (row['status']==='宸插鏍�'||row['status']==='鏈�氳繃'){
+    if (row['status']===t('productStock.approved')||row['status']===t('productStock.notPassed')){
       return row.disable
     }else{
       return !row.disable
@@ -355,8 +355,8 @@
     <el-date-picker
         v-model="selectDate"
         type="daterange"
-        start-placeholder="寮�濮嬫椂闂�"
-        end-placeholder="缁撴潫鏃堕棿"
+        :start-placeholder="$t('basicData.startDate')"
+        :end-placeholder="$t('basicData.endDate')"
         format="YYYY-MM-DD"
         value-format="YYYY-MM-DD"
 
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TransferRecord.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TransferRecord.vue
index 28fbf8c..eefd263 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TransferRecord.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TransferRecord.vue
@@ -256,11 +256,11 @@
                 router.push({path:'/main/productStock/TransferRecord',query:{random:Math.random()}})
 
               }else{
-                ElMessage.warning("鍙嶅澶辫触")
+                ElMessage.warning(t('basicData.msg.cancelReviewFail'))
                 router.push("/login")
               }
             }).catch((err)=>{
-              ElMessage.error('绯荤粺閿欒')
+              ElMessage.error(t('basicData.msg.ServerConnectionError'))
               router.push("/login")
             })
           }
@@ -286,8 +286,8 @@
     <el-date-picker
         v-model="selectDate"
         type="daterange"
-        start-placeholder="寮�濮嬫椂闂�"
-        end-placeholder="缁撴潫鏃堕棿"
+        :start-placeholder="$t('basicData.startDate')"
+        :end-placeholder="$t('basicData.endDate')"
         format="YYYY-MM-DD"
         value-format="YYYY-MM-DD"
 
diff --git a/north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue b/north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue
index 6241ddd..abe502f 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue
@@ -24,7 +24,7 @@
                               :to="{path:'/main/stockReport/WarehouseReport'}">鍘熸潗鏂欐姤琛�
           </el-breadcrumb-item>-->
           <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''"
-                              :to="{path:'/main/stockReport/StockWarehouseReport'}">鎴愬搧鎶ヨ〃
+                              :to="{path:'/main/stockReport/StockWarehouseReport'}">{{$t('report.finishedProductReport')}}
           </el-breadcrumb-item>
 <!--          <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''"
                               :to="{path:'/main/stockReport/StockMonthReport'}">鍘熺墖鏈堢粨鎶ヨ〃
diff --git a/north-glass-erp/northglass-erp/src/views/mm/stockReport/WarehouseReport.vue b/north-glass-erp/northglass-erp/src/views/mm/stockReport/WarehouseReport.vue
index 45dc608..7221b1b 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/stockReport/WarehouseReport.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/stockReport/WarehouseReport.vue
@@ -20,12 +20,12 @@
     {field: 'orderDetail.productName',width: '140', title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'orderDetail.width', width: '100',title: t('order.width'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'orderDetail.height',width: '100', title: t('order.height'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'staterOperationOrderNumber', width: '150',title: '璋冩嫧閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'endOperationOrderNumber', width: '100',title: '璋冩嫧搴忓彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'staterOperationOrderNumber', width: '150',title: t('productStock.staterOperationOrderNumber'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'endOperationOrderNumber', width: '100',title: t('productStock.endOperationOrderNumber'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'operator', width: '100',title: t('productStock.creator'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'operateTime', width:'140', title: t('productStock.productionDate'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'processId', width:'140', title: '娴佺▼鍗″彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'type', width:'140', title: '棰嗗嚭绫诲瀷',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'processId', width:'140', title: t('processCard.processId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'type', width:'140', title: t('productStock.棰嗗嚭绫诲瀷'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'reviewed', width: '100',title: t('productStock.reviewed'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'reviewedTime', width: '140',title: t('productStock.approvedDate'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'remarks', width: '140',title: t('productStock.remarks'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
@@ -34,7 +34,7 @@
   data:[],//琛ㄦ牸鏁版嵁
   url :'/FinishedGoodsInventory/getSelectFinishedOperateLogReport',
   exportUrl :'/FinishedGoodsInventory/exportFinishedOperateLogReport',
-  exportName:'鎴愬搧鎶ヨ〃',
+  exportName:t('report.finishedProductReport'),
   footList:['quantity']
 })
 
diff --git a/north-glass-erp/northglass-erp/src/views/pp/machine/SelectMachine.vue b/north-glass-erp/northglass-erp/src/views/pp/machine/SelectMachine.vue
index cd00564..acb31d0 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/machine/SelectMachine.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/machine/SelectMachine.vue
@@ -163,15 +163,15 @@
 
     </vxe-grid>
 
-    <el-dialog v-model="dialogFormVisible" title="璁惧缂栬緫">
+    <el-dialog v-model="dialogFormVisible" :title="$t('machine.deviceEditing')">
       <el-form :model="form">
-        <el-form-item label="鏍囧噯鍚嶇О" :label-width="formLabelWidth">
+        <el-form-item :label="$t('machine.standardName')" :label-width="formLabelWidth">
           <el-input v-model="form.name"  autocomplete="off"  style="width: 220px"/>
         </el-form-item>
-        <el-form-item label="璁惧鍚嶇О" :label-width="formLabelWidth">
+        <el-form-item :label="$t('machine.basicName')" :label-width="formLabelWidth">
           <el-input v-model="form.name"  autocomplete="off"  style="width: 220px"/>
         </el-form-item>
-        <el-form-item label="璐拱鏃堕棿" :label-width="formLabelWidth">
+        <el-form-item :label="$t('machine.purchaseTime')" :label-width="formLabelWidth">
           <el-date-picker
               v-model="value1"
               type="date"
@@ -179,7 +179,7 @@
               :size="size"
           />
         </el-form-item>
-        <el-form-item label="瀹夎鏃堕棿" :label-width="formLabelWidth">
+        <el-form-item :label="$t('machine.installationTime')" :label-width="formLabelWidth">
           <el-date-picker
               v-model="value1"
               type="date"
@@ -187,22 +187,22 @@
               :size="size"
           />
         </el-form-item>
-        <el-form-item label="淇濆吇鍛ㄦ湡" :label-width="formLabelWidth">
+        <el-form-item :label="$t('machine.maintenanceCycle')" :label-width="formLabelWidth">
           <el-input v-model="form.name"  autocomplete="off"  style="width: 220px"/>
         </el-form-item>
-        <el-form-item label="鎵�鍦ㄥ伐鑹�" :label-width="formLabelWidth">
-          <el-select v-model="form.region" placeholder="閽㈠寲" style="width: 220px">
-            <el-option label="鍒囧壊" value="shanghai" />
-            <el-option label="纾ㄨ竟" value="mobian" />
-            <el-option label="閽㈠寲" value="ganghua" />
+        <el-form-item :label="$t('machine.standardName')" :label-width="formLabelWidth">
+          <el-select v-model="form.region" :placeholder="$t('machine.tempering')" style="width: 220px">
+            <el-option :label="$t('machine.cutting')" value="shanghai" />
+            <el-option :label="$t('machine.edgeGrinding')" value="mobian" />
+            <el-option :label="$t('machine.tempering')" value="ganghua" />
           </el-select>
         </el-form-item>
       </el-form>
       <template #footer>
       <span class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">鍙栨秷</el-button>
+        <el-button @click="dialogFormVisible = false">{{$t('basicData.cancelButtonText')}}</el-button>
         <el-button type="primary" @click="dialogFormVisible = false">
-          纭
+          {{$t('basicData.confirmButtonText')}}
         </el-button>
       </span>
       </template>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue
index a804c53..fbd9d5b 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue
@@ -338,7 +338,6 @@
 }
 
 #printFlowCard {
-  margin-top: -40px;
   text-align: center;
 //font-weight: bolder; height: 600px;
 }
diff --git a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageReason.vue b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageReason.vue
index de404eb..106111b 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageReason.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageReason.vue
@@ -50,10 +50,10 @@
     showStatus: true
   },//琛ㄥご鍙傛暟
   columns:[
-    { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
+    { type: 'seq',fixed:"left", title: t('basicData.Number'), width: 50 },
     {
       field: 'basicName',
-      title: '娆$牬鍘熷洜',
+      title: t('reportingWorks.breakageReason'),
       width: 1000,
       editRender: {name: 'input', attrs: {placeholder: ''}},
 
@@ -64,7 +64,7 @@
     buttons: [
       {code: 'removeRow', name: t('basicData.delete'), status: 'primary', icon: 'vxe-icon-delete'},
       {code: 'addRow', name: t('reportingWorks.increase'), status: 'primary', icon: 'vxe-icon-square-plus'},
-      {code: 'save', name: '淇濆瓨', status: 'primary', icon: 'vxe-icon-save'},
+      {code: 'save', name: t('basicData.save'), status: 'primary', icon: 'vxe-icon-save'},
     ],
     // import: false,
     // export: true,
@@ -81,7 +81,7 @@
     return[
       columns.map((column, columnIndex) => {
         if (columnIndex === 0) {
-          return '鍚堣:'
+          return t('basicData.total')
         }
         if (footList.includes(column.field)) {
           return sumNum(data, column.field)
@@ -116,7 +116,7 @@
           })
           request.post("/basicDataProduce/saveBreakageReason", breakageTypeData.value).then((res) => {
             if (res.code == 200) {
-              ElMessage.success("淇濆瓨鎴愬姛")
+              ElMessage.success(t('basicData.msg.saveSuccess'))
               router.push({
                 path: '/main/productionBasicData/AddBreakageReason',
                 query: {random: Math.random()}
diff --git a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageType.vue b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageType.vue
index b79e069..3ff5cf2 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageType.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageType.vue
@@ -49,11 +49,11 @@
     showStatus: true
   },//琛ㄥご鍙傛暟
   columns:[
-    { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
+    { type: 'seq',fixed:"left", title: t('basicData.Number'), width: 50 },
 
     {
       field: 'basicName',
-      title: '娆$牬绫诲瀷',
+      title: t('reportingWorks.breakageType'),
       width: 1000,
       editRender: {name: 'input', attrs: {placeholder: ''}},
 
@@ -64,7 +64,7 @@
     buttons: [
       {code: 'removeRow', name: t('basicData.delete'), status: 'primary', icon: 'vxe-icon-delete'},
       {code: 'addRow', name: t('reportingWorks.increase'), status: 'primary', icon: 'vxe-icon-square-plus'},
-      {code: 'save', name: '淇濆瓨', status: 'primary', icon: 'vxe-icon-save'},
+      {code: 'save', name: t('basicData.save'), status: 'primary', icon: 'vxe-icon-save'},
     ],
     // import: false,
     // export: true,
@@ -81,7 +81,7 @@
     return[
       columns.map((column, columnIndex) => {
         if (columnIndex === 0) {
-          return '鍚堣:'
+          return t('basicData.total')
         }
         if (footList.includes(column.field)) {
           return sumNum(data, column.field)
@@ -117,7 +117,7 @@
           })
           request.post("/basicDataProduce/saveBreakageType", breakageTypeData.value).then((res) => {
             if (res.code == 200) {
-              ElMessage.success("淇濆瓨鎴愬姛")
+              ElMessage.success(t('basicData.msg.saveSuccess'))
               router.push({
                 path: '/main/productionBasicData/AddBreakageType',
                 query: {random: Math.random()}
diff --git a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddTeamGroup.vue b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddTeamGroup.vue
index 1cf136a..f5b7729 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddTeamGroup.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddTeamGroup.vue
@@ -65,17 +65,17 @@
     showStatus: true
   },//琛ㄥご鍙傛暟
   columns: [
-    {type: 'seq', fixed: "left", title: '鑷簭', width: 50},
+    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
     {
       field: 'basicName',
-      title: '鐝粍鍚嶇О',
+      title: t('productionBasicData.teamName'),
       width: 600,
       editRender: {name: 'input', attrs: {placeholder: ''}},
 
     },
     {
       field: 'basicCategory',
-      title: '鎵�鍦ㄥ伐搴�',
+      title: t('productionBasicData.processInvolved'),
       editRender: {},
       slots: {default: 'basicCategory_default', edit: 'basicCategory'}
     },
@@ -85,7 +85,7 @@
     buttons: [
       {code: 'removeRow', name: t('basicData.delete'), status: 'primary', icon: 'vxe-icon-delete'},
       {code: 'addRow', name: t('reportingWorks.increase'), status: 'primary', icon: 'vxe-icon-square-plus'},
-      {code: 'save', name: '淇濆瓨', status: 'primary', icon: 'vxe-icon-save'},
+      {code: 'save', name: t('basicData.save'), status: 'primary', icon: 'vxe-icon-save'},
     ],
     // import: false,
     // export: true,
@@ -100,7 +100,7 @@
     return [
       columns.map((column, columnIndex) => {
         if (columnIndex === 0) {
-          return '鍚堣:'
+          return t('basicData.total')
         }
         if (footList.includes(column.field)) {
           return sumNum(data, column.field)
@@ -136,7 +136,7 @@
           })
           request.post("/basicDataProduce/saveTeamGroup", teamGroupData.value).then((res) => {
             if (res.code == 200) {
-              ElMessage.success("淇濆瓨鎴愬姛")
+              ElMessage.success(t('basicData.msg.saveSuccess'))
               //router.push('/main/processCard/SplittingDetails?orderId=${orderId}')
               router.push({
                 path: '/main/productionBasicData/AddTeamGroup',
diff --git a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/ProductionBasicData.vue b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/ProductionBasicData.vue
index 93169be..0e091be 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/ProductionBasicData.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/ProductionBasicData.vue
@@ -19,12 +19,12 @@
   <div id="main">
     <div id="div-title">
       <el-breadcrumb :separator-icon="ArrowRight">
-        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/productionBasicData/SelectProductionBasicData' }">鍩虹鏁版嵁鏌ヨ</el-breadcrumb-item>
-        <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/productionBasicData/AddBreakageType' }">娆$牬绫诲瀷鏂板</el-breadcrumb-item>
-        <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/productionBasicData/AddBreakageReason' }">娆$牬鍘熷洜鏂板</el-breadcrumb-item>
-        <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/productionBasicData/AddTeamGroup' }">鐝粍鏂板鏂板</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/productionBasicData/SelectProductionBasicData' }">{{$t('productionBasicData.basicDataQuery')}}</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/productionBasicData/AddBreakageType' }">{{$t('productionBasicData.newTypeOfSecondaryDamageAdded')}}</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/productionBasicData/AddBreakageReason' }">{{$t('productionBasicData.reasonForSecondaryFailureAdded')}}</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/productionBasicData/AddTeamGroup' }">{{$t('productionBasicData.teamAdditionAndAddition')}}</el-breadcrumb-item>
 <!--        <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/productionBasicData/AddMaintenanceAndRepair' }">鐝粍浜哄憳鏂板鏂板</el-breadcrumb-item>-->
-        <el-breadcrumb-item :to="{ path: '/main/processCard/SelectPrintFlowCard' }" style="display: none">鎵撳嵃</el-breadcrumb-item>
+        <el-breadcrumb-item :to="{ path: '/main/processCard/SelectPrintFlowCard' }" style="display: none">{{$t('basicData.print')}}</el-breadcrumb-item>
       </el-breadcrumb>
     </div>
 
diff --git a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/SelectProductionBasicData.vue b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/SelectProductionBasicData.vue
index d716359..771d29e 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/SelectProductionBasicData.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/SelectProductionBasicData.vue
@@ -126,11 +126,11 @@
   },//琛ㄥご鍙傛暟
   columns:[
     {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
-    {title: '鎿嶄綔', width: 140, slots: { default: 'button_slot' },fixed:"left"},
-    {field: 'id', width: 60, title: 'id',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged,},
-    {field: 'basic_type',width: 370, title: '绫诲瀷', showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-    {field: 'basic_name', width: 330,title: '鍚嶇О', filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-    {field: 'd_basic_name',width: 330, title: '绫诲埆'},
+    {title: t('basicData.operate'), width: 140, slots: { default: 'button_slot' },fixed:"left"},
+    {field: 'id', width: 60, title: t('productionBasicData.id'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged,},
+    {field: 'basic_type',width: 370, title: t('machine.type'), showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+    {field: 'basic_name', width: 330,title: t('orderBasicData.name'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+    {field: 'd_basic_name',width: 330, title: t('productionBasicData.basicName')},
   ],
   //琛ㄥご鎸夐挳
   toolbarConfig: {
@@ -233,10 +233,10 @@
 
     </vxe-grid>
 
-    <el-dialog v-model="dialogTableVisible" title="鍩虹鏁版嵁淇敼">
+    <el-dialog v-model="dialogTableVisible" :title="$t('productionBasicData.basicDataEdit')">
       <el-row>
         <el-col :span="2">
-          <el-text>id锛�</el-text>
+          <el-text>{{$t('productionBasicData.id')}}锛�</el-text>
         </el-col>
         <el-col :span="3">
           <el-input v-model="getBasicData.id"  readonly autocomplete="off"  style="width: 220px"/>
@@ -244,7 +244,7 @@
       </el-row>
       <el-row>
         <el-col :span="2">
-          <el-text>绫诲瀷锛�</el-text>
+          <el-text>{{$t('machine.type')}}锛�</el-text>
         </el-col>
         <el-col :span="3">
           <el-input v-model="getBasicData.basic_type" readonly  autocomplete="off"  style="width: 220px"/>
@@ -252,7 +252,7 @@
       </el-row>
       <el-row>
         <el-col :span="2">
-          <el-text>鍚嶇О锛�</el-text>
+          <el-text>{{$t('orderBasicData.name')}}锛�</el-text>
         </el-col>
         <el-col :span="3">
           <el-input v-model="getBasicData.basic_name"  autocomplete="off"  style="width: 220px"/>
@@ -260,7 +260,7 @@
       </el-row>
       <el-row>
         <el-col :span="2">
-          <el-text>绫诲埆锛�</el-text>
+          <el-text>{{$t('productionBasicData.basicName')}}锛�</el-text>
         </el-col>
         <el-col :span="3">
 <!--          <el-input v-model="getBasicData.d_basic_name"  autocomplete="off"  style="width: 220px"/>-->
@@ -278,9 +278,9 @@
 
       <template #footer>
       <span class="dialog-footer">
-        <el-button @click="dialogTableVisible = false">鍙栨秷</el-button>
+        <el-button @click="dialogTableVisible = false">{{$t('basicData.cancelButtonText')}}</el-button>
         <el-button type="primary" @click="updateBasic">
-          淇敼
+          {{$t('basicData.update')}}
         </el-button>
       </span>
       </template>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue b/north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue
index 30f85d5..f2d938d 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue
@@ -2,27 +2,28 @@
 import BasicTable from "@/components/BasicTable.vue"
 import request from "@/utils/request"
 import { ref} from "vue"
-
+import {useI18n} from "vue-i18n";
+const {t} = useI18n()
 const childrenData = ref({
   columns:[
     {type:'expand',fixed:"left",width: 80},
     {type: 'seq',fixed:"left", title: '鑷簭', width: 80 },
-    {field: 'reportingWork.reportingWorkTime', width: 120, title: '鎶ュ伐鏃堕棿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
-    {field: 'reportingWork.thisProcess',width: 120, title: '鎶ュ伐宸ュ簭', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'responsibleProcess',width: 120, title: '璐d换宸ュ簭', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'responsibleTeam', width: 130,title: '璐d换鐝粍', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'breakageType', width: 100,title: '娆$牬绫诲瀷', sortable: true,showOverflow:"ellipsis"},
-    {field: 'breakageReason', width: 100,title: '娆$牬鍘熷洜', sortable: true,showOverflow:"ellipsis"},
-    {field: 'breakageQuantity', width: 100,title: '娆$牬鏁伴噺', sortable: true},
-    {field: 'area',width: 100, title: '娆$牬闈㈢Н', sortable: true},
-    {field: 'order.project', width: 120,title: '椤圭洰鍚嶇О', sortable: true},
-    {field: 'order.orderId',width: 120, title: '閿�鍞崟鍙�', sortable: true},
-    {field: 'orderGlassDetail.glassChild',width: 120, title: '鍗曠墖鍚嶇О', sortable: true},
+    {field: 'reportingWork.reportingWorkTime', width: 120, title: t('reportingWorks.reportingWorkTime'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
+    {field: 'reportingWork.thisProcess',width: 120, title: t('reportingWorks.reportingProcess'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'responsibleProcess',width: 120, title: t('reportingWorks.responsibleProcess'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'responsibleTeam', width: 130,title: t('reportingWorks.responsibleTeam'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'breakageType', width: 100,title: t('reportingWorks.breakageType'), sortable: true,showOverflow:"ellipsis"},
+    {field: 'breakageReason', width: 100,title: t('reportingWorks.breakageReason'), sortable: true,showOverflow:"ellipsis"},
+    {field: 'breakageQuantity', width: 100,title: t('reportingWorks.quantityBroken'), sortable: true},
+    {field: 'area',width: 100, title: t('reportingWorks.wornArea'), sortable: true},
+    {field: 'order.project', width: 120,title: t('order.project'), sortable: true},
+    {field: 'order.orderId',width: 120, title: t('order.orderId'), sortable: true},
+    {field: 'orderGlassDetail.glassChild',width: 120, title: t('reportingWorks.glassChild'), sortable: true},
   ],//琛ㄦ牸琛ㄥご瀛楁
   data:[],//琛ㄦ牸鏁版嵁
   url :'/report/crossProcessBreaking',
   exportUrl :'/report/exportCrossProcessBreaking',
-  exportName:'璺ㄥ伐搴忔鐮存姤琛�',
+  exportName:t('report.crossProcessBreakdown'),
   footList:['breakageQuantity','area']
 })
 
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue b/north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue
index 366b88a..f19bcb7 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue
@@ -20,7 +20,7 @@
 })
 
 //宸ュ簭
-const value = ref('纾ㄨ竟')
+const value = ref(t('machine.edgeGrinding'))
 
 //琛ㄥ熬姹傚拰
 const sumNum = (list, field) => {
@@ -214,42 +214,42 @@
   },//琛ㄥご鍙傛暟
   columns: [
     {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
-    {type: 'seq', fixed: "left", title: '鑷簭', width: 50},
+    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
     {
-      field: 'orderId', width: 120, title: '閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }
+      field: 'orderId', width: 120, title: t('order.orderId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }
     },
     {
       field: 'project',
       width: 120,
-      title: '椤圭洰鍚嶇О',
+      title: t('order.project'),
       showOverflow: "ellipsis",
       filters:[{ data: '' }],slots: { filter: 'num1_filter' }
     },
     {
-      field: 'processId', width: 130, title: '娴佺▼鍗″彿', filters:[{ data: '' }],slots: { filter: 'num1_filter' }
+      field: 'processId', width: 130, title: t('processCard.processId'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }
     },
     {
-      field: 'orderNumber', width: 120, title: '璁㈠崟搴忓彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }
+      field: 'orderNumber', width: 120, title: t('order.OrderNum'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }
     },
     {
-      field: 'technologyNumber', width: 100, title: '灏忕墖椤哄簭', filters:[{ data: '' }],slots: { filter: 'num1_filter' }
+      field: 'technologyNumber', width: 100, title: t('processCard.technologyNumber'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }
     },
     {
       field: 'reportingWorkTime',
       width: 100,
-      title: '鎶ュ伐鏃堕棿',
+      title: t('reportingWorks.reportingWorkTime'),
       type: 'date',
       attrs: {placeholder: '', type: 'date'},
     },
-    {field: 'responsibleProcess', width: 120, title: '璐d换宸ュ簭',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis"},
-    {field: 'responsibleTeam', width: 100, title: '璐d换鐝粍',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'responsibleEquipment', width: 120, title: '璐d换璁惧',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'breakageType', width: 120, title: '娆$牬绫诲瀷',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'breakageReason', width: 120, title: '娆$牬鍘熷洜',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'breakageQuantity', width: 120, title: '娆$牬鏁伴噺'},
-    {field: 'area', width: 120, title: '娆$牬闈㈢Н'},
-    {field: 'personnel', width: 120, title: '璐d换浜哄憳'},
-    {field: 'glassChild', width: 120, title: '鍗曠墖鍚嶇О'},
+    {field: 'responsibleProcess', width: 120, title: t('reportingWorks.responsibleProcess'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis"},
+    {field: 'responsibleTeam', width: 100, title: t('reportingWorks.responsibleTeam'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'responsibleEquipment', width: 120, title: t('reportingWorks.responsibleEquipment'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'breakageType', width: 120, title: t('reportingWorks.breakageType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'breakageReason', width: 120, title: t('reportingWorks.breakageReason'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'breakageQuantity', width: 120, title: t('reportingWorks.quantityBroken')},
+    {field: 'area', width: 120, title: t('reportingWorks.wornArea')},
+    {field: 'personnel', width: 120, title: t('reportingWorks.responsiblePersonnel')},
+    {field: 'glassChild', width: 120, title: t('reportingWorks.glassChild')},
   ],//琛ㄥご鎸夐挳
 
   toolbarConfig: {
@@ -287,15 +287,15 @@
       <el-row :gutter="0">
         <el-date-picker
             v-model="form.date1"
-            end-placeholder="缁撴潫鏃堕棿"
+            :start-placeholder="$t('basicData.startDate')"
+            :end-placeholder="$t('basicData.endDate')"
             format="YYYY/MM/DD"
-            start-placeholder="寮�濮嬫椂闂�"
             style="width: 100px"
             type="daterange"
             value-format="YYYY-MM-DD"
         />
         &nbsp;&nbsp;
-        <el-button type="primary" @click="getWorkOrder">鏌ヨ</el-button>
+        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
       </el-row>
 
     </div>
@@ -321,9 +321,9 @@
       <template #toolbar_buttons>
         <vxe-button style="margin-right: 0.5rem"
                     @click="exportExcel('/report/exportDamageReport',
-                                          '娆$牬鏄庣粏鎶ヨ〃',
+                                          t('report.secondaryBrokenReport'),
                                           form.date1)">
-          瀵煎嚭</vxe-button>
+          {{t('basicData.export')}}</vxe-button>
       </template>
 
       <template #num1_filter="{ column, $panel }">
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/OrderPlanDecomposition.vue b/north-glass-erp/northglass-erp/src/views/pp/report/OrderPlanDecomposition.vue
index a9ac03b..c55c0bc 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/OrderPlanDecomposition.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/OrderPlanDecomposition.vue
@@ -21,7 +21,7 @@
 })
 
 //宸ュ簭
-const value = ref('纾ㄨ竟')
+const value = ref(t('machine.edgeGrinding'))
 
 //琛ㄥ熬姹傚拰
 const sumNum = (list, field) => {
@@ -201,16 +201,16 @@
   },//琛ㄥご鍙傛暟
   columns: [
     {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
-    {type: 'seq', fixed: "left", title: '鑷簭', width: 50},
+    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
     {
-      field: 'order_id', width: 120, title: '閿�鍞崟鍙�', filters: [{data: ''}],
+      field: 'order_id', width: 120, title: t('order.orderId'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
       field: 'customer_name',
       width: 120,
-      title: '瀹㈡埛鍚嶇О',
+      title: t('customer.customerName'),
       showOverflow: "ellipsis",
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
@@ -219,40 +219,40 @@
     {
       field: 'project',
       width: 120,
-      title: '椤圭洰鍚嶇О',
+      title: t('order.project'),
       showOverflow: "ellipsis",
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'batch', width: 130, title: '鎵规', filters: [{data: ''}],
+      field: 'batch', width: 130, title: t('order.batch'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'quantity', width: 120, title: '璁㈠崟鏁伴噺', filters: [{data: ''}],
+      field: 'quantity', width: 120, title: t('order.quantity'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'area', width: 100, title: '璁㈠崟闈㈢Н', filters: [{data: ''}],
+      field: 'area', width: 100, title: t('order.area'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
       field: 'create_time',
       width: 100,
-      title: '鍒嗘灦鏃堕棿',
+      title: t('processCard.splitFrameTime'),
       type: 'date',
       attrs: {placeholder: '', type: 'date'},
     },
-    {field: 'startTime', width: 120, title: '鍒囧壊寮�濮嬫椂闂�', showOverflow: "ellipsis"},
-    {field: 'completionsNum', width: 100, title: '瀹屽伐鏁伴噺'},
-    {field: 'received_quantity', width: 120, title: '鍏ュ簱鏁伴噺'},
-    {field: 'receivedNo', width: 120, title: '鏈叆搴撴暟閲�'},
-    {field: 'accomplish', width: 120, title: '鏄惁娓呭崟'},
-    {field: 'daysDifference', width: 120, title: '鐢熶骇澶╂暟'},
+    {field: 'startTime', width: 120, title: t('report.startTime'), showOverflow: "ellipsis"},
+    {field: 'completionsNum', width: 100, title: t('reportingWorks.completedQuantity')},
+    {field: 'received_quantity', width: 120, title: t('report.inventoryNum')},
+    {field: 'receivedNo', width: 120, title: t('report.receivedNo')},
+    {field: 'accomplish', width: 120, title: t('report.accomplish')},
+    {field: 'daysDifference', width: 120, title: t('report.daysDifference')},
   ],//琛ㄥご鎸夐挳
 
   toolbarConfig: {
@@ -296,15 +296,15 @@
       <el-row :gutter="0">
         <el-date-picker
             v-model="form.date1"
-            end-placeholder="缁撴潫鏃堕棿"
+            :start-placeholder="$t('basicData.startDate')"
+            :end-placeholder="$t('basicData.endDate')"
             format="YYYY/MM/DD"
-            start-placeholder="寮�濮嬫椂闂�"
             style="width: 100px"
             type="daterange"
             value-format="YYYY-MM-DD"
         />
         &nbsp;&nbsp;
-        <el-button type="primary" @click="getWorkOrder">鏌ヨ</el-button>
+        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
       </el-row>
 
     </div>
@@ -327,10 +327,10 @@
       </template>
       <template #toolbar_buttons>
         <vxe-button style="margin-right: 0.5rem"
-                    @click="exportExcel('/report/exportOrderPlanDecomposition',
-                                          '璁㈠崟璁″垝鍒嗚В鎶ヨ〃',
+                    @click="exportExcel('/report/orderPlanDecomposition',
+                                          t('report.orderPlanDecomposition'),
                                           form.date1)">
-          瀵煎嚭</vxe-button>
+          {{t('basicData.export')}}</vxe-button>
       </template>
 
       <template #num1_filter="{ column, $panel }">
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue b/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue
index 543c221..0816796 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue
@@ -48,17 +48,17 @@
 })
 const columns = [
   // {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
-  {field: 'product_name', width: 150, title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-  {field: 'glass_child',width: 130, title: '鍗曠墖鍚嶇О' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-  {field: 'order_type', width: 120,title: '璁㈠崟绫诲瀷',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-  {field: 'process_id',width: 110, title: '娴佺▼鍗″彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-  {field: 'order_number', width: 90,title: '璁㈠崟搴忓彿',showOverflow:"ellipsis"},
-  {field: 'technology_number', width: 90,title: '灏忕墖椤哄簭',showOverflow:"ellipsis"},
-  {field: 'quantity', width: 90,title: '鏁伴噺'},
-  {field: 'broken_num',width: 90, title: '娆$牬鏁伴噺'},
-  {field: 'shippedQuantity',width: 120, title: '鍙戣揣鏁伴噺'},
-  {field: 'inventory',width: 120, title: '鍏ュ簱鏁伴噺'},
-  {field: 'inventoryArea',width: 120, title: '鍏ュ簱闈㈢Н'},
+  {field: 'product_name', width: 150, title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+  {field: 'glass_child',width: 130, title:  t('reportingWorks.glassChild') ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+  {field: 'order_type', width: 120,title: t('order.orderType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+  {field: 'process_id',width: 110, title: t('processCard.processId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+  {field: 'order_number', width: 90,title: t('order.OrderNum'),showOverflow:"ellipsis"},
+  {field: 'technology_number', width: 90,title: t('processCard.technologyNumber'),showOverflow:"ellipsis"},
+  {field: 'quantity', width: 90,title: t('order.quantity')},
+  {field: 'broken_num',width: 90, title: t('reportingWorks.quantityBroken')},
+  {field: 'shippedQuantity',width: 120, title: t('report.shippedQuantity')},
+  {field: 'inventory',width: 120, title: t('report.inventoryNum')},
+  {field: 'inventoryArea',width: 120, title: t('report.inventoryArea')},
 ]
 //闇�瑕佸悎骞剁殑鍒�
 let column = [1,3,8]
@@ -67,7 +67,7 @@
   request.post(`/report/processCardProgress/${form.orderId}`,column).then((res) => {
     if (res.code == 200) {
       if(res.data.data.length===0){
-        ElMessage.warning('鏈煡璇㈠埌姝よ鍗曟祦绋嬪崱鏁版嵁')
+        ElMessage.warning(t('report.noDataFoundForThisOrder'))
         return
       }
       gridOptions.columns = JSON.parse(JSON.stringify(columns))
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue b/north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue
index 63f1637..4008393 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue
@@ -20,7 +20,7 @@
 })
 
 //宸ュ簭
-const value = ref('纾ㄨ竟')
+const value = ref(t('machine.edgeGrinding'))
 
 //琛ㄥ熬姹傚拰
 const sumNum = (list, field) => {
@@ -223,51 +223,51 @@
   },//琛ㄥご鍙傛暟
   columns: [
     {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
-    {type: 'seq', fixed: "left", title: '鑷簭', width: 50},
-    {field: 'create_time', width: 120, title: '涓嬪崟鏃堕棿'},
-    {field: 'delivery_date', width: 120, title: '浜よ揣鏃ユ湡'},
+    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
+    {field: 'create_time', width: 120, title:  t('report.orderTime')},
+    {field: 'delivery_date', width: 120, title:  t('report.deliveryDate')},
     {
-      field: 'order_id', width: 120, title: '閿�鍞崟鍙�', filters: [{data: ''}],
+      field: 'order_id', width: 120, title: t('order.orderId'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
       field: 'process_id',
       width: 120,
-      title: '娴佺▼鍗″彿',
+      title: t('processCard.processId'),
       showOverflow: "ellipsis",
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'customer_name', width: 130, title: '瀹㈡埛鍚嶇О', filters: [{data: ''}],
+      field: 'customer_name', width: 130, title: t('customer.customerName'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'project', width: 120, title: '椤圭洰鍚嶇О', filters: [{data: ''}],
+      field: 'project', width: 120, title: t('order.project'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'batch', width: 100, title: '鎵规', filters: [{data: ''}],
+      field: 'batch', width: 100, title: t('order.batch'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
-    {field: 'order_number', width: 100, title: '搴忓彿'},
-    {field: 'technology_number', width: 120, title: '灏忕墖椤哄簭', showOverflow: "ellipsis"},
-    {field: 'glass_child', width: 100, title: '鍗曠墖鍚嶇О'},
-    {field: 'child_width', width: 120, title: '瀹�'},
-    {field: 'child_height', width: 120, title: '楂�'},
-    {field: 'quantity', width: 120, title: '璁㈠崟鏁伴噺'},
-    {field: 'childArea', width: 120, title: '鍗曠墖闈㈢Н'},
-    {field: 'actualArea', width: 120, title: '瀹為檯闈㈢Н'},
-    {field: 'completeNum', width: 120, title: '宸插畬鎴愭暟閲�'},
-    {field: 'completeArea', width: 120, title: '宸插畬鎴愰潰绉�'},
-    {field: 'incompleteNum', width: 120, title: '鏈畬鎴愭暟閲�'},
-    {field: 'incompleteArea', width: 120, title: '鏈畬鎴愰潰绉�'},
-    {field: 'product_name', width: 120, title: '鎴愬搧鍚嶇О'},
+    {field: 'order_number', width: 100, title: t('order.OrderNum')},
+    {field: 'technology_number', width: 120, title: t('processCard.technologyNumber'), showOverflow: "ellipsis"},
+    {field: 'glass_child', width: 100, title: t('reportingWorks.glassChild')},
+    {field: 'child_width', width: 120, title: t('order.width')},
+    {field: 'child_height', width: 120, title: t('order.height')},
+    {field: 'quantity', width: 120, title: t('order.quantity')},
+    {field: 'childArea', width: 120, title: t('order.trueArea')},
+    {field: 'actualArea', width: 120, title: t('order.trueGrossArea')},
+    {field: 'completeNum', width: 120, title: t('report.completedQuantity')},
+    {field: 'completeArea', width: 120, title: t('report.completedArea')},
+    {field: 'incompleteNum', width: 120, title: t('report.unfinishedQuantity')},
+    {field: 'incompleteArea', width: 120, title: t('report.unfinishedArea')},
+    {field: 'product_name', width: 120, title: t('order.product')},
   ],//琛ㄥご鎸夐挳
 
   toolbarConfig: {
@@ -312,12 +312,12 @@
     inputProject = null
   }
   if(date===null){
-    ElMessage.warning("璇峰厛閫夋嫨鏃ユ湡")
+    ElMessage.warning(t('report.pleaseSelectADateFirst'))
     return
   }
 
   if(processes===null){
-    ElMessage.warning("璇峰厛閫夋嫨宸ュ簭")
+    ElMessage.warning(t('report.pleaseSelectAProcessFirst'))
     return
   }
 
@@ -326,7 +326,7 @@
   const timeDiff = Math.abs(date2.getTime() - date1.getTime());
   const daysDiff = timeDiff / (1000 * 3600 * 24);
   if(Math.floor(daysDiff)>180){
-    ElMessage.warning("瀵煎嚭鐨勭瓫閫夋椂闂翠笉鑳借秴杩�180澶�")
+    ElMessage.warning(t('report.theFilteringTimeForExportCannotExceed180Days'))
     return
   }
    let dataMp = ref({
@@ -364,9 +364,9 @@
 
         <el-date-picker
             v-model="form.date1"
-            end-placeholder="缁撴潫鏃堕棿"
+            :start-placeholder="$t('basicData.startDate')"
+            :end-placeholder="$t('basicData.endDate')"
             format="YYYY/MM/DD"
-            start-placeholder="寮�濮嬫椂闂�"
             style="width: 100px"
             type="daterange"
             value-format="YYYY-MM-DD"
@@ -374,7 +374,7 @@
         &nbsp;&nbsp;
         <el-input v-model="form.orderId" :placeholder="$t('order.orderId')" clearable style="width: 130px"></el-input>
         &nbsp;&nbsp;
-        <el-input v-model="form.project" clearable placeholder="椤圭洰鍚嶇О" style="width: 130px"></el-input>
+        <el-input v-model="form.project" clearable :placeholder="$t('order.project')" style="width: 130px"></el-input>
         &nbsp;
         <el-select v-model="value" clearable default-value="default_city" style="width: 120px">
           <el-option
@@ -384,7 +384,7 @@
               :value="item.basic_name"
           />
         </el-select>
-        <el-button type="primary" @click="getWorkOrder">鏌ヨ</el-button>
+        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
       </el-row>
 
     </div>
@@ -408,17 +408,17 @@
 
       <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
       <template #button_slot="{ row }">
-        <el-button link size="small" type="primary" @click="getTableRow(row,'edit')">缂栬緫</el-button>
-        <el-button link size="small" type="primary" @click="getTableRow(row,'setType')">鍙嶅</el-button>
-        <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">鍒犻櫎</el-button>
+        <el-button link size="small" type="primary" @click="getTableRow(row,'edit')">{{$t('basicData.edit')}}</el-button>
+        <el-button link size="small" type="primary" @click="getTableRow(row,'setType')">{{$t('basicData.cancelReview')}}</el-button>
+        <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">{{$t('basicData.delete')}}</el-button>
       </template>
 
       <template #toolbar_buttons>
         <vxe-button style="margin-right: 0.5rem"
                     @click="exportExcel('/report/exportProcessToBeCompleted',
-                                          '宸ュ簭寰呭畬鎴愭姤琛�',
+                                          t('report.processToBeCompleted'),
                                           form.date1)">
-          瀵煎嚭</vxe-button>
+          {{t('basicData.export')}}</vxe-button>
       </template>
 
       <template #num1_filter="{ column, $panel }">
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue b/north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue
index 19d9f97..36480d4 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue
@@ -57,18 +57,18 @@
 })
 const columns = [
   {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
-  {field: 'order_number', width: 150, title: '璁㈠崟搴忓彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-  {field: 'shape',width: 130, title: '褰㈢姸' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-  {field: 'product_name', width: 120,title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-  {field: 'child_width',width: 110, title: '瀹�',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-  {field: 'child_height', width: 90,title: '楂�',showOverflow:"ellipsis"},
-  {field: 'quantity', width: 90,title: '鏁伴噺'},
-  {field: 'technology_number',width: 90, title: '灏忕墖椤哄簭'},
-  {field: 'glass_child',width: 120, title: '鍗曠墖鍚嶇О'},
-  {field: 'inventoryNum',width: 120, title: '鍏ュ簱鏁伴噺'},
-  {field: 'inventoryArea',width: 120, title: '鍏ュ簱闈㈢Н'},
-  {field: 'shippedQuantity',width: 120, title: '鍙戣揣鏁伴噺'},
-  {field: 'area',width: 120, title: '鍙戣揣闈㈢Н'},
+  {field: 'order_number', width: 150, title: t('order.OrderNum'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+  {field: 'shape',width: 130, title: t('order.shape') ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+  {field: 'product_name', width: 120,title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+  {field: 'child_width',width: 110, title: t('order.width'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+  {field: 'child_height', width: 90,title: t('order.height'),showOverflow:"ellipsis"},
+  {field: 'quantity', width: 90,title: t('order.quantity')},
+  {field: 'technology_number',width: 90, title: t('processCard.technologyNumber')},
+  {field: 'glass_child',width: 120, title: t('reportingWorks.glassChild')},
+  {field: 'inventoryNum',width: 120, title: t('report.inventoryNum')},
+  {field: 'inventoryArea',width: 120, title: t('report.inventoryArea')},
+  {field: 'shippedQuantity',width: 120, title: t('report.shippedQuantity')},
+  {field: 'area',width: 120, title: t('report.area')},
 ]
 //闇�瑕佸悎骞剁殑鍒�
 let column = [1,2,3]
@@ -77,7 +77,7 @@
   request.post(`/report/productionSchedule/${form.orderId}`,column).then((res) => {
     if (res.code == 200) {
       if(res.data.data.length===0){
-        ElMessage.warning('鏈煡璇㈠埌姝よ鍗曟暟鎹�')
+        ElMessage.warning(t('report.noDataFoundForThisOrder'))
         return
       }
       gridOptions.columns = JSON.parse(JSON.stringify(columns))
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/QualityReport.vue b/north-glass-erp/northglass-erp/src/views/pp/report/QualityReport.vue
index c6d8efc..8a29988 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/QualityReport.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/QualityReport.vue
@@ -22,7 +22,7 @@
 })
 
 //宸ュ簭
-const value = ref('纾ㄨ竟')
+const value = ref(t('machine.edgeGrinding'))
 
 //琛ㄥ熬姹傚拰
 const sumNum = (list, field) => {
@@ -202,16 +202,16 @@
   },//琛ㄥご鍙傛暟
   columns: [
     {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
-    {type: 'seq', fixed: "left", title: '鑷簭', width: 50},
+    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
     {
-      field: 'order_id', width: 120, title: '閿�鍞崟鍙�', filters: [{data: ''}],
+      field: 'order_id', width: 120, title: t('order.orderId'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
       field: 'customer_name',
       width: 120,
-      title: '瀹㈡埛鍚嶇О',
+      title: t('customer.customerName'),
       showOverflow: "ellipsis",
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
@@ -220,39 +220,39 @@
     {
       field: 'project',
       width: 120,
-      title: '椤圭洰鍚嶇О',
+      title: t('order.project'),
       showOverflow: "ellipsis",
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'order_number', width: 130, title: '璁㈠崟搴忓彿', filters: [{data: ''}],
+      field: 'order_number', width: 130, title: t('order.OrderNum'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'technology_number', width: 120, title: '灏忕墖椤哄簭', filters: [{data: ''}],
+      field: 'technology_number', width: 120, title: t('processCard.technologyNumber'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'product_name', width: 100, title: '浜у搧鍚嶇О', filters: [{data: ''}],
+      field: 'product_name', width: 100, title: t('order.product'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
       field: 'quantity',
       width: 100,
-      title: '璁㈠崟鏁伴噺',
+      title:  t('order.quantity'),
       type: 'date',
       attrs: {placeholder: '', type: 'date'},
     },
-    {field: 'quantityMax', width: 120, title: '鎶曞叆鏁伴噺', showOverflow: "ellipsis"},
-    {field: 'breakage_quantity', width: 100, title: '娆$牬鏁伴噺'},
-    {field: 'patch_num', width: 120, title: '琛ョ墖鏁伴噺'},
-    {field: 'received_quantity', width: 120, title: '鍏ュ簱鏁伴噺'},
-    {field: 'finished', width: 120, title: '鎴愬搧鐜�'},
+    {field: 'quantityMax', width: 120, title: t('report.quantityMax'), showOverflow: "ellipsis"},
+    {field: 'breakage_quantity', width: 100, title: t('reportingWorks.quantityBroken')},
+    {field: 'patch_num', width: 120, title:  t('reportingWorks.quantityBroken')},
+    {field: 'received_quantity', width: 120, title: t('report.patchNum')},
+    {field: 'finished', width: 120, title: t('report.finished')},
   ],//琛ㄥご鎸夐挳
 
   toolbarConfig: {
@@ -293,15 +293,15 @@
       <el-row :gutter="0">
         <el-date-picker
             v-model="form.date1"
-            end-placeholder="缁撴潫鏃堕棿"
+            :start-placeholder="$t('basicData.startDate')"
+            :end-placeholder="$t('basicData.endDate')"
             format="YYYY/MM/DD"
-            start-placeholder="寮�濮嬫椂闂�"
             style="width: 100px"
             type="daterange"
             value-format="YYYY-MM-DD"
         />
         &nbsp;&nbsp;
-        <el-button type="primary" @click="getWorkOrder">鏌ヨ</el-button>
+        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
       </el-row>
 
     </div>
@@ -326,9 +326,9 @@
       <template #toolbar_buttons>
         <vxe-button style="margin-right: 0.5rem"
                     @click="exportExcel('/report/exportQualityReport',
-                                          '鍝佽川鎶ヨ〃',
+                                          t('report.qualityReport'),
                                           form.date1)">
-          瀵煎嚭</vxe-button>
+          {{t('basicData.export')}}</vxe-button>
       </template>
 
       <template #num1_filter="{ column, $panel }">
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/RawMaterialRequisition.vue b/north-glass-erp/northglass-erp/src/views/pp/report/RawMaterialRequisition.vue
index 9d1c132..edd95e8 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/RawMaterialRequisition.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/RawMaterialRequisition.vue
@@ -22,7 +22,7 @@
 })
 
 //宸ュ簭
-const value = ref('纾ㄨ竟')
+const value = ref(t('machine.edgeGrinding'))
 
 //琛ㄥ熬姹傚拰
 const sumNum = (list, field) => {
@@ -202,38 +202,38 @@
   },//琛ㄥご鍙傛暟
   columns: [
     {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
-    {type: 'seq', fixed: "left", title: '鑷簭', width: 50},
+    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
 
     {
       field: 'project_no',
       width: 120,
-      title: '宸ョ▼缂栧彿',
+      title: t('report.projectNo'),
       showOverflow: "ellipsis",
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'material_name', width: 120, title: '鐗╂枡鍚嶇О', filters: [{data: ''}],
+      field: 'material_name', width: 120, title: t('mainIngredient.materialName'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'producer',title: '鍘熺墖浜у湴', filters: [{data: ''}],
+      field: 'producer',title: t('mainIngredient.producer'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
       field: 'width',
-      title: '瀹�',
+      title: t('order.width'),
       type: 'date',
       attrs: {placeholder: '', type: 'date'},
     },
-    {field: 'height',  title: '楂�', showOverflow: "ellipsis"},
-    {field: 'quantity', title: '宸查鏁伴噺'},
-    {field: 'area', title: '宸查闈㈢Н'},
-    {field: 'date_of_manufacture',  title: '鍘熺墖鐢熶骇鏃ユ湡'},
-    {field: 'date',  title: '棰嗗嚭鏃ユ湡'},
+    {field: 'height',  title: t('order.height'), showOverflow: "ellipsis"},
+    {field: 'quantity', title: t('report.quantityClaimed')},
+    {field: 'area', title: t('report.areaClaimed')},
+    {field: 'date_of_manufacture',  title: t('mainIngredient.dateOfManufacture')},
+    {field: 'date',  title: t('report.dateClaimed')},
   ],//琛ㄥご鎸夐挳
 
   toolbarConfig: {
@@ -274,15 +274,15 @@
       <el-row :gutter="0">
         <el-date-picker
             v-model="form.date1"
-            end-placeholder="缁撴潫鏃堕棿"
+            :start-placeholder="$t('basicData.startDate')"
+            :end-placeholder="$t('basicData.endDate')"
             format="YYYY/MM/DD"
-            start-placeholder="寮�濮嬫椂闂�"
             style="width: 100px"
             type="daterange"
             value-format="YYYY-MM-DD"
         />
         &nbsp;&nbsp;
-        <el-button type="primary" @click="getWorkOrder">鏌ヨ</el-button>
+        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
       </el-row>
 
     </div>
@@ -316,9 +316,9 @@
       <template #toolbar_buttons>
         <vxe-button style="margin-right: 0.5rem"
                     @click="exportExcel('/report/exportRawMaterialRequisition',
-                                          '鍘熺墖棰嗘枡鎶ヨ〃',
+                                          t('report.rawMaterialRequisition'),
                                           form.date1)">
-          瀵煎嚭</vxe-button>
+          {{t('basicData.export')}}</vxe-button>
       </template>
 
     </vxe-grid>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/Report.vue b/north-glass-erp/northglass-erp/src/views/pp/report/Report.vue
index eac4b2e..97e7a78 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/Report.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/Report.vue
@@ -45,12 +45,12 @@
       >
 
         <el-sub-menu index="1" >
-          <template #title >鐢熶骇鎶ヨ〃</template>
-          <el-menu-item index="/main/report/WorkInProgress">鍦ㄥ埗鍝佹姤琛�</el-menu-item>
-          <el-menu-item index="/main/report/ProcessToBeCompleted">宸ュ簭寰呭畬鎴�</el-menu-item>
-          <el-menu-item index="/main/report/ProductionSchedule">鐢熶骇鍙戣揣杩涘害</el-menu-item>
-          <el-menu-item index="/main/report/ProcessCardProgress">娴佺▼鍗¤繘搴�</el-menu-item>
-          <el-menu-item index="/main/report/OrderPlanDecomposition">璁㈠崟璁″垝鍒嗚В</el-menu-item>
+          <template #title >{{$t('report.productionReport')}}</template>
+          <el-menu-item index="/main/report/WorkInProgress">{{$t('report.workInProgressReport')}}</el-menu-item>
+          <el-menu-item index="/main/report/ProcessToBeCompleted">{{$t('report.processToBeCompleted')}}</el-menu-item>
+          <el-menu-item index="/main/report/ProductionSchedule">{{$t('report.productionAndShippingProgress')}}</el-menu-item>
+          <el-menu-item index="/main/report/ProcessCardProgress">{{$t('report.processCardProgress')}}</el-menu-item>
+          <el-menu-item index="/main/report/OrderPlanDecomposition">{{$t('report.orderPlanDecomposition')}}</el-menu-item>
         </el-sub-menu>
 <!--        <el-sub-menu  index="2" popper-class="test">-->
 <!--          <template #title>浜ч噺鎶ヨ〃</template>-->
@@ -58,16 +58,16 @@
 <!--          <el-menu-item index="/main/report/EquipmentOutput">璁惧浜ч噺</el-menu-item>-->
 <!--        </el-sub-menu>-->
         <el-sub-menu  index="3" popper-class="test">
-          <template #title>娆$牬鎶ヨ〃</template>
-          <el-menu-item  index="/main/report/DamageReport">娆$牬鎶ヨ〃</el-menu-item>
-          <el-menu-item index="/main/report/CrossProcessBreaking">璺ㄥ伐搴忔鐮�</el-menu-item>
+          <template #title>{{$t('report.secondaryBrokenReport')}}</template>
+          <el-menu-item  index="/main/report/DamageReport">{{$t('report.secondaryBrokenReport')}}</el-menu-item>
+          <el-menu-item index="/main/report/CrossProcessBreaking">{{$t('report.crossProcessBreakdown')}}</el-menu-item>
         </el-sub-menu>
-        <el-menu-item  index="/main/report/TeamOutput">鐝粍浜ч噺</el-menu-item>
-        <el-menu-item  index="/main/report/SplittingDetailsOutside">鍒嗘灦鏄庣粏</el-menu-item>
-        <el-menu-item  index="/main/report/TaskCompletionStatus">浠诲姟瀹屾垚鎯呭喌</el-menu-item>
-        <el-menu-item  index="/main/report/RawMaterialRequisition">鍘熺墖棰嗘枡</el-menu-item>
-        <el-menu-item  index="/main/report/QualityReport">鍝佽川鎶ヨ〃</el-menu-item>
-        <el-menu-item  index="/main/report/Yield">鎴愬搧鐜囨姤琛�</el-menu-item>
+        <el-menu-item  index="/main/report/TeamOutput">{{$t('report.teamOutput')}}</el-menu-item>
+        <el-menu-item  index="/main/report/SplittingDetailsOutside">{{$t('report.splittingDetails')}}</el-menu-item>
+        <el-menu-item  index="/main/report/TaskCompletionStatus">{{$t('report.TaskCompletionStatus')}}</el-menu-item>
+        <el-menu-item  index="/main/report/RawMaterialRequisition">{{$t('report.rawMaterialRequisition')}}</el-menu-item>
+        <el-menu-item  index="/main/report/QualityReport">{{$t('report.qualityReport')}}</el-menu-item>
+        <el-menu-item  index="/main/report/Yield">{{$t('report.yieldReport')}}</el-menu-item>
 <!--        <el-menu-item  index="/main/report/OrderBOMOutside">BOM鎶ヨ〃</el-menu-item>-->
       </el-menu>
     </div>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue b/north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue
index ef68010..1d8a362 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue
@@ -187,43 +187,43 @@
   },//琛ㄥご鍙傛暟
   columns: [
     {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
-    {type: 'seq', fixed: "left", title: '鑷簭', width: 50},
+    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
     {
-      field: 'processId', width: 120, title: '娴佺▼鍗″彿', filters: [{data: ''}],
+      field: 'processId', width: 120, title: t('processCard.processId'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
       field: 'orderNumber',
       width: 120,
-      title: '璁㈠崟搴忓彿',
+      title: t('order.OrderNum'),
       showOverflow: "ellipsis",
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'technologyNumber', width: 130, title: '灏忕墖椤哄簭', filters: [{data: ''}],
+      field: 'technologyNumber', width: 130, title: t('processCard.technologyNumber'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'project', width: 120, title: '椤圭洰鍚嶇О', filters: [{data: ''}],
+      field: 'project', width: 120, title: t('order.project'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'batch', width: 100, title: '鎵规', filters: [{data: ''}],
+      field: 'batch', width: 100, title: t('order.batch'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
-    {field: 'childWidth', width: 120, title: '瀹�'},
-    {field: 'childHeight', width: 120, title: '楂�'},
-    {field: 'quantity', width: 120, title: '璁㈠崟鏁�'},
+    {field: 'childWidth', width: 120, title: t('order.width')},
+    {field: 'childHeight', width: 120, title: t('order.height')},
+    {field: 'quantity', width: 120, title: t('order.quantity')},
 
-    {field: 'area', width: 100, title: '闈㈢Н'},
-    {field: 'shape', width: 120, title: '褰㈢姸',},
-    {field: 'remarks', width: 100, title: '澶囨敞'},
+    {field: 'area', width: 100, title: t('order.area')},
+    {field: 'shape', width: 120, title: t('order.shape'),},
+    {field: 'remarks', width: 100, title: t('basicData.remarks')},
   ],//琛ㄥご鎸夐挳
 
   toolbarConfig: {
@@ -260,7 +260,7 @@
         <el-input v-model="form.orderId" :placeholder="$t('order.orderId')" clearable style="width: 130px"></el-input>
         &nbsp;&nbsp;
 
-        <el-button type="primary" @click="getWorkOrder">鏌ヨ</el-button>
+        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
       </el-row>
 
     </div>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/TaskCompletionStatus.vue b/north-glass-erp/northglass-erp/src/views/pp/report/TaskCompletionStatus.vue
index 27f0c94..737b73f 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/TaskCompletionStatus.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/TaskCompletionStatus.vue
@@ -77,14 +77,14 @@
 })
 const columns = [
   {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
-  {field: 'customerName', width: 150, title: '瀹㈡埛鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-  {field: 'project',width: 130, title: '椤圭洰鍚嶇О' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-  {field: 'batch', width: 120,title: '鎵规',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-  {field: 'orderId',width: 110, title: '閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-  {field: 'quantity', width: 90,title: '璁㈠崟鏁伴噺',showOverflow:"ellipsis"},
-  {field: 'area', width: 90,title: '璁㈠崟闈㈢Н'},
-  {field: 'shippedQuantity',width: 90, title: '鍙戣揣鏁伴噺'},
-  {field: 'shippedArea',width: 120, title: '鍙戣揣闈㈢Н'},
+  {field: 'customerName', width: 150, title: t('customer.customerName'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+  {field: 'project',width: 130, title: t('order.project') ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+  {field: 'batch', width: 120,title: t('order.batch'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+  {field: 'orderId',width: 110, title: t('order.orderId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+  {field: 'quantity', width: 90,title: t('order.quantity'),showOverflow:"ellipsis"},
+  {field: 'area', width: 90,title: t('order.area')},
+  {field: 'shippedQuantity',width: 90, title: t('delivery.deliveryQuantity')},
+  {field: 'shippedArea',width: 120, title: t('report.area')},
 ]
 //闇�瑕佸悎骞剁殑鍒�
 let column = [1,2,3]
@@ -95,7 +95,7 @@
   request.post(`/report/taskCompletionStatus/${startTime}/${endTime}`,column).then((res) => {
     if (res.code == 200) {
       if(res.data.data.length===0){
-        ElMessage.warning('鏈煡璇㈠埌姝よ鍗曟暟鎹�')
+        ElMessage.warning(t('report.noDataFoundForThisOrder'))
         return
       }
       gridOptions.columns = JSON.parse(JSON.stringify(columns))
@@ -224,9 +224,9 @@
 <!--            style="width: 130px"></el-input>-->
         <el-date-picker
             v-model="time.date1"
-            end-placeholder="缁撴潫鏃堕棿"
+            :start-placeholder="$t('basicData.startDate')"
+            :end-placeholder="$t('basicData.endDate')"
             format="YYYY/MM/DD"
-            start-placeholder="寮�濮嬫椂闂�"
             style="width: 100px"
             type="daterange"
             value-format="YYYY-MM-DD"
@@ -277,9 +277,9 @@
       <template #toolbar_buttons>
         <vxe-button style="margin-right: 0.5rem"
                     @click="exportExcel('/report/exportTaskCompletionStatus',
-                                          '浠诲姟瀹屾垚鎯呭喌鎶ヨ〃',
+                                          t('report.TaskCompletionStatus'),
                                           time.date1)">
-          瀵煎嚭</vxe-button>
+          {{t('basicData.export')}}</vxe-button>
       </template>
 
     </vxe-grid>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue b/north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue
index b2d6e4d..dac6875 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue
@@ -19,7 +19,7 @@
 })
 
 //宸ュ簭
-const value = ref('鍒囧壊')
+const value = ref(t('machine.edgeGrinding'))
 
 //琛ㄥ熬姹傚拰
 const sumNum = (list, field) => {
@@ -219,35 +219,35 @@
   },//琛ㄥご鍙傛暟
   columns: [
     {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
-    {type: 'seq', fixed: "left", title: '鑷簭', width: 40},
+    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 40},
     {
-      field: 'reportingWorkTime', width: 160, title: '鎶ュ伐鏃堕棿',
+      field: 'reportingWorkTime', width: 160, title: t('reportingWorks.reportingWorkTime'),
     },
     {
       field: 'thisProcess',
       width: 100,
-      title: '鎶ュ伐宸ュ簭',
+      title: t('reportingWorks.reportingProcess'),
       showOverflow: "ellipsis",
       filters:[{ data: '' }],slots: { filter: 'num1_filter' }
     },
     {
-      field: 'teamsGroupsName', width: 100, title: '鎶ュ伐鐝粍',filters:[{ data: '' }],slots: { filter: 'num1_filter' }
+      field: 'teamsGroupsName', width: 100, title: t('reportingWorks.teamsType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }
     },
     {
-      field: 'project', width: 120, title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }
+      field: 'project', width: 120, title: t('order.project'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }
     },
     {
-      field: 'processId', width: 140, title: '娴佺▼鍗″彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }
+      field: 'processId', width: 140, title: t('processCard.processId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }
     },
-    {field: 'orderNumber', width: 60, title: '搴忓彿'},
-    {field: 'width', width: 100, title: '瀹�'},
-    {field: 'height', width: 100, title: '楂�'},
-    {field: 'shape', width: 90, title: '褰㈢姸'},
-    {field: 'thickness', width: 90, title: '鍘氬害',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'edgingType', width: 110, title: '纾ㄨ竟绫诲瀷',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'completedQuantity', width: 90, title: '瀹屽伐鏁伴噺'},
-    {field: 'area', width: 100, title: '瀹屽伐闈㈢Н'},
-    {field: 'productName', width: 150, title: '浜у搧鍚嶇О'},
+    {field: 'orderNumber', width: 60, title: t('order.OrderNum')},
+    {field: 'width', width: 100, title: t('order.width')},
+    {field: 'height', width: 100, title: t('order.height')},
+    {field: 'shape', width: 90, title: t('order.shape')},
+    {field: 'thickness', width: 90, title: t('order.totalThickness'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'edgingType', width: 110, title: t('order.edgingType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'completedQuantity', width: 90, title: t('reportingWorks.completedQuantity')},
+    {field: 'area', width: 100, title: t('reportingWorks.completedArea')},
+    {field: 'productName', width: 150, title: t('order.product')},
   ],//琛ㄥご鎸夐挳
 
   toolbarConfig: {
@@ -285,12 +285,12 @@
 function exportExcel(url, fileName,date) {
   let processes = value.value
   if(date===null){
-    ElMessage.warning("璇峰厛閫夋嫨鏃ユ湡")
+    ElMessage.warning(t('report.pleaseSelectADateFirst'))
     return
   }
 
   if(processes===null){
-    ElMessage.warning("璇峰厛閫夋嫨宸ュ簭")
+    ElMessage.warning(t('report.pleaseSelectAProcessFirst'))
     return
   }
 
@@ -299,7 +299,7 @@
   const timeDiff = Math.abs(date2.getTime() - date1.getTime());
   const daysDiff = timeDiff / (1000 * 3600 * 24);
   if(Math.floor(daysDiff)>180){
-    ElMessage.warning("瀵煎嚭鐨勭瓫閫夋椂闂翠笉鑳借秴杩�180澶�")
+    ElMessage.warning(t('report.theFilteringTimeForExportCannotExceed180Days'))
     return
   }
   let dataMp = ref({
@@ -334,9 +334,9 @@
 
         <el-date-picker
             v-model="form.date1"
-            end-placeholder="缁撴潫鏃堕棿"
+            :start-placeholder="$t('basicData.startDate')"
+            :end-placeholder="$t('basicData.endDate')"
             format="YYYY/MM/DD"
-            start-placeholder="寮�濮嬫椂闂�"
             style="width: 100px"
             type="daterange"
             value-format="YYYY-MM-DD"
@@ -350,7 +350,7 @@
               :value="item.basic_name"
           />
         </el-select>
-        <el-button type="primary" @click="getWorkOrder">鏌ヨ</el-button>
+        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
       </el-row>
 
     </div>
@@ -383,9 +383,9 @@
       <template #toolbar_buttons>
         <vxe-button style="margin-right: 0.5rem"
                     @click="exportExcel('/report/exportTeamOutput',
-                                          '鐝粍浜ч噺鏄庣粏',
+                                          t('report.teamOutput'),
                                           form.date1)">
-          瀵煎嚭</vxe-button>
+          {{t('basicData.export')}}</vxe-button>
       </template>
 
     </vxe-grid>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue b/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
index 3864d4f..766c1c2 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
@@ -20,7 +20,7 @@
 })
 
 //宸ュ簭
-const value = ref('纾ㄨ竟')
+const value = ref(t('machine.edgeGrinding'))
 
 //琛ㄥ熬姹傚拰
 const sumNum = (list, field) => {
@@ -224,47 +224,47 @@
   },//琛ㄥご鍙傛暟
   columns: [
     {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
-    {type: 'seq', fixed: "left", title: '鑷簭', width: 50},
+    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
     {
-      field: 'thisProcess', width: 120, title: '宸ュ簭', filters: [{data: ''}],
+      field: 'thisProcess', width: 120, title: t('report.workingProcedure'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
       field: 'process_id',
       width: 120,
-      title: '娴佺▼鍗″彿',
+      title: t('processCard.processId'),
       showOverflow: "ellipsis",
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'customer_name', width: 130, title: '瀹㈡埛鍚嶇О', filters: [{data: ''}],
+      field: 'customer_name', width: 130, title: t('customer.customerName'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'project', width: 120, title: '椤圭洰鍚嶇О', filters: [{data: ''}],
+      field: 'project', width: 120, title: t('order.project'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'batch', width: 100, title: '鎵规', filters: [{data: ''}],
+      field: 'batch', width: 100, title: t('order.batch'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
-    {field: 'order_number', width: 100, title: '搴忓彿'},
-    {field: 'technology_number', width: 120, title: '灏忕墖椤哄簭', showOverflow: "ellipsis"},
-    {field: 'shape', width: 100, title: '褰㈢姸'},
-    {field: 'process', width: 120, title: '宸ヨ壓娴佺▼'},
-    {field: 'quantity', width: 120, title: '璁㈠崟鏁�'},
-    {field: 'child_width', width: 120, title: '瀹�'},
-    {field: 'child_height', width: 120, title: '楂�'},
-    {field: 'stockNum', width: 120, title: '搴撳瓨鏁�'},
-    {field: 'stockArea', width: 120, title: '搴撳瓨闈㈢Н'},
-    {field: 'product_name', width: 120, title: '鎴愬搧鍚嶇О'},
-    {field: 'bend_radius', width: 120, title: '寮挗鍗婂緞'},
+    {field: 'order_number', width: 100, title: t('order.OrderNum')},
+    {field: 'technology_number', width: 120, title: t('processCard.technologyNumber'), showOverflow: "ellipsis"},
+    {field: 'shape', width: 100, title: t('order.shape')},
+    {field: 'process', width: 120, title: t('craft.process')},
+    {field: 'quantity', width: 120, title: t('order.quantity')},
+    {field: 'child_width', width: 120, title: t('order.width')},
+    {field: 'child_height', width: 120, title: t('order.height')},
+    {field: 'stockNum', width: 120, title: t('productStock.inventoryQuantity')},
+    {field: 'stockArea', width: 120, title: t('report.inventoryArea')},
+    {field: 'product_name', width: 120, title:  t('order.product')},
+    {field: 'bend_radius', width: 120, title: t('order.bendRadius')},
   ],//琛ㄥご鎸夐挳
 
   toolbarConfig: {
@@ -310,12 +310,12 @@
     inputProject = null
   }
   if(date===null){
-    ElMessage.warning("璇峰厛閫夋嫨鏃ユ湡")
+    ElMessage.warning(t('report.pleaseSelectADateFirst'))
     return
   }
 
   if(processes===null){
-    ElMessage.warning("璇峰厛閫夋嫨宸ュ簭")
+    ElMessage.warning(t('report.pleaseSelectAProcessFirst'))
     return
   }
 
@@ -324,7 +324,7 @@
   const timeDiff = Math.abs(date2.getTime() - date1.getTime());
   const daysDiff = timeDiff / (1000 * 3600 * 24);
   if(Math.floor(daysDiff)>180){
-    ElMessage.warning("瀵煎嚭鐨勭瓫閫夋椂闂翠笉鑳借秴杩�180澶�")
+    ElMessage.warning(t('report.theFilteringTimeForExportCannotExceed180Days'))
     return
   }
   let dataMp = ref({
@@ -361,9 +361,9 @@
 
         <el-date-picker
             v-model="form.date1"
-            end-placeholder="缁撴潫鏃堕棿"
+            :start-placeholder="$t('basicData.startDate')"
+            :end-placeholder="$t('basicData.endDate')"
             format="YYYY/MM/DD"
-            start-placeholder="寮�濮嬫椂闂�"
             style="width: 100px"
             type="daterange"
             value-format="YYYY-MM-DD"
@@ -371,7 +371,7 @@
         &nbsp;&nbsp;
         <el-input v-model="form.orderId" :placeholder="$t('order.orderId')" clearable style="width: 130px"></el-input>
         &nbsp;&nbsp;
-        <el-input v-model="form.project" clearable placeholder="椤圭洰鍚嶇О" style="width: 130px"></el-input>
+        <el-input v-model="form.project" clearable :placeholder="$t('order.project')" style="width: 130px"></el-input>
         &nbsp;
         <el-select v-model="value" clearable default-value="default_city" style="width: 120px">
           <el-option
@@ -381,7 +381,7 @@
               :value="item.basic_name"
           />
         </el-select>
-        <el-button type="primary" @click="getWorkOrder">鏌ヨ</el-button>
+        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
       </el-row>
 
     </div>
@@ -405,9 +405,9 @@
 
       <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
       <template #button_slot="{ row }">
-        <el-button link size="small" type="primary" @click="getTableRow(row,'edit')">缂栬緫</el-button>
-        <el-button link size="small" type="primary" @click="getTableRow(row,'setType')">鍙嶅</el-button>
-        <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">鍒犻櫎</el-button>
+        <el-button link size="small" type="primary" @click="getTableRow(row,'edit')">{{$t('basicData.edit')}}</el-button>
+        <el-button link size="small" type="primary" @click="getTableRow(row,'setType')">{{$t('basicData.cancelReview')}}</el-button>
+        <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">{{$t('basicData.delete')}}</el-button>
       </template>
 
       <template #num1_filter="{ column, $panel }">
@@ -420,9 +420,9 @@
       <template #toolbar_buttons>
         <vxe-button style="margin-right: 0.5rem"
                     @click="exportExcel('/report/exportWorkInProgress',
-                                          '鍦ㄥ埗鍝佹姤琛�',
+                                          t('report.workInProgressReport'),
                                           form.date1)">
-          瀵煎嚭</vxe-button>
+          {{t('basicData.export')}}</vxe-button>
       </template>
 
     </vxe-grid>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue b/north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue
index f9533f8..25f4477 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue
@@ -204,29 +204,29 @@
   },//琛ㄥご鍙傛暟
   columns: [
     {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
-    {type: 'seq', fixed: "left", title: '鑷簭', width: 50},
+    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
     {
-      field: 'process', width: 120, title: '宸ュ簭', filters: [{data: ''}],
+      field: 'process', width: 120, title: t('report.workingProcedure'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
       field: 'order_id',
       width: 120,
-      title: '閿�鍞崟鍙�',
+      title: t('order.orderId'),
       showOverflow: "ellipsis",
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'customer_name', title: '瀹㈡埛鍚嶇О', filters: [{data: ''}],
+      field: 'customer_name', title: t('customer.customerName'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
       field: 'project',
-      title: '椤圭洰鍚嶇О',
+      title: t('order.project'),
       showOverflow: "ellipsis",
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
@@ -234,23 +234,23 @@
     },
 
     {
-      field: 'product_name',  title: '浜у搧鍚嶇О', filters: [{data: ''}],
+      field: 'product_name',  title: t('order.product'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
-      field: 'finishedArea',  title: '瀹屽伐闈㈢Н', filters: [{data: ''}],
+      field: 'finishedArea',  title: t('reportingWorks.completedArea'), filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
     {
       field: 'brokenArea',
-      title: '娆$牬闈㈢Н',
+      title: t('reportingWorks.wornArea'),
       type: 'date',
       attrs: {placeholder: '', type: 'date'},
     },
-    {field: 'area', width: 120, title: '鎬婚潰绉�', showOverflow: "ellipsis"},
-    {field: 'finished', width: 100, title: '鎴愬搧鐜�'},
+    {field: 'area', width: 120, title: t('productStock.totalArea'), showOverflow: "ellipsis"},
+    {field: 'finished', width: 100, title: t('report.finished')},
   ],//琛ㄥご鎸夐挳
 
   toolbarConfig: {
@@ -286,12 +286,12 @@
   let processes = value.value
 
   if(date===null){
-    ElMessage.warning("璇峰厛閫夋嫨鏃ユ湡")
+    ElMessage.warning(t('report.pleaseSelectADateFirst'))
     return
   }
 
   if(processes===null){
-    ElMessage.warning("璇峰厛閫夋嫨宸ュ簭")
+    ElMessage.warning(t('report.pleaseSelectAProcessFirst'))
     return
   }
 
@@ -300,7 +300,7 @@
   const timeDiff = Math.abs(date2.getTime() - date1.getTime());
   const daysDiff = timeDiff / (1000 * 3600 * 24);
   if(Math.floor(daysDiff)>180){
-    ElMessage.warning("瀵煎嚭鐨勭瓫閫夋椂闂翠笉鑳借秴杩�180澶�")
+    ElMessage.warning(t('report.theFilteringTimeForExportCannotExceed180Days'))
     return
   }
   let dataMp = ref({
@@ -332,9 +332,9 @@
       <el-row :gutter="0">
         <el-date-picker
             v-model="form.date1"
-            end-placeholder="缁撴潫鏃堕棿"
+            :start-placeholder="$t('basicData.startDate')"
+            :end-placeholder="$t('basicData.endDate')"
             format="YYYY/MM/DD"
-            start-placeholder="寮�濮嬫椂闂�"
             style="width: 100px"
             type="daterange"
             value-format="YYYY-MM-DD"
@@ -348,7 +348,7 @@
               :value="item.basic_name"
           />
         </el-select>
-        <el-button type="primary" @click="getWorkOrder">鏌ヨ</el-button>
+        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
       </el-row>
 
     </div>
@@ -373,9 +373,9 @@
       <template #toolbar_buttons>
         <vxe-button style="margin-right: 0.5rem"
                     @click="exportExcel('/report/exportYield',
-                                          '鎴愬搧鐜囨姤琛�',
+                                          t('report.yieldReport'),
                                           form.date1)">
-          瀵煎嚭</vxe-button>
+          {{t('basicData.export')}}</vxe-button>
       </template>
 
       <template #num1_filter="{ column, $panel }">
diff --git a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
index a82238d..953e4f2 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -264,7 +264,9 @@
             return new Error((`${row.completedQuantity}+${brokenNum}>${row.quantity}`))
           }
           if(titleUploadData.value.reportingWorkId!=null  && row.completedQuantity<row.minQuantity){
-            return new Error(`璇疯緭鍏ュぇ浜庣瓑浜�${row.minQuantity}鐨勬暟瀛梎)
+            return new Error(`${t('reportingWorks.pleaseGreaterThanOrEqual1')}
+            ${row.minQuantity}
+            ${t('reportingWorks.pleaseGreaterThanOrEqual2')}`)
           }
 
         }
@@ -544,8 +546,8 @@
 
   let reportingWorkNum = isNaN(brokenRow.value.completedQuantity*1)?0:brokenRow.value.completedQuantity*1
   if((breakageQuantityCount>brokenRow.value.quantity*1) ){
-    ElMessage.warning(`鎹熻�楁暟:'${breakageQuantityCount}'
-                               涓嶈兘澶т簬${brokenRow.value.quantity*1}`)
+    ElMessage.warning(`${t('reportingWorks.lossCount1')}':'${breakageQuantityCount}
+                               ${t('reportingWorks.lossCount2')}${brokenRow.value.quantity*1}`)
     return false
   }
   brokenRow.value.completedQuantity = brokenRow.value.quantity-breakageQuantityCount
@@ -641,7 +643,9 @@
 
   for(let item of uniqueByOrderNum){
     if(!checkSameNumForId(notFinishList,item.order_number)){
-      ElMessage.error(`璇锋鏌ヨ鍗曞簭鍙�: ${item.order_number} 鎶ュ伐鏁伴噺鏄惁鐩稿悓锛乣)
+      ElMessage.error(`${t('reportingWorks.pleaseCheckTheOrderNumber1')}':'
+      ${item.order_number}
+       ${t('reportingWorks.pleaseCheckTheOrderNumber1')}`)
       return false
     }
   }
@@ -682,11 +686,11 @@
       router.push({path:'/main/reportingWorks/AddReportingWork',query:{processId:titleUploadData.value.processId,random:Math.random()}})
     }else{
       const errorObj = JSON.parse(res.msg)
-      const msg = "搴忓彿锛�"+errorObj.orderNumber+'\n'
-          +'灏忕墖椤哄簭锛�'+errorObj.technologyNumber+'\n'
-          +"瀹為檯鍙姤宸ユ暟閲忥細"+errorObj.processNum+'<'+
-          "鎶ュ伐鏁伴噺锛�"+errorObj.sumNum+'\n'
-          +"璇峰埛鏂扮晫闈㈤噸鏂版姤宸�"
+      const msg = t('reportingWorks.pleaseNumber1')+"锛�"+errorObj.orderNumber+'\n'
+          +t('reportingWorks.pleaseNumber2')+'锛�'+errorObj.technologyNumber+'\n'
+          +t('reportingWorks.pleaseNumber3')+'锛�'+errorObj.processNum+'<'+
+          +t('reportingWorks.pleaseNumber4')+'锛�'+errorObj.sumNum+'\n'
+          +t('reportingWorks.pleaseNumber5')
 
       ElMessage.error(msg)
     }
@@ -817,7 +821,7 @@
     return
   }
 
-  if (titleSelectJson.value.thisProcessType.indexOf(process) == -1 && process != "鍒囧壊" && titleSelectJson.value.thisProcessType != "") {
+  if (titleSelectJson.value.thisProcessType.indexOf(process) === -1 && process !== t('machine.cutting') && titleSelectJson.value.thisProcessType !== "") {
     ElMessage.warning(t('reportingWorks.thisProcessNotProcessCard'))
     return
   }
@@ -893,11 +897,11 @@
     }
 
     if (item.quantity < item.completedQuantity) {
-      ElMessage.success("搴忓彿" + item.order_number + "鐨勬暟閲忎笉鑳藉ぇ浜庝笂宸ュ簭鏁伴噺")
+      ElMessage.success(t('reportingWorks.pleaseNumber6') + item.order_number + t('reportingWorks.pleaseNumber7'))
 
 
     } else if (item.breakageQuantity * 1 + item.completedQuantity * 1 > item.quantity * 1) {
-      ElMessage.success("璇疯緭鍏ュ簭鍙�" + item.order_number + "姝g‘鐨勫畬宸ユ垨娆$牬鏁伴噺")
+      ElMessage.success(t('reportingWorks.pleaseNumber8') + item.order_number + t('reportingWorks.pleaseNumber9'))
     }
 
     sum = item.completedQuantity * 1 + sum * 1
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/DeliveryPrinting.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/DeliveryPrinting.vue
index 27bb4ff..f9e7e24 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/DeliveryPrinting.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/DeliveryPrinting.vue
@@ -73,6 +73,22 @@
     return
   }
   form.value.deliveryId = props.deliveryId*/
+
+  /*form.value.orderId='NG24060501'
+  request.post(`/Delivery/getSelectOrderPrinting`,form.value).then((res) => {
+    if(res.code==200){
+      produceList.value = deepClone(res.data.data)
+      delivery.value=deepClone(res.data.delivery)
+      money.value=deepClone(res.data.money)
+      console.log(res.data.data)
+
+    }else{
+      ElMessage.warning(res.msg)
+      router.push("/login")
+    }
+  })*/
+
+
   if(route.query.deliveryID===null  || route.query.deliveryID===undefined || route.query.deliveryID===''){
     return
   }
@@ -90,6 +106,8 @@
       router.push("/login")
     }
   })
+
+
 
 })
 
@@ -217,6 +235,120 @@
 
     </div>
   </div>
+
+<!--  <div>
+    <el-button @click="Printing" style="margin-top: -5px"  id="searchButton" type="primary" >鎵撳嵃</el-button>
+
+    <div id="pis" style="width: 100%;height: 100%">
+      <div style="font-size: 30px;text-align: center;font-weight: bold;">甯稿窞甯傚悏鍒╃幓鐠冩湁闄愬叕鍙�</div>
+      <el-row :gutter="20">
+        <el-col :span="7"><div></div></el-col>
+        <el-col :span="10"><div style="font-size: 25px;text-align: center;font-weight: bold;">閿�鍞彂璐у崟</div></el-col>
+        <el-col :span="7">
+          <div style="display: flex;margin-top: 10px;">
+            <div style="font-weight: bold;font-size: 15px">鍙戣揣鍗曞彿锛�</div>
+            <div style="font-weight: bold;font-size: 15px">{{delivery.deliveryId}}</div>
+          </div>
+        </el-col>
+      </el-row>
+      <div style="border: 1px solid #d3dce6;border-collapse: collapse;width: 100%;height: 100%;">
+        <table id="table1" style="border: 1px solid #d3dce6;border-collapse: collapse;width: 100%;height: 100%;">
+          <tr>
+            <th style="text-align: left;border:none;" colspan="3">瀹㈡埛鍚嶇О锛�<span>{{delivery.customerName}}</span></th>
+            <th style="text-align: left;border:none;" colspan="3">椤圭洰鍚嶇О锛�<span>{{delivery.project}}</span></th>
+            <th style="text-align: left;border:none;" colspan="2">鑱旂郴浜猴細<span>{{delivery.contacts}}</span></th>
+
+          </tr>
+          <tr>
+            <th style="text-align: left;border:none;" colspan="6">閫佽揣鍦板潃锛�<span>{{delivery.deliveryAddress}}</span></th>
+            <th style="text-align: left;border:none;" colspan="2">鑱旂郴鐢佃瘽锛�<span>{{delivery.contactNumber}}</span></th>
+
+          </tr>
+          <tr>
+            <th style="width: 6%;">搴忓彿</th>
+            <th style="width: 20%;">妤煎眰缂栧彿</th>
+            <th style="width: 20%;">瀹�(寮у害)*楂�</th>
+            <th style="width: 10%;">鏁伴噺</th>
+            <th style="width: 10%;">闈㈢Н</th>
+            <th style="width: 10%;">鍗曚环</th>
+            <th style="width: 12%;">閲戦</th>
+            <th style="width: 12%;">鍔犲伐瑕佹眰</th>
+          </tr>
+
+          <template v-for="(item, index) in produceList" :key="index" >
+            <tr>
+              <td style="font-size: 15px;font-weight: bold;" colspan="3">浜у搧鍚嶇О:<span>{{item.DeliveryDetail.productName}}</span></td>
+              <td style="font-size: 15px;font-weight: bold;" colspan="3">瀵规柟鍗曞彿:</td>
+              <td style="font-size: 15px;font-weight: bold;" colspan="2">璁㈠崟缂栧彿:<span>{{item.DeliveryDetail.orderId}}</span></td>
+            </tr>
+
+            <tr class="day-in" v-for="(items, index1) in item.DeliveryDetailList" :key="index1">
+              <td>{{items.order_number}}</td>
+              <td>{{items.buildingNumber}}</td>
+              <td style="font-size: 15px;font-weight: bold;">{{items.width}}x{{items.height}}</td>
+              <td>{{items.quantity}}</td>
+              <td>{{items.area}}</td>
+              <td>{{items.price}}</td>
+              <td>{{items.money}}</td>
+              <td>{{items.processingNote}}</td>
+            </tr>
+            <tr class="day-in" >
+              <td style="font-size: 15px;font-weight: bold;" colspan="3">灏忚:</td>
+              <td>{{item.DeliveryDetail.quantity}}</td>
+              <td>{{item.DeliveryDetail.area}}</td>
+              <td></td>
+              <td>{{item.DeliveryDetail.money}}</td>
+              <td></td>
+            </tr>
+
+          </template>
+          <tr class="day-in">
+            <td style="font-size: 15px;font-weight: bold;" colspan="3">鍚堣:</td>
+            <td>{{delivery.quantity}}</td>
+            <td>{{delivery.area}}</td>
+            <td></td>
+            <td>{{delivery.money}}</td>
+            <td></td>
+          </tr>
+          <tr class="day-in">
+            <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6" colspan="3">
+              <div style="display: flex;font-size: 10px;">
+                <div>鍔犲伐璐圭敤</div>
+                <div  style="margin-left: 20%">鍗曚环</div>
+                <div  style="margin-left: 20%">鏁伴噺</div>
+                <div  style="margin-left: 20%">閲戦</div>
+              </div>
+
+            </td>
+            <td style="text-align: left;border:none;font-size: 15px;font-weight: bold;" colspan="5">鎬婚噾棰�:&nbsp;&nbsp;&nbsp;&nbsp;{{delivery.money}}</td>
+          </tr>
+          <tr class="day-in">
+            <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6;" colspan="3"></td>
+            <td style="text-align: left;border:none;font-size: 15px;font-weight: bold;" colspan="5">澶у啓閲戦:&nbsp;&nbsp;&nbsp;&nbsp;{{money}}</td>
+          </tr>
+        </table>
+      </div>
+      <el-row :gutter="20">
+        <el-col :span="3"><div class="bottom">鍒跺崟鍛橈細<span style="font-size: 10px">{{delivery.creator}}</span></div></el-col>
+        <el-col :span="5"><div class="bottom">鍒跺崟鏃ユ湡锛�<span style="font-size: 10px">{{delivery.createTime}}</span></div></el-col>
+        <el-col :span="4"><div class="bottom">鍙戣揣鍛橈細</div></el-col>
+        <el-col :span="4"><div class="bottom">鍙告満锛�</div></el-col>
+        <el-col :span="4"><div class="bottom">瀹㈡埛绛惧瓧锛�</div></el-col>
+        <el-col :span="4"><div class="bottom">绛炬敹鏃ユ湡锛�</div></el-col>
+
+      </el-row>
+      <el-row :gutter="20" style="margin-top: 20px;">
+        <el-col :span="3"><div class="bottom">鏋跺瓙&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;鍙�</div></el-col>
+        <el-col :span="21"><div class="bottom">{{takeCare}}</div></el-col>
+      </el-row>
+      <el-row :gutter="20" style="margin-top: 20px;">
+        <el-col :span="24"><div class="bottom">{{remark}}</div></el-col>
+      </el-row>
+
+
+
+    </div>
+  </div>-->
 </template>
 
 <style>
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
index 076aaa0..53fb105 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
@@ -291,8 +291,8 @@
     <el-date-picker
         v-model="selectDate"
         type="daterange"
-        :start-placeholder="t('basicData.startDate')"
-        :end-placeholder="t('basicData.endDate')"
+        :start-placeholder="$t('basicData.startDate')"
+        :end-placeholder="$t('basicData.endDate')"
         format="YYYY-MM-DD"
         value-format="YYYY-MM-DD"
 
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
index 47adeb3..fcf3cd6 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -337,20 +337,19 @@
                 item=>item.computeArea*1 < errorArea.value*1
             )
             if(errorAreaList.length){
-              ElMessageBox.confirm(
-                  /*t('order.msg.calculationAreaPrompt1')+
-                  ${errorAreaList.length}+
-                  t('order.msg.calculationAreaPrompt2')+
-                  ${errorArea.value}+
-                      t('order.msg.calculationAreaPrompt3')+
-                  ${errorArea.value}+*/
-                      t('order.msg.calculationAreaPrompt4'),
-                  'Warning',
-                  {
-                    confirmButtonText: t('basicData.confirmButtonText'),
-                    cancelButtonText: t('basicData.cancelButtonText'),
-                    type: 'warning',
-                  }
+              ElMessageBox.confirm(`${t('order.msg.calculationAreaPrompt1')}
+                  ${errorAreaList.length}
+                  ${t('order.msg.calculationAreaPrompt2')}
+                  ${errorArea.value}
+                  ${t('order.msg.calculationAreaPrompt3')}
+                  ${errorArea.value}
+                  ${t('order.msg.calculationAreaPrompt4')}`,
+                  t('order.msg.warning'),
+              {
+                confirmButtonText: t('basicData.confirmButtonText'),
+                cancelButtonText: t('basicData.cancelButtonText'),
+                type: 'warning',
+              }
               ).then(()=>{
                 errorAreaComputed()
                 saveOrder(order)
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/sd/DeliveryController.java b/north-glass-erp/src/main/java/com/example/erp/controller/sd/DeliveryController.java
index 0a9d737..1f99810 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/sd/DeliveryController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/sd/DeliveryController.java
@@ -108,6 +108,13 @@
         return Result.seccess(deliveryService.getSelectDeliveryPrinting(deliveryDetail));
     }
 
+    @ApiOperation("璁㈠崟鍙戣揣璁㈠崟鏌ヨ鎺ュ彛")
+    @SaCheckPermission("selectDelivery.search")
+    @PostMapping("/getSelectOrderPrinting")
+    public Result getSelectOrderPrinting( @RequestBody OrderDetail orderDetail){
+        return Result.seccess(deliveryService.getSelectOrderPrinting(orderDetail));
+    }
+
     @ApiOperation("鍙戣揣鏄庣粏鎶ヨ〃")
     @PostMapping("/exportDeliveryDetailReport")
     public void exportDeliveryDetailReport(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
index c94f2a1..20b2ab2 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
@@ -27,9 +27,14 @@
 
     List<DeliveryDetail> getSelectDeliveryPrinting(@Param("deliveryDetail") DeliveryDetail deliveryDetail);
 
+    List<OrderDetail> getSelectOrderPrinting(@Param("orderDetail") OrderDetail orderDetail);
+
     List <Map<String, Object>> getSelectDeliveryDetailPrinting(@Param("deliveryId") String deliveryId,
                                                          @Param("productId") Integer productId,@Param("orderId") String orderId);
 
+    List <Map<String, Object>> getSelectOrderDetailPrinting(@Param("productId") Integer productId,@Param("orderId") String orderId);
+
+
     List<DeliveryDetail> getSelectDeliveryDetailReport(@Param("offset") Integer offset,
                                                       @Param("pageSize") Integer pageSize,String startDate, String endDate,
                                                       @Param("deliveryDetail") DeliveryDetail deliveryDetail);
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryMapper.java
index 13a352b..d5f7793 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryMapper.java
@@ -25,6 +25,8 @@
 
    Delivery getSelectShippingOrderDetailDeliveryPrinting(@Param("deliveryDetail") DeliveryDetail deliveryDetail);
 
+   Order getSelectShippingOrderDetailPrinting(@Param("orderDetail") OrderDetail orderDetail);
+
     Order getSelectShippingOrderDetailDeliverys(@Param("offset") Integer offset,
                                                  @Param("pageSize") Integer pageSize,
                                                  @Param("orderDetail") OrderDetail orderDetail);
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
index 1933568..1edd458 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -366,6 +366,29 @@
 
     }
 
+    public Map<String, Object> getSelectOrderPrinting(OrderDetail orderDetail) {
+        Map<String, Object> map = new HashMap<>();
+        List <Map<String, Object>> list=new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
+        List<OrderDetail> orderDetailList=deliveryDetailMapper.getSelectOrderPrinting(orderDetail);
+        for (OrderDetail detail : orderDetailList) {
+
+            Map<String, Object> itemmap = new HashMap<>();
+            List<Map<String, Object>> deliveryDetailList2 = deliveryDetailMapper.getSelectOrderDetailPrinting(
+                    detail.getProductId(), detail.getOrderId());
+            itemmap.put("DeliveryDetail", detail);
+            itemmap.put("DeliveryDetailList", deliveryDetailList2);
+            list.add(itemmap);
+
+
+        }
+        Order order=deliveryMapper.getSelectShippingOrderDetailPrinting(orderDetail);
+        map.put("data", list);
+        map.put("delivery", deliveryMapper.getSelectShippingOrderDetailPrinting(orderDetail));
+        map.put("money", toChinese(order.getMoney().toString(), false));
+        return map;
+
+    }
+
     public List<DeliveryDetailDTO> exportDeliveryDetailReport(List<LocalDate> dates) {
         return deliveryDetailMapper.exportDeliveryDetailReport(dates);
     }
diff --git a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
index cedcebe..9f40afe 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -887,6 +887,17 @@
         group by od.order_id,od.product_name,od.product_id
     </select>
 
+    <select id="getSelectOrderPrinting"  >
+        select od.order_id,od.product_id,od.product_name,sum(od.area) as area,sum(od.gross_amount) as money,sum(od.quantity) as quantity from
+         order_detail od
+        <where>
+            <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
+                and od.order_id like concat('%',#{orderDetail.orderId},'%')
+            </if>
+        </where>
+        group by od.product_name,od.product_id
+    </select>
+
     <select id="getSelectDeliveryDetailPrinting" >
         select od.order_id,
                od.order_number,
@@ -906,6 +917,23 @@
           and od.product_id = #{productId}
     </select>
 
+    <select id="getSelectOrderDetailPrinting" >
+        select od.order_id,
+               od.order_number,
+               od.product_name,
+               od.width,
+               od.height,
+               od.quantity,
+               od.gross_amount,
+               od.area,
+               ifnull(od.processing_note,"") as processingNote,
+               ifnull(od.remarks,"") as buildingNumber,
+               od.price
+        from  order_detail od
+        where  od.order_id = #{orderId}
+          and od.product_id = #{productId}
+    </select>
+
 
     <select id="exportDeliveryDetailReport">
         select dd.id,
diff --git a/north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml
index 587b1e5..bc3dad1 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml
@@ -216,6 +216,19 @@
         </where>
     </select>
 
+    <select id="getSelectShippingOrderDetailPrinting" >
+        select
+        d.order_id,d.quantity,d.money,d.area,d.project,
+        d.customer_id,d.customer_name,d.creator,d.salesman,d.salesman_id
+        from sd.`order` d
+        <where>
+            <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
+                and d.order_id like concat('%',#{orderDetail.orderId},'%')
+            </if>
+
+        </where>
+    </select>
+
 
     <select id="getSelectShippingOrderDetailDeliverys" >
         select customer_id,customer_name,project,salesman,salesman_id,contacts,contact_number,delivery_address from sd.`order`

--
Gitblit v1.8.0